ステップ 4: レシピをライフサイクルイベントに割り当てる - AWS OpsWorks

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

ステップ 4: レシピをライフサイクルイベントに割り当てる

重要

AWS OpsWorks Stacks は新規顧客を受け付けなくなりました。既存のお客様は、2024 年 5 月 26 日までは OpsWorks コンソール、 API、 CLI、および CloudFormation リソースを通常どおり使用できますが、その時点でこれらのリソースは廃止されます。この移行に備えて、できるだけ早くスタックを AWS Systems Manager に移行することをおすすめします。詳細については、AWS OpsWorks Stacks サポート終了に関する FAQ および AWS Systems Manager アプリケーションマネージャへの AWS OpsWorks Stacks アプリケーションの移行 を参照してください。

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

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

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

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

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

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