0.はじめに
この記事はAWS DVA試験勉強のための、 Deployment Preference Typeに関する知識のまとめです。
1.Deployment Preference Typeとは
AWSのDeployment Preference Typeは、AWS CodeDeploy を使用してアプリケーションをデプロイする際に、デプロイの戦略や手法を選択するための設定です。これにより、デプロイ時のアプリケーションの可用性、リスク管理、ダウンタイムの最小化などを調整することができます。
1.1. All-at-Once
全てのインスタンスに一度に新しいアプリケーションバージョンをデプロイします。
最速でデプロイを完了できますが、エラーが発生した場合は全てのインスタンスに影響が及びます。
ダウンタイムが発生する可能性があるため、可用性が高いシステムには不向きです。
1.2. Rolling
インスタンスのグループ(バッチ)ごとに順番にデプロイを行います。
ダウンタイムを最小限に抑え、デプロイ中も一部のインスタンスは常に稼働を維持できます。
デプロイ時間は長くなる可能性がありますが、全体のリスクは低減されます。
1.3.Rolling with Additional Batch
ローリングデプロイと似ていますが、追加のバッチを使用して、デプロイ中のキャパシティを維持します。
新しいバージョンのデプロイ中も、古いバージョンが稼働するインスタンスをより多く確保することで、可用性を向上させます。
1.4.Canary
デプロイを段階的に進め、まず一部のインスタンスにデプロイを行い、問題がないことを確認してから残りのインスタンスにデプロイを行います。
問題が発生した場合は、迅速に変更をロールバックできるため、リスクを低減します。
ダウンタイムを避けながら、慎重にデプロイを行いたい場合に適しています。
1.5.Linear
時間の経過とともに一定の割合で順次デプロイを行います。
デプロイの進行が一定であるため、計画的な展開が可能です。
1.6. Blue/Green
新しいバージョン(グリーン環境)を別の環境で完全にデプロイしてから、トラフィックを新しい環境に切り替えます。
ダウンタイムを最小限に抑え、リスクを低減しますが、追加のリソースが必要になることがあります。