すべてのプロダクト
Search
ドキュメントセンター

Serverless App Engine:アプリケーションの段階的リリースの実行

最終更新日:Sep 03, 2024

複数のインスタンスを含むアプリケーションをアップグレードする場合は、ビジネス要件に基づいてカナリアリリースまたは段階的リリースを使用して、アプリケーションインスタンスを異なるバージョンにアップグレードできます。 このトピックでは、段階的リリース方法について説明します。 このトピックでは、アプリケーションの段階的リリースを実行する方法と、アプリケーションをロールバックする方法についても説明します。

前提条件

段階的リリースを実行するアプリケーション内のインスタンスの数が1より大きい。

背景情報

段階的リリースは、アプリケーションインスタンスの新しいバージョンをバッチでデプロイするために使用されます。 段階的なリリース中にエラーが発生した場合は、プロセスを終了してアプリケーションをロールバックできます。 エラーが修正された後、アプリケーションを再度リリースできます。

アプリケーションのインスタンスは、段階的なリリース中にデプロイするために各バッチに均等に割り当てられます。 手動モードまたは自動モードを指定して、各バッチをリリースできます。 インスタンスを各バッチに均等に割り当てることができない場合、最後のバッチに割り当てられたインスタンスの数は、以前の各バッチに割り当てられたインスタンスの数よりも多くなります。

重要 段階的リリースは、複数のインスタンスを含むアプリケーションに対してのみ実行できます。 IntelliJ IDEAを使用し、コマンド引数を指定して1つのインスタンスのみを含むアプリケーションの段階的リリースを実行すると、エラーが報告されます。

手順

警告

アプリケーションを再デプロイすると、アプリケーションは再起動されます。 業務中断などの予測できないエラーを防ぐため、オフピーク時にアプリケーションをデプロイすることを推奨します。

  1. SAEコンソールにログインします。

  2. 左側のナビゲーションウィンドウで、[アプリケーション] をクリックします。 上部のナビゲーションバーで、リージョンを選択します。 次に、アプリケーションの名前をクリックします。

  3. の右上隅に基本情報ページをクリックします。アプリケーションのデプロイ.

  4. 配置パラメーターを設定します。

    説明

    アプリケーションのデプロイ方法は、アプリケーションに対して初めて選択したデプロイ方法に基づいています。 選択した方法に基づいてパラメーターを設定します。

    • WARパッケージを使用したデプロイ: 別のWARパッケージをアップロードするか、新しくデプロイされたWARパッケージのパスを入力し、ランタイム環境およびその他の設定を構成します。

    • JARパッケージを使用したデプロイ: 別のJARパッケージをアップロードするか、新しくデプロイされたJARパッケージのパスを入力し、ランタイム環境およびその他の設定を構成します。

    • ZIPパッケージを使用したデプロイ: 別のZIPパッケージをアップロードするか、新しくデプロイされたZIPパッケージのパスを入力し、ランタイム環境およびその他の設定を構成します。

    • イメージ: [イメージの設定] セクションで、[イメージの変更] をクリックします。 [イメージの変更] パネルで、別のイメージリポジトリまたはイメージバージョンを選択します。

  5. [リリースポリシーの設定] セクションで、段階的リリースを設定します。 下表に、各パラメーターを説明します。
    Configure a phased release policy
    パラメーター説明
    リリースポリシー [フェーズリリース] を選択します。
    リリースバッチインスタンスをリリースするバッチの数。
    バッチモードこのパラメーターは、[バッチのリリース] パラメーターを1より大きい値に設定した場合に必要です。 [自動] または [手動] を選択します。
    バッチ間の間隔このパラメーターは、[バッチのリリース] を1より大きい値に設定し、[バッチモード] パラメーターを [自動] に設定する場合に必要です。 単位は分です。 有効な値: 0 ~ 30。
    バッチ内の間隔各バッチ内のアプリケーションインスタンスの数が1より大きい場合に、バッチ内のアプリケーションインスタンスがデプロイされる時間間隔。 単位は秒です。
    最小使用可能インスタンス

    ローリングアップグレードごとに使用可能なインスタンスの最小数。

    • [番号]: 使用可能なインスタンスの最小数を入力します。 [システム推奨値の使用] を選択した場合、使用可能なインスタンスの最小数は既存のインスタンス数の25% に設定されます。

    • 比率で: パーセンテージを入力します。

    説明
    • アプリケーションのデプロイおよびロールバック中に、少なくとも1つのインスタンスが使用可能であることを確認します。 これにより、ビジネスの継続性が確保されます。 値を0に設定すると、アプリケーションのアップグレード時に業務の中断が発生します。

    • パーセンテージを指定した場合、使用可能なインスタンスの最小数は最も近い整数に切り上げられます。 たとえば、5つのインスタンスが使用可能で、25% を指定します。 この場合、利用可能なインスタンスの最小数は2です。

  6. オプション: ビジネス要件に基づいて詳細設定を構成します。

    Java

    詳細設定

    関連ドキュメント

    スタートアップコマンド設定

    起動コマンドの設定

    Java Tomcatの設定

    Java Tomcatパラメーターの設定

    説明

    Tomcat設定は、[アプリケーションのデプロイ方法] パラメーターが [WARパッケージによるデプロイ] に設定されている場合にのみ構成できます。

    環境変数の設定

    環境変数の設定

    サービスの登録と発見

    ホストのバインド設定

    ホストバインディングの設定

    アプリケーションのヘルスチェック

    アプリケーションヘルスチェックの設定

    アプリケーション送信 /受信インターネットアクセス

    アプリケーションライフサイクル管理

    アプリケーションライフサイクル管理の設定

    ログ収集サービス

    永続ストレージ

    NASストレージの設定

    構成管理

    設定の挿入

    優雅なスタートとシャットダウンのマイクロサービス

    説明

    Application Deployment Methodパラメーターを [WARパッケージでのデプロイ] または [JARパッケージでのデプロイ] に設定し、Application Runtime EnvironmentEDAS-Container-XXXに設定した場合、このセクションは表示されません。

    PHP

    詳細設定

    関連ドキュメント

    php.ini設定ファイルの変更

    PHPアプリケーションの設定ファイルの設定

    スタートアップコマンド設定

    起動コマンドの設定

    環境変数の設定

    環境変数の設定

    サービスの登録と発見

    ホストのバインド設定

    ホストバインディングの設定

    アプリケーションのヘルスチェック

    アプリケーションヘルスチェックの設定

    アプリケーション送信 /受信インターネットアクセス

    アプリケーションライフサイクル管理

    アプリケーションライフサイクル管理の設定

    ログ収集サービス

    永続ストレージ

    NASストレージの設定

    構成管理

    設定の挿入


  7. 設定後、をクリックします。確認.
  8. 次のいずれかの方法で、設定が有効かどうかを確認します。
    • 方法1: [レコードの変更] ページで、アプリケーションの変更の詳細とリリースステータスを表示します。 すべてのバッチが実行されると、アプリケーションはアップグレードされます。
    • 方法2: [基本情報] ページで、[インスタンスのデプロイ情報] タブをクリックして、インスタンスのステータスを表示します。 [ステータス] 列に [実行中] が表示され、インスタンスのバージョンがV2に変更された場合、アプリケーションはデプロイされます。

