AWS OpsWorks スタックのカスタマイズ - AWS OpsWorks

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

AWS OpsWorks スタックのカスタマイズ

重要

AWS OpsWorks Stacks は新規顧客を受け付けなくなりました。既存のお客様は、2024 年 5 月 26 日までは、通常どおり OpsWorks コンソール、API、CLI、および CloudFormation リソースを使用できます。その時点で廃止されます。この移行に備えて、できるだけ早くスタックを AWS Systems Manager に移行することをおすすめします。詳細については、「AWS OpsWorks Stacks サポート終了に関する FAQ」および「AWS Systems Manager アプリケーションマネージャへの AWS OpsWorks Stacks アプリケーションの移行」を参照してください。

AWS OpsWorks スタックの組み込みレイヤーは、多くの要件を満たすのに十分な標準機能を提供しています。ただし、以下の状況が考えられます。

  • 組み込みのレイヤーの標準設定では最適とは言えない場合、特定の要件に合わせて最適化することができます。

    例えば、ワーカープロセスの最大数または keepalivetimeout 値などの設定に独自の値を指定することで、Static ウェブサーバーレイヤーの Nginx サーバー設定を調整することができます。

  • 組み込みのレイヤー機能でも問題ありませんが、追加パッケージをインストールまたはカスタムのインストールスクリプトを実行することで拡張することができます。

    例えば、Redis サーバーをインストールすることで、PHP アプリケーションサーバーレイヤーを拡張することができます。

  • 組み込みのレイヤーでは扱うことのできない要件があります。

    例えば、AWS OpsWorks スタックには、一部の一般的なデータベースサーバーに対応する組み込みレイヤーが含まれていません。レイヤーのインスタンスに、それらのサーバーをインストールするカスタムレイヤーを作成することができます。

  • カスタムレイヤーのみをサポートする Windows スタックを実行しています。

AWS OpsWorks スタックでは、特定の要件に合わせてレイヤーをカスタマイズするためのさまざまな方法が提供されています。次の例は、複雑さと能力の低い方から高い方の順に表示されています。

注記

これらのアプローチのいくつかは Linux スタックにのみ当てはまります。詳細については、以下のトピックを参照してください。

  • カスタム JSON を使用して、デフォルトの AWS OpsWorks スタック設定を上書きします。

  • デフォルトの AWS OpsWorks スタック設定を上書きする属性ファイルが含まれるカスタムの Chef クックブックを実装します。

  • デフォルトの AWS OpsWorks スタックテンプレートを上書きまたは拡張するテンプレートを含むカスタム Chef クックブックを実装します。

  • シェルスクリプトを実行するシンプルなレシピが含まれるカスタムの Chef クックブックを実行します。

  • ディレクトリの作成と設定、パッケージのインストール、設定ファイルの作成、アプリケーションのデプロイなどのタスクを実行するレシピを含むカスタムの Chef クックブックを実装します。

スタックの Chef バージョンおよびオペレーティングシステムに応じて、レシピを上書きすることもできます。

  • Chef 0.9 および 11.4 スタックでは、クックブックやレシピが同じ名前のカスタムレシピを実装して組み込みのレシピを上書きすることはできません。

    AWS OpsWorks スタックでは、ライフサイクルのイベントごとに組み込みのレシピがまず実行され、その後で、カスタムレシピがあれば実行されます。これらの Chef バージョンでは、クックブックやレシピが同じ名前のレシピが 2 度実行されないため、組み込みレシピが優先され、カスタムレシピは実行されません。

  • Chef 11.10 スタックの組み込みレシピは上書きできます。

    詳細については、「クックブックのインストールと優先順位」を参照してください。

  • Windows スタックの組み込みレシピは上書きできません。

    AWS OpsWorks スタックによる Windows スタックに対する Chef 実行では、組み込みレシピを上書きすることはできません。

注記

手法の多くはカスタムのクックブックを使用するので、クックブックの実装にまだ精通していない場合、「クックブックとレシピ」をまずお読みください。「クックブックの基本」では、カスタムクックブックの実装の概要を示し、「AWS OpsWorks スタック用のクックブックの実装」では、AWS OpsWorks スタックインスタンスのクックブックを実装する方法の詳細を示しています。