複数のインスタンスを含むアプリケーションをアップグレードする場合は、ビジネス要件に基づいてカナリアリリースまたは段階的リリースを使用して、アプリケーションインスタンスを異なるバージョンにアップグレードできます。 このトピックでは、段階的リリース方法について説明します。 このトピックでは、アプリケーションの段階的リリースを実行する方法と、アプリケーションをロールバックする方法についても説明します。
前提条件
段階的リリースを実行するアプリケーション内のインスタンスの数が1より大きい。背景情報
段階的リリースは、アプリケーションインスタンスの新しいバージョンをバッチでデプロイするために使用されます。 段階的なリリース中にエラーが発生した場合は、プロセスを終了してアプリケーションをロールバックできます。 エラーが修正された後、アプリケーションを再度リリースできます。
アプリケーションのインスタンスは、段階的なリリース中にデプロイするために各バッチに均等に割り当てられます。 手動モードまたは自動モードを指定して、各バッチをリリースできます。 インスタンスを各バッチに均等に割り当てることができない場合、最後のバッチに割り当てられたインスタンスの数は、以前の各バッチに割り当てられたインスタンスの数よりも多くなります。
手順
アプリケーションを再デプロイすると、アプリケーションは再起動されます。 業務中断などの予測できないエラーを防ぐため、オフピーク時にアプリケーションをデプロイすることを推奨します。
SAEコンソールにログインします。
左側のナビゲーションウィンドウで、[アプリケーション] をクリックします。 上部のナビゲーションバーで、リージョンを選択します。 次に、アプリケーションの名前をクリックします。
の右上隅に基本情報ページをクリックします。アプリケーションのデプロイ.
配置パラメーターを設定します。
説明アプリケーションのデプロイ方法は、アプリケーションに対して初めて選択したデプロイ方法に基づいています。 選択した方法に基づいてパラメーターを設定します。
WARパッケージを使用したデプロイ: 別のWARパッケージをアップロードするか、新しくデプロイされたWARパッケージのパスを入力し、ランタイム環境およびその他の設定を構成します。
JARパッケージを使用したデプロイ: 別のJARパッケージをアップロードするか、新しくデプロイされたJARパッケージのパスを入力し、ランタイム環境およびその他の設定を構成します。
ZIPパッケージを使用したデプロイ: 別のZIPパッケージをアップロードするか、新しくデプロイされたZIPパッケージのパスを入力し、ランタイム環境およびその他の設定を構成します。
イメージ: [イメージの設定] セクションで、[イメージの変更] をクリックします。 [イメージの変更] パネルで、別のイメージリポジトリまたはイメージバージョンを選択します。
- [リリースポリシーの設定] セクションで、段階的リリースを設定します。 下表に、各パラメーターを説明します。
パラメーター 説明 リリースポリシー [フェーズリリース] を選択します。 リリースバッチ インスタンスをリリースするバッチの数。 バッチモード このパラメーターは、[バッチのリリース] パラメーターを1より大きい値に設定した場合に必要です。 [自動] または [手動] を選択します。 バッチ間の間隔 このパラメーターは、[バッチのリリース] を1より大きい値に設定し、[バッチモード] パラメーターを [自動] に設定する場合に必要です。 単位は分です。 有効な値: 0 ~ 30。 バッチ内の間隔 各バッチ内のアプリケーションインスタンスの数が1より大きい場合に、バッチ内のアプリケーションインスタンスがデプロイされる時間間隔。 単位は秒です。 最小使用可能インスタンス ローリングアップグレードごとに使用可能なインスタンスの最小数。
[番号]: 使用可能なインスタンスの最小数を入力します。 [システム推奨値の使用] を選択した場合、使用可能なインスタンスの最小数は既存のインスタンス数の25% に設定されます。
比率で: パーセンテージを入力します。
説明アプリケーションのデプロイおよびロールバック中に、少なくとも1つのインスタンスが使用可能であることを確認します。 これにより、ビジネスの継続性が確保されます。 値を0に設定すると、アプリケーションのアップグレード時に業務の中断が発生します。
パーセンテージを指定した場合、使用可能なインスタンスの最小数は最も近い整数に切り上げられます。 たとえば、5つのインスタンスが使用可能で、25% を指定します。 この場合、利用可能なインスタンスの最小数は2です。
- オプション: ビジネス要件に基づいて詳細設定を構成します。
- 設定後、をクリックします。確認.
- 次のいずれかの方法で、設定が有効かどうかを確認します。
- 方法1: [レコードの変更] ページで、アプリケーションの変更の詳細とリリースステータスを表示します。 すべてのバッチが実行されると、アプリケーションはアップグレードされます。
- 方法2: [基本情報] ページで、[インスタンスのデプロイ情報] タブをクリックして、インスタンスのステータスを表示します。 [ステータス] 列に [実行中] が表示され、インスタンスのバージョンがV2に変更された場合、アプリケーションはデプロイされます。
アプリケーションをロールバックする
カナリアリリースまたは段階的リリース方法を使用してアプリケーションのインスタンスをアップグレードするときに、1つ以上のインスタンスがアップグレードされていない場合、アプリケーションのアップグレードステータスはExecutingです。
例外によりアプリケーションインスタンスの最初のリリースバッチに対して応答が返されない場合は、[詳細の変更] ページで [今すぐロールバック] をクリックして、アップグレードされたインスタンスを以前のバージョンにロールバックし、アップグレード前のアプリケーション設定を元の設定に復元します。
アプリケーション変更プロセス中に例外が発生したためにアプリケーションのアップグレードに失敗した場合 (たとえば、デプロイメントパッケージが使用できない、またはヘルスチェックが失敗した場合) 、SAEはアプリケーションを停止し、アプリケーションをロールバックします。
SAEのアプリケーションのアップグレードプロセスは、完了するまでに約30分かかります。 アップグレードがタイムアウトすると、SAEはタイムアウト例外を報告し、変更プロセスを停止します。 この場合、リリースプロセスを手動で終了し、[詳細の変更] ページでアプリケーションをロールバックする必要があります。
関連ドキュメント
次の表に、SAEにアプリケーションをデプロイした後にアプリケーションで実行できる操作を示します。
操作 | 関連ドキュメント |
アプリケーションの更新、起動、停止、削除、アプリケーションのインスタンスのスケールインまたはスケールアウトなどのライフサイクル管理操作 | |
アプリケーションの自動スケーリングポリシーの設定、Server Load Balancer (SLB) インスタンスのアプリケーションへのバインド、バッチでのアプリケーションの起動または停止などのパフォーマンス最適化操作 | |
ログの管理、モニタリング設定の構成、アプリケーションイベントの表示、変更レコードの表示など、アプリケーションのステータスベースの操作 |