環境と承認済みバージョンの管理
AWS でのデプロイの自動化
Dunieski Otano
Amazon Web Services Solutions Architect
同じコード、3つの環境
Lambda バージョンをステージングから本番に昇格させます
同じアーティファクトを使用し、再ビルドは不要です
API 呼び出し1回で本番エイリアスを更新でき、コードは変更されません
これが「一度ビルドして複数回デプロイする」という考え方です
サービスごとの承認済みバージョン
Lambda
: エイリアスが関数のバージョンを指します
ECR + ECS
: イメージタグとタスク定義のリビジョン
API Gateway
: デプロイを含むステージ
S3
: バージョニングが有効なバケット内のオブジェクトバージョン
Lambda エイリアスの仕組み
バージョンは関数の
不変のスナップショット
です
エイリアスはバージョンへの
名前付きポインター
です
エイリアスを更新してバージョンを
昇格
させます
エイリアスはカナリアリリース向けに
重み付けルーティング
をサポートします
ECR タグと ECS タスク定義
ECR イメージは
ダイジェストごとに不変
です
タグはダイジェストに付く
移動可能なラベル
です
ECS タスク定義は
image:tag
または
@digest
を参照します
本番環境では
ダイジェストで固定
して正確なビットをロックします
API Gateway ステージの概要
ステージは API の
デプロイ
です
各ステージには独自の URL と
デプロイ履歴
があります
次のステージに
API をデプロイ
して昇格させます
ステージ変数は
環境ごとのランタイム値
を保持します
バージョンの昇格
アーティファクトを
1回
ビルドします
開発
で検証し、次に
ステージング
で検証します
本番のエイリアスやタグを更新するだけで、
再ビルドは不要
です
同じアーティファクトがすべての環境で実行されます
設定を分離する
コードは環境間で変わりません
設定
が開発と本番の違いを保持します
ステージ変数、環境変数、
Parameter Store
、
Secrets Manager
アーティファクトに環境の値をハードコーディングしないでください
練習しましょう!
AWS でのデプロイの自動化
Preparing Video For Download...