翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ステップ 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 スタックによってレイヤーのインスタンスでカスタムレシピが実行されるようにすることができます。この例では、generate.rb
レシピを Rails アプリケーションサーバーレイヤーの Deploy イベントに割り当てる必要があります。AWS OpsWorksスタックはこれにより、起動時に Setup レシピが完了した後、アプリケーションをデプロイするたびに、レイヤーのインスタンスでこのレシピを実行するようになります。詳細については、「レシピを自動的に実行する」を参照してください。
Rails アプリケーションサーバーレイヤーのデプロイイベントにレシピを割り当てるには
-
AWS OpsWorks スタックの [Layers] (レイヤー) ページで、Rails アプリケーションサーバー の [Recipes] (レシピ) をクリックしてから、[Edit] (編集) をクリックします。
-
[Custom Chef Recipes] で、完全修飾レシピ名を Deploy イベントに追加し、[+] をクリックします。完全修飾レシピ名では、
の形式を使用します。cookbookname
::recipename
にはrecipename
.rb
拡張子は含まれません。この例では、完全修飾名はredis-config::generate
です。次に、[Save] をクリックしてレイヤー設定を更新します。