Q4 — AWS DOP-C02 第1章
第 4/100 問 | ← 第1章
開発チームが、フルスタックサーバーレスWebアプリケーションを構築しています。このサーバーレスアプリケーションは、バックエンドのREST APIと、シングルページアプリケーション(SPA)フレームワークで構築されたフロントエンドで構成されます。 チームは、Gitベースのワークフローを用いた開発およびデプロイを希望しています。チームは、アプリケーションコードを格納するためにAWS CodeCommitリポジトリを作成しました。複数の開発ブランチを用いて新機能のテストを行いたいと考えています。さらに、開発ブランチ上のコード変更を異なる開発環境にデプロイしたいと考えています。また、mainブランチへのコード変更は、自動的に本番環境にリリースされる必要があります。 開発およびデプロイのタイミングでは、アプリケーションのメインドメインのサブドメインが提供され、このドメインはAmazon Route 53のパブリックホステッドゾーンでホストされています。 DevOpsエンジニアは、これらの要件を満たすために何を行うべきですか?
- A. AWS Amplifyコンソールでアプリケーションを作成し、CodeCommitリポジトリを接続します。各環境に対して機能ブランチデプロイを作成します。Route 53ドメインをアプリケーションに接続し、サブドメインの自動作成を有効化します。 ✓
- B. CodeCommitリポジトリをソースとするAWS CodePipelineパイプラインを作成します。パイプラインを、変更されたブランチに基づいて異なる環境へデプロイするように構成します。ソースブランチ名に基づいて新しいサブドメインを作成するAWS Lambda関数を作成し、デプロイワークフロー内でこのLambda関数を呼び出します。
- C. CodeCommitリポジトリをソースとするAWS Elastic Beanstalkアプリケーションを作成します。Elastic Beanstalkを、変更されたブランチに基づいて新しいアプリケーション環境を作成するように構成します。Route 53ドメインをアプリケーションに接続し、サブドメインの自動作成を有効化します。
- D. CodeCommitリポジトリをソースとする複数のAWS CodePipelineパイプラインを作成します。各パイプラインを、構成されたブランチに基づいて特定の環境へデプロイするように構成します。パイプライン内でAWS CodeDeployステップを構成し、アプリケーションコンポーネントをデプロイし、Route 53パブリックホステッドゾーンを作成します。
正解: A. AWS Amplifyコンソールでアプリケーションを作成し、CodeCommitリポジトリを接続します。各環境に対して機能ブランチデプロイを作成します。Route 53ドメインをアプリケーションに接続し、サブドメインの自動作成を有効化します。
解説
開発者がリポジトリに新しいブランチをプッシュするたびに、AmplifyはGitブランチに基づいて新しいデプロイを自動的に作成します。最初のブランチを接続した後、新しい機能ブランチデプロイを作成できます。通常、mainブランチはリリースコードを追跡し、本番環境のブランチとなります。developブランチは新機能のテスト用の統合ブランチとして使用されます。これにより、ベータテスターは本番ユーザーに影響を与えることなく、developブランチデプロイ上で未リリースの機能をテストできます。また、Amplify Hostingでデプロイしたアプリケーションにはカスタムドメインを接続できます。