CodeDeployはEC2などへプログラムなどを配布するサービスになります。
サーバーの台数が少ないうちは手動でもなんとかなりますが、サーバーが増えてくるとオペレーションミスや適用漏れが出てきますので、その処理を自動化するサービスになります。
概要
CodeDeplyが対応できるのはEC2/Lambda/コンテナなど幅広い範囲になります。
デプロイ方法としては、Lambda/ECSの場合はBlue/Greenのみとなります。
Lambda/ECSでIn-Placeを行う場面はよっぽどのことがない限り発生しないと思います。
デプロイする場合は更新する割合を指定します。
1つずつ実施することもできますし、全部を一気に実施することもできます。
リビジョン構成
自動的に配布してくれるということは、AWSのサービスに対して「何のファイルを配布するか」という指示を行う必要があります。
appspec.ymlに設定を記載します。設定する内容としてはファイルのコピー指定(送信元/送信先)やファイルのパーミッション、インストール前後の処理を記載したスクリプト(Hookスクリプト)になります。
リビジョンはS3かGitHubに格納します。
EC2/オンプレミス環境へのデプロイ
対象サーバー上ではCodeDeploy Agentが実行されている必要があります。
Lambda環境へのデプロイ
ECS環境へのデプロイ
ECS環境の場合、新しいターゲットグループが作成されデプロイが正常に完了してからlistenerの向き先を変えているようです。
コメント