Q46 — AWS DOP-C02 第3章
第 46/100 問 | ← 第3章
ある企業はGo言語で書かれた内部アプリケーションを持っています。DevOpsエンジニアはこのアプリケーションをAWSに移行することを検討しています。同社の開発チームはブルー/グリーンデプロイとA/Bテストを有効化したいと考えています。 この要件を満たす解決策はどれですか?
- A. Amazon EC2インスタンス上にアプリケーションをデプロイし、インスタンスのAMIを作成します。AMIを使用してAuto Scalingグループで使用するAuto Scaling起動設定を作成します。ELB(Elastic Load Balancing)を使用してトラフィックを分散します。アプリケーションの変更がある場合、新しいAMIを作成し、これによりEC2インスタンスの更新が開始されます。
- B. Amazon Lightsailを使用してアプリケーションをデプロイします。アプリケーションを圧縮形式でAmazon S3バケットに保存します。この圧縮バージョンを使用してLightsailにアプリケーションの新バージョンをデプロイします。Lightsailのデプロイオプションを使用してデプロイを管理します。
- C. AWS CodeArtifactを使用してアプリケーションコードを保存します。AWS CodeDeployを使用してAmazon EC2インスタンス群にアプリケーションをデプロイします。ELBを使用してEC2インスタンスにトラフィックを分散します。アプリケーションの変更がある場合、CodeArtifactに新しいバージョンをアップロードし、新しいCodeDeployデプロイを作成します。
- D. AWS Elastic Beanstalkを使用してアプリケーションをホストします。アプリケーションの圧縮バージョンをAmazon S3に保存します。この場所を使用してアプリケーションの新バージョンをデプロイします。Elastic Beanstalkを使用してデプロイオプションを管理します。 ✓
正解: D. AWS Elastic Beanstalkを使用してアプリケーションをホストします。アプリケーションの圧縮バージョンをAmazon S3に保存します。この場所を使用してアプリケーションの新バージョンをデプロイします。Elastic Beanstalkを使用してデプロイオプションを管理します。
解説
この問題は、AWSデプロイサービスおよびブルー/グリーンデプロイおよびA/Bテストの実装方法に関する理解を問うものです。AWS公式ドキュメントによると、Elastic Beanstalkはブルー/グリーンデプロイおよびトラフィック配分戦略をサポートしています。選択肢Dは、Elastic Beanstalkでアプリケーションをホストし、S3からコードの圧縮パッケージを直接デプロイし、組み込みのデプロイ戦略機能を使用してバージョン切り替えを実現します。他の選択肢(Aは手動インスタンス更新に依存、BはLightsailはネイティブなトラフィック分割機能を持たず、CはCodeDeployを組み合わせるがフローが複雑)は、ブルー/グリーンおよびA/Bテストの自動化要件を直接満たしません。正解のDはAWSのベストプラクティスに合致します。