アプリケーションをロールバックする

カナリアリリースまたは段階的リリース方法を使用してアプリケーションのインスタンスをアップグレードするときに、1つ以上のインスタンスがアップグレードされていない場合、アプリケーションのアップグレードステータスはExecutingです。

例外によりアプリケーションインスタンスの最初のリリースバッチに対して応答が返されない場合は、[詳細の変更] ページで [今すぐロールバック] をクリックして、アップグレードされたインスタンスを以前のバージョンにロールバックし、アップグレード前のアプリケーション設定を元の設定に復元します。

アプリケーション変更プロセス中に例外が発生したためにアプリケーションのアップグレードに失敗した場合 (たとえば、デプロイメントパッケージが使用できない、またはヘルスチェックが失敗した場合) 、SAEはアプリケーションを停止し、アプリケーションをロールバックします。

SAEのアプリケーションのアップグレードプロセスは、完了するまでに約30分かかります。 アップグレードがタイムアウトすると、SAEはタイムアウト例外を報告し、変更プロセスを停止します。 この場合、リリースプロセスを手動で終了し、[詳細の変更] ページでアプリケーションをロールバックする必要があります。

関連ドキュメント

次の表に、SAEにアプリケーションをデプロイした後にアプリケーションで実行できる操作を示します。

操作

関連ドキュメント

アプリケーションの更新、起動、停止、削除、アプリケーションのインスタンスのスケールインまたはスケールアウトなどのライフサイクル管理操作

アプリケーションのライフサイクルの管理

アプリケーションの自動スケーリングポリシーの設定、Server Load Balancer (SLB) インスタンスのアプリケーションへのバインド、バッチでのアプリケーションの起動または停止などのパフォーマンス最適化操作

ログの管理、モニタリング設定の構成、アプリケーションイベントの表示、変更レコードの表示など、アプリケーションのステータスベースの操作