Skip to content

EMQX Backup Sync

このプラグインは、既存のデータバックアップAPIを使用して、プライマリEMQXクラスターからセカンダリEMQXクラスターへ選択されたバックアップデータを定期的に同期します。

セカンダリクラスターはプライマリクラスターに対してバックアップファイルのエクスポートを要求し、そのファイルをダウンロードしてローカルにアップロードし、インポートします。選択された設定ルートはEMQXの既存の設定インポートのセマンティクスに従ってインポートされます。選択されたMnesiaテーブルセットはスナップショットとしてインポートされるため、セカンダリクラスターにのみ存在するそれらのテーブルセット内のレコードは削除されます。選択されていないルートおよびテーブルセットは変更されません。

設定

各セカンダリクラスターにプラグインをインストールして起動してください。プライマリクラスターにはこのプラグインをインストールする必要はなく、セカンダリクラスターからアクセス可能なDashboardのデータバックアップAPIが必要です。

hocon
primary {
  base_url = "https://primary.example.com:18083/api/v5"
  api_key = "sync-key"
  api_secret = "sync-secret"
  ssl {
    enable = true
    server_name_indication = "primary.example.com"
    verify = "verify_peer"
    cacertfile = "/etc/emqx/certs/primary-ca.pem"
    certfile = ""
    keyfile = ""
  }
}

sync {
  interval = "5m"
  root_keys = [
    "connectors",
    "actions",
    "sources",
    "rule_engine",
    "listeners",
    "schema_registry"
  ]
  table_sets = [
    "banned",
    "builtin_authn",
    "builtin_authz"
  ]
  timeout = "30s"
  retain_remote_backup = false
  retain_backup_after_import = true
}

設定されたAPIキーはプライマリクラスターのデータバックアップエンドポイントへのアクセスが許可されている必要があります。primary.api_keyおよびprimary.api_secretは直接設定するか、file://パス(例:file:///etc/emqx/backup-sync-api-key)として指定できます。

サポートされているsync.root_keysの値はconnectorsactionssourcesrule_enginelistenersschema_registryauthentication、およびauthorizationです。

ルールは一般的にコネクター、アクション、ソース、およびスキーマレジストリのオブジェクトに依存します。rule_engineを依存関係なしで同期すると、インポートに失敗したり、実行時動作が不完全になる可能性があります。セカンダリクラスターに存在しない限り、それらの依存ルートをsync.root_keysに含めてください。

デフォルトでは、同期にはbannedbuiltin_authnbuiltin_authzのテーブルセットも含まれます。これらの選択されたテーブルセットはセカンダリクラスター上で置き換えられます。設定のみの同期が必要な場合はsync.table_sets = []に設定してください。サポートされているsync.table_setsの値はbannedbuiltin_authnbuiltin_authzbuiltin_retainerpsk、およびmtです。プライマリのデータバックアップAPIはAPIキーで呼び出された場合、dashboard_usersapi_keysは含まれません。

CLI

セカンダリノード上で以下のコマンドを使用して、ローカルの同期ワーカーを確認できます。

bash
emqx ctl backup_sync status

このコマンドはローカルノード、ヘルス状態、ワーカー状態、選択されたコアノード、次回の同期予定、および機密情報を含まない同期設定を表示します。

ダウンロード

各EMQXリリースのtarball:

EMQXバージョンプラグインバージョンパッケージ
6.1.30.1.0emqx_backup_sync-0.1.0.tar.gz