はじめに
最近、AWSのクロスリージョンレプリケーションに関連するアップデートについて多くあったため、一度自分用の備忘込みでイメージとポイントをまとめてみようと思います。
今回は下記サービスについてまとめます。
- S3
- EFS
- RDS(Aurora)
- DynamoDB
- ECR
S3
イメージ
ポイント
- レプリケーション先でも更新がある場合は、レプリケーション先バケットからレプリケーション元バケットにクロスリージョンレプリケーション設定を有効化する
- レプリケーション先のKMSキーがカスタマー管理のCMKの場合はレプリケーション元バケットで利用するIAMロールへの許可が必要
- レプリケーション先バケットのオブジェクトは更新可能(ReadOnlyではない)
- 設定前にレプリケーション先バケットの作成が必要
- レプリケーション設定は複数のリージョン先を指定可能
(レプリケーション設定を複数作成する) - レプリケーション設定は既に存在するオブジェクトには反映されないため、S3 バッチレプリケーションでのレプリケーションが必要
EFS
イメージ
ポイント
- バックアップとして利用する場合はAWS Backupによるクロスリージョンバックアップを採用し、レプリケーション先リージョンでも参照が必要な場合にクロスリージョンレプリケーションを採用する
- レプリケーション先のファイルは更新不可(ReadOnly)
- 設定時に既存のEFSはレプリケーション先として設定できない
- レプリケーション設定を削除することでレプリケーション先EFSのファイルが編集可能(フェイルオーバー)できる
RDS
RDS Cross-Region Read Replica
イメージ
ポイント
- 通常のリードレプリカと同じく、参照のみ可能
- 複数の AWS リージョンにクロスリージョンリードレプリカを作成できる
- レプリケーションできるDBエンジンのバージョンは限定的である
- リードレプリカインスタンスからクロスリージョンレプリケーションすることはできない
- MariaDB、MySQL、Oracle DB の各インスタンスの場合、クロスリージョンリードレプリカのソース DB インスタンスが削除されると、リードレプリカが昇格する
- VPC のアクセスコントロールリスト (ACL) のエントリ数に制限があるため、5 つを超えるクロスリージョンリードレプリカのインスタンスは保証されない
Aurora グローバルデータベース
イメージ
ポイント
- Secondary DB Clusterで起動するインスタンスのDBでは参照のみ可能
- ストレージベースでのレプリケーションのため、迅速なレプリケーションが可能
- 1つのPrimary DB Clusterに対して最大5つのSecondary DB Clusterが設定可能であり、
レプリケーションできるDBエンジンのバージョンは限定的 - Aurora Serverless v1ではサポートされていない
- マイナーバージョンの自動アップグレードは、Aurora Global Database の一部である Aurora MySQL クラスターや Aurora PostgreSQL クラスターには適用されない
DynamoDB
イメージ
ポイント
- DynamoDB グローバルテーブルには、バージョン 2019.11.21 (現行) と バージョン 2017.11.29 の 2 つのバージョンがある
(ここではバージョン 2019.11.21 (現行)について記載) - グローバルテーブル バージョン 2017.11.29 のリージョンのサポートは、リージョンが限定される
- 既にデータが入力されたテーブルから新しいレプリカテーブルを動的に追加できる
- 有効期限 (TTL) 機能を使用している場合、DynamoDB ではすべてのレプリカテーブルに TTL の削除をレプリケートする
- トランザクションオペレーションは、書き込みが最初に行われたリージョン内でのみ、不可分性、一貫性、分離性、および耐久性 (ACID) を保証する
- レプリカの暗号化に使用されるカスタマーマネージドキーにアクセスできない場合、DynamoDB はこのレプリカをレプリケーショングループから削除する
- バージョン 2017.11.29 からバージョン 2019.11.21 (現行) への更新は元に戻せないため、注意が必要
ECR
イメージ
ポイント
- レプリケーションは、ECR プライベートレジストリレベルで設定する
- レジストリ内のすべてのプライベート ECR リポジトリが、異なるアカウントやリージョンにある複数の他のリポジトリにイメージを自動的にコピーされる
- レジストリ内の特定のプライベートECRリポジトリのみレプリケートしたい場合はFilter設定で特定のリポジトリのみを指定する
- コンテナイメージはメタデータとともにレプリケーションされるが、脆弱性の検出結果はレプリケーションされない
おわりに
かなり個人的な整理でしたが、どなたかの役に立てば幸いです。
参考