レプリケーション・チャネルの作成

インバウンド・レプリケーションの場合、レプリケーション・チャネルはソース(MySQLインスタンスまたは別のDBシステム)をレプリカ(DBシステム)に接続し、ソースからレプリカにデータをコピーします。

コンソールの使用

コンソールを使用して、レプリケーション・チャネルを作成します。

このタスクでは次が必要です:
次のステップに従って、レプリケーション・チャネルを作成します。
  1. ナビゲーション・メニューを開き、「データベース」を選択します。「MySQL HeatWave」で、次のいずれかを実行します:
    • 「チャンネル」をクリックし、「チャンネルの作成」をクリックします。
    • 「DBシステム」をクリックし、DBシステムのリストからDBシステムの名前をクリックします。「他のアクション」をクリックし、「チャネルの作成」を選択します。
    • DBシステムと同じ行にある「アクション」メニューをクリックし、「チャネルの作成」を選択します。
  2. 「チャネルの作成」パネルで、次の詳細を指定します:
    • コンパートメントに作成: ターゲットDBシステムと同じコンパートメントにチャネルを作成します。現在のコンパートメント以外のコンパートメントにチャネルを作成する場合は、リストから必要なコンパートメントを選択します。別のコンパートメントを選択しないと、現在のコンパートメントが使用されます。
    • 名前: (オプション)チャネルのわかりやすい表示名を指定します。この名前は、「ターゲットDBシステム」定義で定義された「チャネル名」とは関係ありません。これはチャネルのラベルとしてのみ使用されます。名前を指定しない場合、mysqlchannelYYYYMMDDHHMMSSという形式の名前が生成されます。
    • 作成時に自動的に有効化: チャネルが正常に作成されたときに自動的に開始するかどうかを指定します。これはデフォルトで有効になっています。このオプションを無効にした場合、チャネルを手動で有効にする必要があります。
    • 説明: (オプション)チャネルとその目的についてのわかりやすい説明を指定します。
    • ソース接続: データのレプリケート元のMySQLソースを構成します:
      • ホスト名: MySQLソースのホスト名を指定します。IPアドレスまたは完全修飾ドメイン名を指定できます。
      • ポート: (オプション) MySQLソースがリスニングするポート番号を指定します。デフォルト値は3306です。
      • ユーザー名: MySQLソース・サーバーで作成したアカウントのレプリケーション・ユーザー名を指定します。レプリケーション・チャネルでは、これらの資格証明を使用してソースに接続します。Creating a Replication User on a Source Serverを参照してください。
      • パスワード: レプリケーション・ユーザー・アカウントのパスワードを指定します。
      • SSLモード: 必要なSSLモードを選択します。選択したモードを使用してSSL固有の接続の値がMySQLソースに移入されます。次のいずれかのSSLモードを選択します:
        • 無効(DISABLED): ソースとターゲットの間に暗号化されていない接続を確立します。
        • 必須(REQUIRED): (デフォルト)サーバーで暗号化された接続がサポートされている場合は、暗号化された接続を確立します。暗号化された接続を確立できない場合は、接続の試行が失敗します。
        • 認証局の検証(VERIFY_CA): 「必須」モードと同様に、サーバーが暗号化された接続をサポートしている場合は暗号化された接続を確立し、さらに、ソースで構成された認証局証明書を認証局のX509証明書(PEM)と照合します。認証局のX509証明書をアップロードする必要があります。
        • アイデンティティの検証(VERIFY_IDENTITY): 「認証局の検証」モードと同様に、暗号化された接続を確立し、さらに、ソースのSSL証明書に定義したソースのホスト名を「ホスト名」フィールドで定義したホスト名と照合して検証します。認証局のX509証明書をアップロードする必要があります。
        • 認証局のX509証明書(PEM): ソースの認証局のX509証明書をPEM形式でアップロードできます。これは、「認証局の検証」または「アイデンティティの検証」モードを選択した場合にのみ表示されます。この証明書は、ソースの認証局の証明書を検証するために使用されます。
    • レプリケーション位置: ソースGTID設定を構成します:
      • Source can use GTID auto-positioning (推奨) : システム変数gtid_modeがソースでONに設定されている場合、このオプションを選択します。これは、ソースサーバーが自動配置のためのGTID情報をレプリカに提供できることを意味します。GTIDを参照してください。
      • ソースではGTIDの自動配置を使用できません: システム変数gtid_modeがソースでOFF,OFF_PERMISSIVEまたはON_PERMISSIVEに設定されている場合、このオプションを選択します。これは、ソース・サーバーが自動配置のためにGTID情報をレプリカに提供できないことを意味します。次のオプションを指定して、匿名トランザクションをGTIDを持つトランザクションに変換します。
        ノート

        このオプションは、スタンドアロンおよびHeatWaveが有効なDBシステムに対してのみ選択できます。このオプションは、高可用性DBシステムには使用できません。
        • UUIDの手動指定: 新しいUUIDを生成するか、独自のUUIDに入力します。GTIDsUUID sectionを参照してください。
        • ターゲットDBシステムと同じUUID: ターゲットDB Systemと同じUUIDを使用するには、このオプションを選択します。
        次を指定します:
        • バイナリ・ログ・ファイル名: データベースの変更を記述するイベントを含むバイナリ・ログ・ファイル名を指定します。The Binary Logを参照してください。
        • バイナリ・ログ・オフセット: バイナリ・ログ・ファイル内のバイナリ・ログ・オフセットを指定します。
    • ターゲットDBシステム:データのレプリケート先のDBシステムを構成します。
      • アプリケーション・ユーザー名: (オプション)ターゲットDBシステムのapplierユーザーのユーザー名を指定します。ユーザー名を指定しない場合は、DBシステムの管理者アカウントが使用されます。
      • チャネル名(オプション)レプリケーション・チャネル名を指定します。ターゲットDB Systemは、レプリケーション・チャネルを使用してMySQLソースと通信します。名前を指定しない場合は、replication_channelが使用されます。
      • 主キーのない表: (オプション)レプリケーション・チャネルで主キーのない表の作成および変更を処理する方法を指定します。
        • エラーの生成(RAISE_ERROR): 主キーのない CREATE TABLEまたはALTER TABLEトランザクションをレプリケートするときにエラーが発生します。
        • 許可(ALLOW): 主キーのないCREATE TABLEまたはALTER TABLEトランザクションのレプリケートを許可します。
        • 主キーの生成(GENERATE_IMPLICIT_PRIMARY_KEY): (デフォルト)主キーのないCREATE TABLEまたはALTER TABLEトランザクションのレプリケートを許可し、そのような表にデータを追加するときに新しい主キーを自動的に生成します。
      • レプリケーション遅延: ソースから受信したトランザクションを適用する前にチャネルが待機する時間(秒)を設定します。
      • ターゲットDBシステム: レプリケーション・ターゲットとして使用するDBシステムを選択します。DBシステムの詳細ページから、または「アクション」メニューからチャネルを作成すると、ターゲットDBシステムが自動的に選択され、変更できません。ターゲットDBシステムはページの上部に表示されます。
      • チャネル・フィルタ: (オプション)「チャネル・フィルタ・オプションの表示」をクリックして、チャネルのレプリケーション・フィルタのタイプと値を構成します。チャネル・フィルタ・ルールを参照してください。
        • 共通フィルタ・テンプレート: 使用可能なリストから、ソースと一致するフィルタ・テンプレートを選択します。「タイプ」および「値」に移入する既存のフィルタ・テンプレートを使用できます。
        • タイプ: フィルタ・タイプを選択します。データベースまたは表の無視などの様々なフィルタ・タイプを選択し、データベースをリライトできます。
        • : フィルタ・タイプの値を指定します。共通フィルタ・テンプレートを選択して値を移入することも、新しい値を入力することもできます。
  3. チャネルを作成するには、「チャネルの作成」をクリックします。
    チャネルの作成が開始され、チャネルが「作成中」状態になります。プロビジョニングには数分かかる場合があります。チャネルはこの状態の場合、ソースからターゲットにデータをレプリケートしていません。
  4. (オプション)リソース構成をスタックとして保存するには、「スタックとして保存」をクリックします。後でスタックを使用して、リソース・マネージャ・サービスを介してリソースをインストール、構成および管理できます。スタックの管理を参照してください。

