2021年3月、AWSで大阪がフルリージョンになり国内でマルチリージョン対応が可能なりました。https://aws.amazon.com/jp/local/osaka-region/
Active-Standbyの構成で、各AWSサービスをマルチリージョン対応している(機能があるもの)ものは積極的に利用しました。
マルチリージョン対応に利用したサービス
S3
クロスリージョンレプリケーション
- バージョニングを有効化が必要
- 別リージョンでなくてもルールに沿って別バケットにレプリケーション可能
- レプリケーションが開始されるのはルール設定後となり、既存オブジェクトのレプリケーションはサポートケースへ問い合わせが必要
https://aws.amazon.com/jp/blogs/news/replicating-existing-objects-between-s3-buckets/
KMS
マルチリージョンキー
- arn はリージョンの部分のみ異なる
- それぞれキーポリシーが設定可能
- 各リージョンでencryptしたものが、それぞれのリージョンのKMSでdecrypt可能
RDS
Aurora Global Database
各リージョンのクラスタにはそのリージョンからしか通信しないように運用しています。
東京 → 東京 / 大阪 → 大阪
必要に応じてプライマリクラスタを切り替える、コンソールからフェイルオーバーの操作が可能です。
ごくまれに、Aurora Global Database のプライマリ AWS リージョンで予期しない停止が発生することがあります。この場合、プライマリ Aurora DB クラスターとその読み取りノードを使用できなくなり、プライマリクラスターとセカンダリクラスター間のレプリケーションが停止します。ダウンタイム (RTO) とデータ損失 (RPO) の両方を最小限に抑えるため、迅速に作業を行ってリージョン間のフェイルオーバーを実行し、Aurora Global Database を再構築できます。
https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/aurora-global-database-disaster-recovery.html#aurora-global-database-failover
セカンダリクラスタはリードオンリーにしています。
セカンダリクラスタを 0インスタンスにでき、開発環境のコスト削減などに有効です。
ECR
クロスリージョンレプリケーション
- ECRにpushされたタイミングでルールに沿って別リージョンへレプリケーション可能
- ルールはリポジトリ名のプレフィクス
AMI
リージョン間のコピー
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/CopyingAMIs.html#copy-amis-across-regions
コンソールから手動 or CIに組み込む
DynamoDB
グローバルテーブル
https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GlobalTables.html
他大阪リージョンのはまったところ
- SSM用のVPCエンドポイントが存在しなかったこと
→ インターネット経由に調整し対応