AWS CodeDeployとは
EC2・オンプレミスサーバー・Lambda・ECSへのアプリケーションデプロイを自動化するサービス。appspec.ymlでデプロイライフサイクルフックとファイル配置を定義する。
デプロイ設定はIn-Place(既存インスタンスを順次更新)・Blue/Green(新環境に切り替え)の2戦略をサポート。ロールバックはデプロイ失敗時またはCloudWatchアラームで自動トリガーできる。
試験での問われ方
DVAではIn-PlaceとBlue/Greenのトレードオフ(停止時間・コスト・ロールバック速度)が頻出。デプロイ設定の具体名も問われ、Canary(最初に一部へ流し問題なければ残りを一括、例: Canary10Percent5Minutes)、Linear(一定間隔で少しずつ比率を上げる、例: Linear10PercentEvery1Minute)、AllAtOnce(一括)という挙動の違いを覚える。
対象プラットフォームによって使える戦略が異なる点が引っかけ。EC2/オンプレはIn-PlaceまたはBlue/Greenでエージェント(CodeDeployエージェント)の導入が必要、LambdaとECSはトラフィックの重み付け切り替えによるBlue/Green(Canary/Linear/AllAtOnce)が中心で、ECSのBlue/GreenはCodeDeployとALB(リスナーの切り替え)を組み合わせる、という仕組みがDVAで問われる。
このサービスが登場する演習問題(3問)
- 【DVA-C02】ある企業がAPI GatewayのREST APIとLambdaで構成されたAPIを本番環境に運用している。新機能のデプ…
- 【DVA-C02】ある企業がAmazon ECSのFargateクラスターにマイクロサービスをデプロイしている。新しいタスク定義をデプロイ…
- 【SAP-C02】ある企業が AWS CodePipeline と CodeBuild を使ったデプロイパイプラインを運用していますが、本…