翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ステップ 4: LifeCycle イベントにレシピを割り当てる
重要
この AWS OpsWorks Stacks サービスは 2024 年 5 月 26 日にサポート終了となり、新規および既存のお客様の両方で無効になっています。できるだけ早くワークロードを他のソリューションに移行することを強くお勧めします。移行についてご質問がある場合は、 AWS re:Post
カスタムレシピは手動で実行できますが、通常は 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 イベントにカスタムレシピを割り当てるには
-
AWS OpsWorks スタックレイヤーページで、PHP アプリケーションサーバー でレシピ を選択し、編集 を選択します。
-
[Custom Chef Recipes] で、レシピ名を Deploy イベントに追加し、[+] を選択します。名前は、Chef の
形式の名前である必要があります。cookbookname
::recipename
にはrecipename
.rb
拡張子は含まれません。この例では、photoapp::appsetup
と入力します。次に、[Save] を選択してレイヤー設定を更新します。 -
[Layers] (レイヤー) ページで、MySQL レイヤーの [Actions] (アクション) 列で [edit] (編集) を選択します。
-
レイヤーの Deploy イベントに
photoapp::dbsetup
を追加し、新しい設定を保存します。