レイヤーごとのオペレーティングシステムパッケージのインストール - AWS OpsWorks

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

レイヤーごとのオペレーティングシステムパッケージのインストール

重要

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

Chef 12 からは、カスタムレシピを使用して、さまざまなオペレーティングシステムを実行しているレイヤーでパッケージをインストールする必要があります。この方法により、パッケージのインストールについての最大の柔軟性とコントロールが得られます。

例えば、Linux オペレーティングシステムの 、Ubuntu RedHat、および Amazon バージョンを実行しているレイヤーに Apache をインストールするとします。 RedHat および Amazon Linux の Apache パッケージは と呼ばれますがhttpd、Ubuntu では と呼ばれますapache2

パッケージの命名の違いに対応するために、次の例のレシピで、次のような構文を使用できます。レシピは各オペレーティングシステムに対して適切な Apache パッケージをインストールします。この例は、Chef のドキュメントに基づいています。

package "Install Apache" do case node[:platform] when "redhat", "amazon" package_name "httpd" when "ubuntu" package_name "apache2" end end

package リソースを使用してパッケージを管理する方法の詳細については、Chef のドキュメントのパッケージのページを参照してください。

または、同じ作業をより簡単に達成する Chef レシピ DSL (ドメイン固有言語) の value_for_platform ヘルパーメソッドを使用できます。

package "Install Apache" do package_name value_for_platform( ["redhat", "amazon"] => { "default" => "httpd" }, ["ubuntu"] => { "default" => "apache2" } ) end

value_for_platform ヘルパーメソッドの使用の詳細については、「レシピ DSL について」を参照してください。