Q84 — AWS DOP-C02 第1章
第 84/100 問 | ← 第1章
ある企業がGo言語で記述されたオンプレミスアプリケーションを運用しています。DevOpsエンジニアは、このアプリケーションをAWSに移行することを検討しています。同社の開発チームはブルー/グリーンデプロイとA/Bテストを実施したいと考えています。
- A. Amazon EC2インスタンス上にアプリケーションを展開し、インスタンスのAMIを作成します。Auto Scalingグループで使用するAuto Scaling起動設定を作成します。Elastic Load Balancingを使用してトラフィックを分散します。アプリケーションを変更する際には新しいAMIを作成し、EC2インスタンスの更新を開始します。
- B. Amazon Lightsailを使用してアプリケーションを展開します。アプリケーションを圧縮形式でAmazon S3バケットに保存します。この圧縮バージョンを使用してLightsailにアプリケーションの新バージョンをデプロイします。Lightsailのデプロイオプションを使用してデプロイを管理します。
- C. AWS CodeArtifactを使用してアプリケーションコードを保存します。AWS CodeDeployを使用してアプリケーションを一連のAmazon EC2インスタンスにデプロイします。Elastic Load Balancingを使用してEC2インスタンスにトラフィックを分散します。アプリケーションを変更する際には、新バージョンをCodeArtifactにアップロードし、新しいCodeDeployデプロイを作成します。
- D. AWS Elastic Beanstalkを使用してアプリケーションをホストします。アプリケーションの圧縮バージョンをAmazon S3に保存します。その場所を使用してアプリケーションの新バージョンをデプロイします。Elastic Beanstalkのデプロイオプションを使用してデプロイを管理します。 ✓
正解: D. AWS Elastic Beanstalkを使用してアプリケーションをホストします。アプリケーションの圧縮バージョンをAmazon S3に保存します。その場所を使用してアプリケーションの新バージョンをデプロイします。Elastic Beanstalkのデプロイオプションを使用してデプロイを管理します。
解説
AWS Elastic Beanstalkは、ブルー/グリーンデプロイおよびA/Bテストをネイティブにサポートするフルマネージドサービスであり、アプリケーションコードのデプロイと環境管理を簡素化します。Elastic Beanstalkは、S3に保存されたアプリケーションパッケージをデプロイ先として使用でき、デプロイ戦略(例:ブルー/グリーン)を簡単に選択・実行できます。選択肢Aは手動のAMI管理とAuto Scaling構成を必要とし、ブルー/グリーンやA/Bテストの自動化が困難です。選択肢BのLightsailは単純なアプリケーション向けで、高度なデプロイ戦略のサポートが限定されています。選択肢CのCodeDeployは強力ですが、Elastic Beanstalkと比較して設定が複雑で、デプロイ戦略の実装に追加の開発工数がかかります。したがって、最小限の工数で要件を満たす最適なソリューションはDです。