AWS OpsWorks
ユーザーガイド (API バージョン 2013-02-18)

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

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

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

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

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

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

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

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

  • カスタム Layer のみをサポートする 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 スタックインスタンスのクックブックを実装する方法の詳細を示しています。