メインコンテンツまでスキップ

Amazon RDS と Amazon Aurora MySQL の取り込み設定

備考

プレビュー

MySQL コネクタはパブリック プレビュー段階です。アクセスをリクエストするには、Databricks アカウント チームにお問い合わせください。

LakeFlow Connectを使用してAmazon RDS for MySQLとAmazon Aurora MySQLを取り込み用に設定する方法を学習します。 変更データ キャプチャをサポートするには、バイナリ ログを有効にし、バイナリ ログ保持を構成する必要があります。

要件

  • RDS for MySQL : バージョン 5.7.44 以降 (スタンドアロンおよび HA デプロイメントの両方)
  • Aurora MySQL : バージョン 5.7.mysql_aurora.2.12.2 以降 (HA セットアップの場合、サポートはプライマリ インスタンスからのみ)
  • Aurora MySQLサーバレス : サポートされています
  • 変更できる DB クラスターグループ (RDS の場合) または DB クラスタークラスターグループ (Aurora の場合)。

争グループを変更する

バイナリログは、RDS の DB クラスターグループおよび Aurora の DB クラスターグループを通じて制御されます。 安全確保グループを使用している場合は、安全確保グループを変更できないため、カスタムの自信グループを作成する必要があります。

カスタムの争グループを作成します (必要な場合)

大丈夫グループを使用している場合は、カスタム グループを作成します。

  1. AWS マネジメントコンソールにサインインし、RDS コンソールを開きます。
  2. ナビゲーションペインで、 [グループ] を選択します。
  3. 「問題グループの作成」を クリックします。
  4. [問題グループ ファミリ] では、 MySQLバージョン ファミリ (例: mysql8.0 ) を選択します。
  5. [タイプ] で、RDS の場合は DB クラスターグループ 、Aurora の場合は DB クラスター グループ を選択します。 Aurora クラスターの場合は、DB クラスターグループを作成する必要があります。 インスタンス レベルではなく、クラスター レベルで関連付けます。
  6. 問題グループの名前と説明を入力します。
  7. 作成 をクリックします。
  8. カスタムのグループを RDS インスタンスまたは Aurora クラスターに関連付けます。 これにはデータベースの再起動が必要です。

binlog を構成する

カスタムの争グループで次の争点を変更します。

パラメーター

Value

説明

log_bin

この問題は RDS では読み取り専用です。 自動バックアップを有効にすると、バイナリ ログが自動的に有効になります。

バイナリ ログを有効にします。

binlog_format

ROW

バイナリ ログ形式を行ベースのレプリケーションに設定します。チェンジデータキャプチャに必要です。

binlog_row_image

FULL

変更された列だけでなく、すべての列をバイナリ ログに記録します。

これらの問題を変更するには:

  1. RDS コンソールで、カスタムのグループを選択します。
  2. 「編集」 をクリックします。
  3. 各問題を検索し、表に示すようにその値を設定します。
  4. [変更を保存] をクリックします。
  5. 変更を有効にするには、RDS インスタンスまたは Aurora クラスターを再起動します。

バイナリログの保持を設定する

デフォルトでは、RDS と Aurora はストレージスペースを節約するために、バイナリ ログをできるだけ早く消去します。取り込みゲートウェイがログを処理するのに十分な時間、ログが利用可能になるように、binlog の保持期間を構成する必要があります。

保存期間を設定する

binlog の保持期間を設定するには、マスターユーザー認証情報を持つ MySQL クライアントを使用して RDS インスタンスまたは Aurora クラスターに接続し、次のコマンドを実行します。

SQL
-- Set retention to 7 days (168 hours)
-- For RDS MySQL:
CALL mysql.rds_set_configuration('binlog retention hours', 168);

-- For Aurora MySQL:
CALL mysql.rds_set_configuration('binlog retention hours', 168);

Databricks では、binlog の保持期間を 7 日間 (168 時間) にすることを推奨しています。より低い値を設定すると、取り込みゲートウェイがバイナリログを再生する前にバイナリログがクリーンアップされ、すべてのテーブルを完全に更新する必要が生じる可能性があります。

保持設定を確認する

保持設定を確認するには:

SQL
-- For RDS and Aurora:
CALL mysql.rds_show_configuration;

出力例:

+------------------------+-------+--------------------------------------+
| name | value | description |
+------------------------+-------+--------------------------------------+
| binlog retention hours | 168 | binlog retention hours specifies... |
+------------------------+-------+--------------------------------------+

自動バックアップを有効にする

自動バックアップが有効になっていると、RDS および Aurora のバイナリ ログが自動的に有効になります。インスタンスに対して自動バックアップが有効になっていることを確認します。

  1. RDS コンソールで、DB インスタンスまたはクラスターを選択します。
  2. 構成 タブを表示します。
  3. [バックアップ] の下で、 [自動バックアップ][有効] に設定されていることを確認します。
  4. バックアップが無効になっている場合は、 [変更] をクリックし、保持期間が少なくとも 1 日の自動バックアップを有効にします。

binlog設定を確認する

問題グループを変更してデータベースを再起動した後、バイナリ ログが適切に構成されていることを確認します。

SQL
-- Check if binary logging is enabled
SHOW VARIABLES LIKE 'log_bin';

-- Should return:
-- +---------------+-------+
-- | Variable_name | Value |
-- +---------------+-------+
-- | log_bin | ON |
-- +---------------+-------+

-- Check binlog format
SHOW VARIABLES LIKE 'binlog_format';

-- Should return:
-- +---------------+-------+
-- | Variable_name | Value |
-- +---------------+-------+
-- | binlog_format | ROW |
-- +---------------+-------+

-- Check binlog row image
SHOW VARIABLES LIKE 'binlog_row_image';

-- Should return:
-- +------------------+-------+
-- | Variable_name | Value |
-- +------------------+-------+
-- | binlog_row_image | FULL |
-- +------------------+-------+

リードレプリカの制限

  • MySQL コネクタは、Aurora MySQL リードレプリカからの取り込みをサポートしていません。Aurora デプロイメントでは、プライマリ インスタンス (ライター エンドポイント) に接続する必要があります。
  • バックアップが有効になっている場合(つまり、バイナリ ログが有効になっている場合)、RDS でリードレプリカがサポートされます。

ネットワーク構成

RDS インスタンスまたは Aurora クラスターが Databricks からアクセス可能であることを確認します。

  • Databricks IP 範囲からのポート 3306 (またはカスタム MySQL ポート) での受信トラフィックを許可するようにセキュリティ グループを構成します。
  • プライベートサブネットを使用する場合は、適切な VPC ピアリングまたはネットワーク接続を確認してください。
  • 安全な接続のために AWS PrivateLink の使用を検討してください。

次のステップ

管理者は次のいずれかを実行できるようになりました。