コンテンツにスキップ
ホームPT · EN · ES · JA · ZH

クロスアカウント

データベースが一方のアカウントに、データレイクが別のアカウントにある場合、 エクスポートは ソースアカウント側で 実行され、Data Pump のバケットへ直接書き込みます。 生データが 2 回転送されることはなく、スナップショットの共有もコピーも不要です。

これには実務上の利点があります。クラスターが専用の KMS キーを使う必要がありません。 RDS のデフォルトキー(aws/rds)で暗号化されたスナップショットでも動作します。 スナップショットを共有する必要がある方式では成り立たないことです。

ソースアカウントに作成されるもの

Section titled “ソースアカウントに作成されるもの”

エクスポートに必要な最小限のものだけです。

  • スナップショット完成を通知する RDS の イベントサブスクリプション
  • 最小権限の IAM ロール 2 つ。1 つはエクスポート用、もう 1 つはイベント用

そのアカウントにデータが残ることはなく、Data Pump がエクスポートされたスナップショット 以外へのアクセス権を得ることもありません。

2 つのアカウントが相互に参照するため、インストールは 3 段階になります。

ターミナルウィンドウ
sh install-datapump.sh

バケットとエクスポート用のキーを作成し、ステップ 2 で必要になる ARN を出力します。

クラスターをホストしているアカウントの認証情報で実行します。

ターミナルウィンドウ
VERSION=v1.0.0 \
DATAPUMP_ACCOUNT=111122223333 \
DATAPUMP_TOPIC_ARN=arn:...:datapump-rds-snapshot-export-to-s3-prd \
DATAPUMP_BUCKET_ARN=arn:aws:s3:::datapump-datalake-prd \
DATAPUMP_EXPORT_KMS_KEY_ARN=arn:aws:kms:...:key/... \
SOURCE_CLUSTER_IDENTIFIER=meu-cluster \
sh install-source-account.sh

4 つの ARN はステップ 1 の出力から取得します。

ターミナルウィンドウ
sh source-accounts.sh add 444455556666

ステップ 2 で作成したロールに、バケットへの書き込みとキーの使用を許可します。 この手順を省くと、エクスポートは権限エラーで失敗します。

アカウントごとにステップ 2 と 3 を繰り返します。source-accounts.sh はリストを保持し、 すべての認可を再適用します。新しいアカウントを追加しても、既存のものは削除されません。

現在のリストを確認するには次を実行します。

ターミナルウィンドウ
sh source-accounts.sh list

以降は単一アカウントの場合と同じです。Origens(ソース)でクラスターを、 Bancos(データベース)でデータベースを選択します。 取り込みの設定 をご覧ください。

コンソール上では、異なるアカウントにある同名のクラスターを取り違えないよう、 ソースはアカウント付きで識別表示されます。