翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
レイヤーごとのオペレーティングシステムパッケージのインストール
重要
- AWS OpsWorks Stacks サービスは 2024 年 5 月 26 日にサポート終了となり、新規および既存のお客様の両方で無効になっています。できるだけ早くワークロードを他のソリューションに移行することを強くお勧めします。移行についてご質問がある場合は、 にお問い合わせください。 AWS Support でのチーム AWS re:Post
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