AWS OpsWorks スタックライフサイクルイベント - AWS OpsWorks

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS OpsWorks スタックライフサイクルイベント

重要

この AWS OpsWorks Stacks サービスは 2024 年 5 月 26 日にサポート終了となり、新規および既存のお客様の両方で無効になっています。できるだけ早くワークロードを他のソリューションに移行することを強くお勧めします。移行についてご質問がある場合は、 AWS re:Post または AWS Premium Support を通じて AWS Support チームにお問い合わせください。

各レイヤーには、5 つの一連のライフサイクルイベントがあり、それぞれのイベントに、そのレイヤーに固有の一連のレシピが関連付けられます。レイヤーのインスタンスでイベントが発生すると、一連の適切なレシピが AWS OpsWorks スタックによって自動的に実行されます。これらのイベントにカスタムレスポンスを提供するには、カスタムレシピを実装し、各レイヤーの適切なイベントに割り当てます。 AWS OpsWorks スタックは、イベントの組み込みレシピの後にそれらのレシピを実行します。

Setup

このイベントは、開始されたインスタンスの起動が終了した後で発生します。Setup stack コマンド を使用して手動でSetupイベントをトリガーすることもできます。 AWS OpsWorks Stacks は、レイヤーに従ってインスタンスを設定するレシピを実行します。 スタックコマンドの実行例えば、そのインスタンスが Rails アプリケーションサーバーレイヤーに属している場合、Apache、Ruby Enterprise Edition、Passenger、Ruby on Rails が、Setup レシピによってインストールされます。

注記

Setup イベントは、インスタンスを停止中の状態にします。Setup ライフサイクルイベントの実行時はインスタンスが オンライン 状態でないため、Setup イベントを実行するインスタンスはロードバランサーから削除されます。

Configure

このイベントは、以下のいずれかが発生したときに、スタックのすべてのインスタンスで発生します。

例えば、スタックにインスタンス A、B、および C があり、新しいインスタンス D を起動するとします。D がセットアップレシピの実行を完了すると、 AWS OpsWorks スタックは A、B、C、および D でConfigureイベントをトリガーします。その後 A を停止すると、 AWS OpsWorks スタックは B、C、および D でConfigureイベントをトリガーします。 AWS OpsWorks スタックは各レイヤーのConfigureレシピを実行してConfigureイベントに応答します。これにより、インスタンスの設定が更新され、現在のオンラインインスタンスのセットが反映されます。Configure イベントは、設定ファイルを再生成する最適なタイミングと言えます。例えば、HAProxy Configure レシピは、ロードバランサーを再構成して、一連のオンラインアプリケーションサーバーインスタンスにおける変更をすべて反映します。

Configure スタックコマンドを使用して、Configure イベントを手動でトリガーすることもできます。

Deploy

このイベントは、Deploy コマンドを実行したときに発生します。通常、一連のアプリケーションサーバーインスタンスにアプリケーションをデプロイする目的でこのコマンドが実行されます。アプリケーションとその関連ファイルをリポジトリからレイヤーのインスタンスにデプロイするレシピがインスタンスによって実行されます。例えば、Rails Application Server インスタンスの場合、Deploy レシピは、指定された Ruby アプリケーションをチェックアウトし、Phusion Passenger に対して、それを再ロードするように伝えます。Deploy を他のインスタンスで実行することもできます。たとえば、新しくデプロイされたアプリケーションに応じてそのインスタンスの設定を更新することができます。

注記

Setup には Deploy が含まれます。セットアップの完了後に Deploy レシピが実行されます。

Undeploy

このイベントは、アプリケーションを削除したとき、つまり、Undeploy コマンドを実行して、一連のアプリケーションサーバーインスタンスからアプリケーションを削除したときに発生します。指定したインスタンスによってレシピが実行され、すべてのアプリケーションバージョンが削除されて、必要なクリーンアップ処理が実行されます。

Shutdown

このイベントは、インスタンスをシャットダウンするように AWS OpsWorks スタックに指示した後、関連付けられた Amazon EC2 インスタンスが実際に終了する前に発生します。 AWS OpsWorks スタックによってサービスのシャットダウンなど、各種クリーンアップタスクを行うレシピが実行されます。

Elastic Load Balancing ロードバランサーをレイヤーにアタッチし、Connection Draining のサポートを有効にしている場合、 AWS OpsWorks スタックは Connection Draining が完了するまで待ってからShutdownイベントをトリガーします。

Shutdown イベントをトリガーした後、 AWS OpsWorks Stacks は指定された時間だけShutdownレシピにタスクの実行を許可し、Amazon EC2 インスタンスを停止または終了します。デフォルトの Shutdown タイムアウト値は 120 秒です。Shutdown レシピでさらに時間が必要な場合は、レイヤー設定を編集してタイムアウト値を変更できます。インスタンス Shutdown の詳細については、「インスタンスの停止」を参照してください。

注記

インスタンスを再起動しても、ライフサイクルイベントはトリガーされません。

アプリケーションコマンド Deploy と Undeploy の詳細については、「アプリケーションのデプロイ」を参照してください。

起動されたインスタンスの起動が終了した後の、残りの起動シーケンスは次のとおりです。

  1. AWS OpsWorks スタックは、インスタンスの組み込みSetupレシピを実行し、その後にカスタムSetupレシピを実行します。

  2. AWS OpsWorks スタックは、インスタンスの組み込みDeployレシピを実行し、その後にカスタムDeployレシピを実行します。

    インスタンスがオンライン状態になります。

  3. AWS OpsWorks スタックは、新しく開始されたインスタンスを含む、スタック内のすべてのインスタンスでConfigureイベントをトリガーします。

    AWS OpsWorks スタックは、インスタンスの組み込みConfigureレシピを実行し、その後にカスタムConfigureレシピを実行します。

注記

特定のインスタンスで発生したライフサイクルイベントを確認するには、[Instances] ページにアクセスし、そのインスタンスの名前をクリックして対応する詳細ページを開きます。ページ最下部の [Logs] セクションにイベントが一覧表示されます。[Log] (ログ) 列の [show] (表示) をクリックすると、イベントの Chef ログを確認できます。イベントの処理方法についての詳細な情報 (実行されたレシピを含む) が表示されます。Chef ログの解釈の詳細については、「Chef ログ」を参照してください。

各ライフサイクルイベントについて、 AWS OpsWorks Stacks は、現在のスタック状態と、イベントについてはデプロイに関する情報を含むスタック設定とデプロイ属性のセットを各インスタンスにインストールします。 Deploy属性には、利用可能なインスタンスとその IP アドレスなどの情報が含まれています。詳細については、「スタック設定およびデプロイメント属性」を参照してください。

注記

多数のインスタンスを同時に開始または停止すると、短時間のうちに大量の Configure イベントが生成されます。不要な処理を避けるため、 AWS OpsWorks スタックは最後のイベントにのみ応答します。変更範囲全体についてスタックのインスタンスを更新するために必要な情報はすべて、そのイベントのスタック設定とデプロイメント属性に保存されています。これにより、以前のConfigureイベントも処理する必要がなくなります。 AWS OpsWorks スタックは、未処理のConfigureイベントを置き換えとしてラベル付けします