ステップ 4: LifeCycle イベントにレシピを割り当てる - AWS OpsWorks

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

ステップ 4: LifeCycle イベントにレシピを割り当てる

重要

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

カスタムレシピは手動で実行できますが、通常は AWS OpsWorks スタックで自動的に実行するのが最善の方法です。すべてのレイヤーには、5 つの [lifecycle events] (ライフサイクルイベント) (セットアップ、設定、デプロイ、アンデプロイ、およびシャットダウン) のそれぞれに割り当てられたレシピが組み込まれています。インスタンスでイベントが発生するたびに、 AWS OpsWorks Stacks はインスタンスの各レイヤーに関連するレシピを実行し、必要なタスクを処理します。例えば、インスタンスの起動が完了すると、 AWS OpsWorks スタックは Setup イベントをトリガーして Setup レシピを実行します。通常、これはパッケージのインストールや設定などのタスクを処理します。

AWS OpsWorks スタックは、各レシピを適切なライフサイクルイベントに割り当てることで、レイヤーのインスタンスでカスタムレシピを実行できます。 AWS OpsWorks スタックは、レイヤーの組み込みレシピが完了した後にカスタムレシピを実行します。この例では、 appsetup.rbを PHP アプリケーションサーバーレイヤーの Deploy イベントと dbsetup.rb MySQL レイヤーの Deploy イベントに割り当てます。 AWS OpsWorks スタックは、起動時、組み込みセットアップレシピの完了後、およびビルドされた Deploy レシピの終了後にアプリケーションをデプロイするたびに、関連するレイヤーのインスタンスでレシピを実行します。詳細については、「レシピを自動的に実行する」を参照してください。

レイヤーの Deploy イベントにカスタムレシピを割り当てるには
  1. AWS OpsWorks スタックレイヤーページで、PHP アプリケーションサーバー でレシピ を選択し、編集 を選択します。

  2. [Custom Chef Recipes] で、レシピ名を Deploy イベントに追加し、[+] を選択します。名前は、Chef の cookbookname::recipename 形式の名前である必要があります。recipename には .rb 拡張子は含まれません。この例では、photoapp::appsetup と入力します。次に、[Save] を選択してレイヤー設定を更新します。

  3. [Layers] (レイヤー) ページで、MySQL レイヤーの [Actions] (アクション) 列で [edit] (編集) を選択します。

  4. レイヤーの Deploy イベントに photoapp::dbsetup を追加し、新しい設定を保存します。