Azure Container Apps アプリケーションのライフサイクルは、リビジョンを中心に展開されます。
コンテナー アプリをデプロイすると、最初のリビジョンが自動的に作成されます。
コンテナーの変更時にさらにリビジョンが作成されたり、構成の template セクションに対して調整が行われたりします。
コンテナー アプリには、デプロイ、更新、非アクティブ化、シャットダウンの 4 つのフェーズがあります。
Note
Azure Container Apps ジョブはリビジョンをサポートしていません。 ジョブは直接デプロイおよび更新されます。
展開
コンテナー アプリをデプロイすると、最初のリビジョンが自動的に作成されます。
更新
リビジョン スコープの変更を使用してコンテナー アプリを更新する場合は、新しいリビジョンを作成します。 古いリビジョンを自動的に非アクティブ化するか (単一リビジョン モード)、または使用可能なままにするか (複数リビジョン モード) を選択 できます。
単一リビジョン モードを使用すると、Container Apps によってリビジョンが自動的に切り替わるので 、ダウンタイムなしのデプロイがサポートされます。
非アクティブ化
リビジョンが不要になったら、リビジョンを非アクティブ化し、必要に応じて後で再アクティブ化できます。 非アクティブ化中、リビジョン内のコンテナーは シャットダウンされます。
Shutdown
コンテナーは、次の状況でシャットダウンします。
- コンテナー アプリがスケールインする場合
- コンテナー アプリが削除されたとき
- リビジョンが無効化されたとき
シャットダウンが開始されると、コンテナー ホストは SIGTERM メッセージ をコンテナーに送信します。 コンテナー内のコードは、このオペレーティング システム レベルのメッセージに応答して終了を処理できます。
アプリケーションが 30 秒以内にSIGTERMメッセージに応答しない場合、SIGKILL でコンテナーが終了します。
アプリケーションでシャットダウンを適切に処理できることを確認します。 コンテナーは定期的に再起動されるため、コンテナー内で状態が保持されるとは思わないでください。 コストのかかるメモリ内キャッシュ要件に対しては、外部キャッシュを代わりに使用してください。