「作成時に自動的に有効」を選択したままにすると、チャネルが正常に作成された直後に「アクティブ」状態になり、ソースからターゲットへのデータのレプリケートが開始されます。

このボックスの選択を解除すると、チャネルは「非アクティブ」状態になります。その場合、チャネルのデータのレプリケートを開始する準備ができたら、チャネルの有効化または無効化のステップに従って有効にします。

チャネル・フィルタ・ルール

レプリケーションのチャネル・フィルタのタイプと値を構成します。

各フィルタ・ルールに含めることができるフィルタ・タイプおよび値は1つのみです。ただし、任意の数のフィルタールールを追加できます。その結果、すべてのフィルタールールが追加されます。たとえば、タイプREPLICATE_DO_DB、フィルタ値mysql1、およびタイプREPLICATE_DO_DB、フィルタ値mysql2を持つ別のフィルタ・ルールを使用してフィルタ・ルールを作成すると、mysql1mysql2の両方のデータベースがレプリケートされます。

表13-1チャネル・フィルタ・ルール

フィルタ・タイプ フィルタ値 詳細
REPLICATE_DO_DB database 指定されたデータベースをレプリケートします。
REPLICATE_IGNORE_DB database 指定されたデータベースのレプリケーションを制限します。
REPLICATE_DO_TABLE database.table データベース内の指定された表をレプリケートします。
REPLICATE_IGNORE_TABLE database.table データベース内の指定された表のレプリケーションを制限します。
REPLICATE_WILD_DO_TABLE database.table 指定したワイルドカード・パターンに一致する表をレプリケートします。
REPLICATE_WILD_IGNORE_TABLE database.table 指定したワイルドカード・パターンに一致する表のレプリケーションを制限します。
REPLICATE_REWRITE_DB from_database->to_database ソースのfrom_databaseto_databaseに変換します。

ワイルドカード・パターン

REPLICATE_WILD_DO_TABLEおよびREPLICATE_WILD_IGNORE_TABLEはワイルドカードをサポートしています。ワイルドカード・パターンには、%および_ワイルドカード文字を含めることができます。%は0文字以上、_は任意の1文字を表します。例:

  • フィルタ・タイプREPLICATE_WILD_DO_TABLEのフィルタ値foo%.bar%は、データベース名がfooで始まり、表名がbarで始まる表のみをレプリケートします。
  • フィルタ・タイプREPLICATE_WILD_DO_TABLEのフィルタ値foo%.%は、データベース名がfooで始まるすべての表をレプリケートします。
  • フィルタ・タイプREPLICATE_WILD_IGNORE_TABLEのフィルタ値foo_.bar_は、データベース名に4文字が含まれ、fooで始まり、表名に4文字が含まれ、barで始まる表を無視します。

データベース名またはREPLICATE_WILD_DO_TABLEまたはREPLICATE_WILD_IGNORE_TABLEの表名でワイルドカード文字を文字どおりに使用する場合は、バックスラッシュ(\)でエスケープします。たとえば、my\_db.top\_90\%です。