Q43 — AWS DVA-C02 第1章
第 43/100 問 | ← 第1章
開発者は、アプリケーションをAmazon EC2インスタンスに自動展開するソリューションをコードテンプレートで作成する必要があります。このテンプレートは、展開、インストール、およびアプリケーションの更新を繰り返し実行できるように構成される必要があります。また、テンプレートは複数の環境を作成でき、以前のバージョンへロールバック可能である必要があります。このような要件を満たすソリューションはどれですか?
- A. AWS Amplifyを使用して自動展開テンプレートを作成します。トラフィック分割展開を使用して展開を複製します。必要に応じて、Amplifyが作成したリソースを変更します。
- B. AWS CodeBuildを使用して自動展開を行います。必要なAppSpecファイルテンプレートをアップロードします。AppSpec.ymlファイルをリビジョンのルートディレクトリに保存します。EC2インスタンスを含むデプロイメントグループを指定して展開します。
- C. AWS CloudFormationを使用して、EC2インスタンスを展開するためのJSON形式のインフラストラクチャテンプレートを作成します。CloudFormationヘルパースクリプト(例:UserDataまたはcfn-init)を使用して必要なソフトウェアをインストールし、アプリケーションを起動します。これらのスクリプトをテンプレートから直接呼び出します。 ✓
- D. AWS AppSyncを使用してアプリケーションを展開します。テンプレートをGraphQLスキーマとしてアップロードします。EC2インスタンスをアプリケーション展開先として指定します。リゾルバーをバージョン管理メカニズムとして使用し、展開を更新します。
正解: C. AWS CloudFormationを使用して、EC2インスタンスを展開するためのJSON形式のインフラストラクチャテンプレートを作成します。CloudFormationヘルパースクリプト(例:UserDataまたはcfn-init)を使用して必要なソフトウェアをインストールし、アプリケーションを起動します。これらのスクリプトをテンプレートから直接呼び出します。
解説
選択肢A:AWS Amplifyは主にフロントエンドおよびフルスタックアプリケーションの構築・展開に使用され、EC2インスタンス向けのインフラストラクチャ展開および更新ツールとしては不適切です。また、Amplifyの展開モデルには直接的なロールバック機能や環境作成機能は含まれません。選択肢B:AWS CodeBuildはコードのビルドおよびテストに使用されるサービスであり、インフラストラクチャの展開および管理には使用されません。AppSpecファイルはAWS CodeDeployで使用され、アプリケーション展開には有効ですが、通常はCloudFormationと連携してインフラストラクチャを管理します。選択肢C:AWS CloudFormationはインフラストラクチャ即コード(IaC)サービスであり、EC2インスタンスを含むAWSリソースの作成および管理が可能です。アプリケーションの展開プロセスを定義・再現でき、CloudFormationヘルパースクリプト(UserDataやcfn-initなど)を用いてソフトウェアのインストールおよびアプリケーションの起動が可能です。さらに、CloudFormationはバージョン管理およびロールバック機能をサポートしており、同一環境の作成および以前のバージョンへのロールバックに適しています。選択肢D:AWS AppSyncはGraphQL APIのサービスであり、データクエリおよび同期に使用され、EC2インスタンスの展開およびバージョン管理には使用されません。リゾルバーはデータ処理に使用され、展開のバージョン管理およびロールバックには適用されません。したがって、選択肢Cが最適なソリューションであり、自動化された展開、インストール、更新、環境作成およびバージョンロールバック機能を提供します。 【灯笼考证提供:swufelp1999】