Q98 — AWS DOP-C02 第3章
第 98/100 問 | ← 第3章
ある企業が、単一のAWSリージョンで実行されるアプリケーションを運用しています。このアプリケーションはAmazon Elastic Kubernetes Service(Amazon EKS)クラスター上で実行され、Amazon Aurora MySQLクラスターに接続されています。アプリケーションはAWS CodeBuildプロジェクトでビルドされ、コンテナイメージはAmazon Elastic Container Registry(Amazon ECR)にプッシュされます。企業は、コンテナイメージおよびデータベースの状態を2番目のリージョンにレプリケートする必要があります。これらの要件を最も効率的に満たすソリューションはどれですか?
- A. ECRコンテナイメージを保持するS3バケットに対してAmazon S3クロスリージョンレプリケーション(CRR)を有効化します。2番目のリージョンのEKSクラスターにアプリケーションをデプロイし、Kubernetesデプロイメントファイル内のコンテナイメージを新しいS3バケットのオブジェクトURLで参照します。2番目のリージョンでクロスリージョンAuroraレプリカを設定します。新しいアプリケーションデプロイメントを、クロスリージョンAuroraレプリカのエンドポイントを使用するように設定します。
- B. ECRリポジトリへのイメージプッシュイベントに応答するAmazon EventBridgeルールを作成します。このEventBridgeルールを、新しいECRリポジトリへイメージをコピーするAWS Lambda関数を呼び出すように設定します。Kubernetesデプロイメントファイル内で新しいECRリポジトリを参照して、2番目のリージョンのEKSクラスターにアプリケーションをデプロイします。2番目のリージョンでクロスリージョンAuroraレプリカを設定します。新しいアプリケーションデプロイメントを、クロスリージョンAuroraレプリカのエンドポイントを使用するように設定します。
- C. ECRリポジトリを2番目のリージョンへクロスリージョンレプリケーションするように設定します。Kubernetesデプロイメントファイル内で新しいECRリポジトリを参照して、2番目のリージョンのEKSクラスターにアプリケーションをデプロイします。初期リージョンと2番目のリージョンのクラスターを含むAuroraグローバルデータベースを設定します。新しいアプリケーションデプロイメントを、Auroraグローバルデータベースの2番目のリージョンクラスターのエンドポイントを使用するように設定します。 ✓
- D. CodeBuildプロジェクトを変更し、コンテナイメージを2番目のリージョンのECRリポジトリにもプッシュするようにします。Kubernetesデプロイメントファイル内で新しいECRリポジトリを参照して、2番目のリージョンのEKSクラスターにアプリケーションをデプロイします。2番目のリージョンでAurora MySQLクラスターを設定し、初期リージョンのAurora MySQLクラスターからバイナリログをレプリケートするターゲットとして使用します。新しいアプリケーションデプロイメントを、2番目のリージョンクラスターのエンドポイントを使用するように設定します。
正解: C. ECRリポジトリを2番目のリージョンへクロスリージョンレプリケーションするように設定します。Kubernetesデプロイメントファイル内で新しいECRリポジトリを参照して、2番目のリージョンのEKSクラスターにアプリケーションをデプロイします。初期リージョンと2番目のリージョンのクラスターを含むAuroraグローバルデータベースを設定します。新しいアプリケーションデプロイメントを、Auroraグローバルデータベースの2番目のリージョンクラスターのエンドポイントを使用するように設定します。
解説
Amazon ECRは、コンテナイメージを自動的にターゲットリージョンのECRリポジトリへ同期するクロスリージョンレプリケーション機能をサポートしています。Amazon Auroraグローバルデータベースは、1つのリージョンを読み書き可能プライマリクラスターとし、他のリージョンを読み取り専用レプリカとして跨リージョン展開を可能にし、低遅延のグローバル読み取りおよびディザスタリカバリ機能を提供します。選択肢Cは、ECRのネイティブなクロスリージョンレプリケーション機能を活用してコンテナイメージを2番目のリージョンへ同期し、同時にAuroraグローバルデータベースを用いてデータベースの跨リージョンレプリケーションを実現しています。他の選択肢は、ECRのネイティブ機能を活用していないか、データベースのレプリケーション方式がグローバルデータベースアーキテクチャではなく、効率性または機能面で不十分です。