DVAデプロイ

開発者がAWS SAM(Serverless Application Model)を使用してLambda関数をデプロイしています。新バージョンのデプロイ時に、最初の5分間は10%のトラフィックを新バージョンへ流し、CloudWatchアラームがエラー率の上昇を検知した場合に自動ロールバックする仕組みを実装したいと考えています。SAMテンプレートに追加すべき設定はどれですか?

A
Lambda関数リソースに AutoPublishAlias プロパティのみを追加する
AutoPublishAlias はバージョンとエイリアスの自動作成のみを行い、ロールバック機能は持ちません。
B
Lambda関数リソースに DeploymentPreference セクションを追加し、Type を Canary10Percent5Minutes、Alarms に CloudWatchアラームのARNを指定する
✓ 正解
SAMの DeploymentPreference プロパティを使うと、CodeDeployによるLambdaのトラフィックシフトを宣言的に設定できます。Type でCanaryやLinearのデプロイ方式を指定し、Alarms リストにCloudWatchアラームのARNを設定するとアラーム発火時に自動ロールバックが実行されます。
C
SAMテンプレートに AWS::CodeDeploy::DeploymentGroup リソースを直接定義する
SAMテンプレートに AWS::CodeDeploy::DeploymentGroup リソースを直接定義する必要はなく、DeploymentPreference で十分です。
D
Lambda関数のプロビジョニング済み同時実行(Provisioned Concurrency)を設定してトラフィックを段階的に移行する
プロビジョニング済み同時実行はコールドスタート対策であり、トラフィックシフトとは無関係です。

解説

正解: Lambda関数リソースに DeploymentPreference セクションを追加し、Type を Canary10Percent5Minutes、Alarms に CloudWatchアラームのARNを指定する SAMの DeploymentPreference プロパティを使うと、CodeDeployによるLambdaのトラフィックシフトを宣言的に設定できます。Type でCanaryやLinearのデプロイ方式を指定し、Alarms リストにCloudWatchアラームのARNを設定するとアラーム発火時に自動ロールバックが実行されます。 選択肢Aは、AutoPublishAlias はバージョンとエイリアスの自動作成のみを行い、ロールバック機能は持ちません。 選択肢Cは、SAMテンプレートに AWS::CodeDeploy::DeploymentGroup リソースを直接定義する必要はなく、DeploymentPreference で十分です。 選択肢Dは、プロビジョニング済み同時実行はコールドスタート対策であり、トラフィックシフトとは無関係です。

ドメイン別正答率・予想スコアでリアルタイムに実力把握

無限ノックでDVAを徹底対策。全問AI生成のオリジナル問題。

無料で演習を始める →
DVA の問題一覧に戻る