翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
レシピを使用したスクリプトの実行
重要
AWS OpsWorks Stacks は新規顧客を受け付けなくなりました。既存のお客様は、2024 年 5 月 26 日までは、通常どおり OpsWorks コンソール、API、CLI、および CloudFormation リソースを使用できます。その時点で廃止されます。この移行に備えて、できるだけ早くスタックを AWS Systems Manager に移行することをおすすめします。詳細については、「AWS OpsWorks Stacks サポート終了に関する FAQ」および「AWS Systems Manager アプリケーションマネージャへの AWS OpsWorks Stacks アプリケーションの移行」を参照してください。
必要なカスタマイズタスクを実行するスクリプトがすでにある場合、通常、レイヤーを拡張する最も簡単な方法は、スクリプトを実行する簡単なレシピを実装することです。その後、適切なライフサイクルイベント (通常は Setup または Deploy) にレシピを割り当てることも、execute_recipes
スタックコマンドを使用してレシピを手動で実行することもできます。
次の例では Linux インスタンスでシェルスクリプトを実行しますが、Windows スクリプトを含む他のタイプの PowerShell スクリプトでも同じアプローチを使用できます。
cookbook_file "/tmp/lib-installer.sh" do source "lib-installer.sh" mode 0755 end execute "install my lib" do command "sh /tmp/lib-installer.sh" end
cookbook_file
リソースは、クックブックの files
ディレクトリのサブディレクトリに保存されたファイルを表します。このファイルはインスタンスの指定した場所に転送されます。この例では、シェルスクリプト lib-installer.sh
をインスタンスの /tmp
ディレクトリに転送し、ファイルのモードを 0755
に設定します。詳細については、「cookbook_file
execute
リソースは、シェルコマンドなどのコマンドを表します。この例では lib-installer.sh
を実行します。詳細については、「execute
スクリプトをレシピに組み込んで実行することもできます。次の例では Bash スクリプトを実行しますが、Chef では Csh、Perl、Python、Ruby もサポートしています。
script "install_something" do interpreter "bash" user "root" cwd "/tmp" code <<-EOH #insert bash script EOH end
script
リソースはスクリプトを表します。この例では Bash インタープリタを指定し、ユーザーを "root"
に、作業ディレクトリを /tmp
にそれぞれ設定します。次に、code
ブロックで Bash スクリプトを実行します。このブロックには、行を必要な数だけ含めることができます。詳細については、「script
レシピを使用してスクリプトを実行する方法の詳細については、「例 7: コマンドとスクリプトの実行」を参照してください。Windows インスタンスで PowerShell スクリプトを実行する方法の例については、「」を参照してくださいWindows PowerShell スクリプトの実行。