ステップ 3.4: レシピを実行する - AWS OpsWorks

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

ステップ 3.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 スタックが適切な時期にレシピを自動的に実行します。

AWS OpsWorks スタックでは、レシピの実行を簡略化する一連のライフサイクルイベントがサポートされています。たとえば、Setup イベントはインスタンスが起動した後で発生し、Deploy イベントはアプリケーションをデプロイするときに発生します。各レイヤーには、各ライフサイクルに関連付けられた一連の組み込みレシピがあります。インスタンスでライフサイクルイベントが発生したときに、エージェントはインスタンスの各レイヤーに関連付けられたレシピを実行します。AWS OpsWorks スタックでカスタムレシピを自動的に実行するには、適切なレイヤーの適切なライフサイクルイベントに追加します。これにより、エージェントは、組み込みレシピが終了した後にこのレシピを実行します。

この例では、MySQL インスタンスに対する dbsetup.rb と、PHP アプリケーションサーバー インスタンスに対する appsetup.rb の 2 つのレシピを実行する必要があります。

注記

cookbook_name::recipe_name 形式を使用して、コンソールでレシピを指定します。ここで、recipe_name に .rb 拡張子は含まれません。例えば、dbsetup.rbphpapp::dbsetup と指定します。

カスタムレシピをライフサイクルイベントに割り当てるには
  1. [Layers] (レイヤー) ページで、MySQL の [Recipes] (レシピ) をクリックし、[Edit] (編集) をクリックします。

  2. [Custom Chef recipes] (カスタムシェフレシピ) セクションで、[Deploy] (デプロイ) に対して phpapp::dbsetup と入力します。

  3. [+] アイコンをクリックしてレシピをイベントに割り当て、[Save] をクリックして新しいレイヤー設定を保存します。

  4. [Layers] (レイヤー) ページに戻り、この手順を繰り返して、phpapp::appsetup[PHP App Server] (PHP アプリケーションサーバー) レイヤーの [Deploy] (デプロイ) イベントに割り当てます。