ECS クラスター上のアプリケーションを更新する際、適切なデプロイ戦略を選択することで、ダウンタイムを最小限に抑え、リスクを低減できます。Enterprise Distributed Application Service (EDAS) は、一括リリース、段階的リリース、カナリアリリースという 3 つの更新戦略をサポートしており、それぞれ速度と安全性のトレードオフが異なります。更新によってエラーが発生した場合は、以前のバージョンにロールバックします。
更新戦略の選択
| 更新戦略 | 使用シーン | 仕組み | 更新中の容量 | 問題が発生した場合 | 利用可能なメソッド |
|---|---|---|---|---|---|
| 一括リリース | インスタンス数が少ない、またはサービスアーキテクチャがシンプルな場合 | すべてのインスタンスに新しいバージョンを同時にデプロイします | すべてのインスタンスが 1 つのバッチで更新されます | アプリケーションを以前のバージョンにロールバックします | コンソール、API、プラグイン、またはツール |
| 段階的リリース | インスタンス数が多い、またはサービスアーキテクチャが複雑な場合 | 新しいバージョンをバッチでデプロイします。すべてのインスタンスで新しいバージョンが実行されるまで、フェーズごとに少数のインスタンスのみが更新されます | 部分的に低下します。更新されるのは現在のバッチのみです | リリースプロセスを停止し、アプリケーションをロールバックします。エラーを修正してから、再度リリースします | コンソール、API、プラグイン、またはツール |
| カナリアリリース | 完全なロールアウトの前に新しいバージョンの検証が必要な場合 | 最初に少数のインスタンスに新しいバージョンをデプロイします。検証が成功した後、残りのすべてのインスタンスを更新します | ほとんど影響はありません。最初に更新されるのはカナリアインスタンスのみです | アプリケーションを以前のバージョンにロールバックします | コンソール |
アプリケーションの更新
戦略を選択し、対応するガイドに従ってください。
一括リリース
段階的リリース
カナリアリリース
アプリケーションのロールバック
更新中または更新後にエラーが発生した場合は、アプリケーションを以前のバージョンにロールバックします。エラーを修正してから、再度更新してください。
| シナリオ | アクション |
|---|---|
| エラーが更新中に発生 | 更新プロセスを停止し、直ちにロールバックします |
| エラーが更新完了後に発生 | 完了したデプロイメントを以前のバージョンにロールバックします |
手順の詳細については、「EDAS コンソールを使用した ECS クラスターでのアプリケーションのロールバック」をご参照ください。