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

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

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

重要

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

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 Recipe 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」を参照してください。