開発チームが AWS SAM(Serverless Application Model)を使用して Lambda 関数をデプロイしています。新バージョンのリリース時に、最初の 10 分間は新バージョンへ 10% のトラフィックをシフトし、10 分後に問題がなければ残り 90% を一括で切り替えるカナリアデプロイを実装したいと考えています。SAM テンプレートの `DeploymentPreference` セクションで `Type` に指定すべき値はどれですか?
AWS SAM の DeploymentPreference で `Canary10Percent10Minutes` を指定すると、最初に 10% のトラフィックを新バージョンへ流し、10 分間モニタリングして問題がなければ残り 90% を一括切り替えするカナリア戦略を実現できます。SAM は内部で AWS CodeDeploy を使用してトラフィックシフトを管理し、CloudWatch アラームと組み合わせることで問題検知時の自動ロールバックも設定可能です。 選択肢Aの `Linear10PercentEvery10Minutes` は、10 分ごとに 10% ずつ段階的にシフトするリニア戦略です。残り 90% を一括切り替えするカナリア方式ではないため、今回の要件には合致しません。 選択肢Cの `Canary10Percent5Minutes` は有効な SAM 組み込み設定値のカナリア戦略ですが、最初の 10% を流した後の待機時間が 5 分です。今回の要件は 10 分間の待機が必要なため合致しません。 選択肢Dの `Linear10PercentEvery1Minute` は、1 分ごとに 10% ずつ段階的にシフトするリニア戦略です。残り 90% を一括切り替えするカナリア方式ではないため、今回の要件には合致しません。