レシピを使用したスクリプトの実行 - AWS OpsWorks

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

レシピを使用したスクリプトの実行

重要

この AWS OpsWorks Stacks サービスは 2024 年 5 月 26 日にサポート終了となり、新規および既存のお客様の両方で無効になっています。できるだけ早くワークロードを他のソリューションに移行することを強くお勧めします。移行についてご質問がある場合は、 AWS re:Post または AWS Premium Support を通じて AWS Support チームにお問い合わせください。

必要なカスタマイズタスクを実行するスクリプトがすでにある場合、通常、レイヤーを拡張する最も簡単な方法は、スクリプトを実行する簡単なレシピを実装することです。その後、適切なライフサイクルイベント (通常は 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 スクリプトの実行