Q72 — AWS DOP-C02 第2章
第 72/100 問 | ← 第2章
ある企業は、Amazon EC2上でホストされている従来のWebアプリケーションをサーバーレスアーキテクチャに移行しようとしています。現在、新規EC2インスタンスとAuto Scalingグループ、および新しいElastic Load Balancerを用いてアプリケーションをデプロイし、Amazon Route 53のルーティングポリシーでトラフィックを段階的に切り替える計画です。新しいサーバーレスアプリケーションでは、Amazon API GatewayとAWS Lambdaを使用する予定です。これに伴い、デプロイプロセスを更新する必要があります。新機能を全ユーザーに展開する前に、少数のユーザーに対してテストできるようにする必要があります。 これらの要件を満たすデプロイ戦略はどれですか?
- A. AWS CDKを使用してAPI GatewayおよびLambda関数をデプロイします。コードを変更する際には、AWS CloudFormationスタックを更新し、新しいバージョンのAPIおよびLambda関数をデプロイします。金糸雀(カナリア)リリース戦略としてRoute 53のフェイルオーバールーティングポリシーを使用します。
- B. AWS CloudFormationを使用して、Lambda関数のバージョンとともにAPI GatewayおよびLambda関数をデプロイします。コードを変更する際には、新しいLambdaコードでCloudFormationスタックを更新し、APIのバージョンを金糸雀リリース戦略で更新します。テスト完了後に新バージョンを展開します。 ✓
- C. AWS Elastic Beanstalkを使用してAPI GatewayおよびLambda関数をデプロイします。コードを変更する際には、新しいバージョンのAPIおよびLambda関数をデプロイします。Elastic Beanstalkのブルー/グリーンデプロイを使用してトラフィックを徐々に切り替えます。
- D. AWS OpsWorksを使用して、サービス層にAPI Gatewayを、カスタム層にLambda関数をデプロイします。コードを変更する際には、OpsWorksでブルー/グリーンデプロイを実行し、トラフィックを段階的に切り替えます。
正解: B. AWS CloudFormationを使用して、Lambda関数のバージョンとともにAPI GatewayおよびLambda関数をデプロイします。コードを変更する際には、新しいLambdaコードでCloudFormationスタックを更新し、APIのバージョンを金糸雀リリース戦略で更新します。テスト完了後に新バージョンを展開します。
解説
正解はBです。AWS CloudFormationを使用してAPI GatewayおよびLambda関数をデプロイし、Lambda関数のバージョン管理と金糸雀(カナリア)リリース戦略を活用して新機能を段階的に展開することで、少数ユーザーでのテスト機能を保持しつつ、全ユーザーへの段階的展開を実現できます。