Developer Tools

AWS CodeDeploy

EC2・オンプレミス・Lambda・ECSへのアプリケーションデプロイを自動化するサービスです。AIP-C01では主役ではなく、Lambda関数の新バージョンを安全に切り替える選択肢として脇役で出ます。

  • C|周辺
  • D2 実装と統合

ひとことで言うと

EC2/オンプレミスのインスタンス、Lambda 関数、Amazon ECS サービスへのアプリケーションデプロイを自動化するサービスです。

要するに、引っ越しの段取り屋です。荷物(新バージョン)をどれだけの速さで、どの部屋(インスタンスやトラフィック)に運ぶかを、あらかじめ決めたルール通りに進めてくれます。

何に使うか

デプロイ先方式
EC2/オンプレミスインプレース(順次入れ替え)またはブルー/グリーン(新インスタンス群に切替)
Lambda新旧バージョン間のトラフィックシフト(カナリア/リニア/全量一括)
Amazon ECSタスクセットの入れ替え(ブルー/グリーン。カナリア/リニア/全量一括)

試験でどう問われるか

主役では出ません。出るとすれば、Lambda 関数の新バージョンを段階的に、安全に切り替えたいというシナリオの選択肢としてです。

問われ方正解に寄る条件引っかけ
「新しいLambda関数のバージョンを一部トラフィックだけで試したい」カナリア設定(例: CodeDeployDefault.LambdaCanary10Percent5Minutes。最初に10%、5分後に残り90%)全量一括(AllAtOnce)を選んでしまう
「デプロイ失敗時は自動でロールバックしたい」CodeDeploy のデプロイ設定にあるロールバック条件を使う手動での再デプロイ運用を選ぶ

取り違えやすいもの

迷う相手切り分けの一言
CodeBuildCodeBuild は成果物を作る、CodeDeploy はそれを配る
手動でのインスタンス入れ替え自分で作業すると、ロールバック・トラフィック制御・進捗監視を毎回書くことになる。CodeDeploy はこれを設定として定義できる

想起チェック

Q1. Lambda関数のデプロイで「10%だけ試して5分後に残りを切り替える」設定は?

カナリア方式のデプロイ設定です(例: CodeDeployDefault.LambdaCanary10Percent5Minutes)。最初に10%のトラフィックを新バージョンに向け、指定した時間後に残り90%を切り替えます。

出典(AWS公式)