

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

# OpsWorks スタックライフサイクルイベント
<a name="workingcookbook-events"></a>

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

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

**Setup**  
このイベントは、開始されたインスタンスの起動が終了した後で発生します。Setup stack [コマンド](workingstacks-commands.md)を使用して手動でSetupイベントをトリガーすることもできます。 OpsWorks Stacks は、レイヤーに従ってインスタンスを設定するレシピを実行します。例えば、そのインスタンスが Rails アプリケーションサーバーレイヤーに属している場合、Apache、Ruby Enterprise Edition、Passenger、Ruby on Rails が、Setup レシピによってインストールされます。  
**Setup** イベントは、インスタンスを停止中の状態にします。**Setup** ライフサイクルイベントの実行時はインスタンスが ** オンライン ** 状態でないため、**Setup** イベントを実行するインスタンスはロードバランサーから削除されます。

**Configure**  
このイベントは、以下のいずれかが発生したときに、スタックのすべてのインスタンスで発生します。  
+ インスタンスがオンライン状態に移行したか、オンライン状態から移行した。
+ [Elastic IP アドレスをインスタンスに関連付けた](resources-attach.md#resources-attach-eip)か、[インスタンスから Elastic IP アドレスの関連付けを解除した](resources-detach.md#resources-detach-eip)。
+ [Elastic Load Balancing ロードバランサー](layers-elb.md)をレイヤーにアタッチしたり、レイヤーからデタッチしたりします。
たとえば、スタックにインスタンス A、B、および C があり、新しいインスタンス D を起動するとします。D がセットアップレシピの実行を完了すると、 OpsWorks スタックは A、B、C、および D でConfigureイベントをトリガーします。その後 A を停止すると、 OpsWorks スタックは B、C、および D でConfigureイベントをトリガーします。 OpsWorks スタックは、各レイヤーのConfigureレシピを実行してConfigureイベントに応答します。これにより、インスタンスの設定が更新され、オンラインインスタンスの現在のセットが反映されます。Configure イベントは、設定ファイルを再生成する最適なタイミングと言えます。例えば、HAProxy Configure レシピは、ロードバランサーを再構成して、一連のオンラインアプリケーションサーバーインスタンスにおける変更をすべて反映します。  
[Configure スタックコマンド](workingstacks-commands.md)を使用して、Configure イベントを手動でトリガーすることもできます。

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

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

**Shutdown**  
このイベントは、インスタンスをシャットダウンするように OpsWorks スタックに指示した後、関連付けられた Amazon EC2 インスタンスが実際に終了する前に発生します。 OpsWorks スタックによってサービスのシャットダウンなど、各種クリーンアップタスクを行うレシピが実行されます。  
 Elastic Load Balancing ロードバランサーをレイヤーにアタッチし、[接続ドレイニングのサポートを有効に](layers-elb.md)している場合、 OpsWorks スタックは接続ドレイニングが完了するまで待ってからShutdownイベントをトリガーします。  
Shutdown イベントをトリガーした後、 OpsWorks スタックはタスクを実行するために指定された時間をShutdownレシピに許可し、Amazon EC2 インスタンスを停止または終了します。デフォルトの Shutdown タイムアウト値は 120 秒です。Shutdown レシピでさらに時間が必要な場合は、[レイヤー設定を編集](workinglayers-basics-edit.md#workinglayers-basics-edit-general)してタイムアウト値を変更できます。インスタンス Shutdown の詳細については、「[インスタンスの停止](workinginstances-starting.md#workinginstances-starting-stop)」を参照してください。

**注記**  
[インスタンスを再起動](workinginstances-starting.md#workinginstances-starting-reboot)しても、ライフサイクルイベントはトリガーされません。

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

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

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

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

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

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

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

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

![\[Log entries showing commands, timestamps, and durations for system operations.\]](http://docs.aws.amazon.com/ja_jp/opsworks/latest/userguide/images/instance_logs.png)


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

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