

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

# カスタムテンプレートを使用した OpsWorks スタック設定ファイルの拡張
<a name="workingcookbook-template-override"></a>

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

**注記**  
スタックは、Windows OpsWorks スタックと Linux スタックでは Chef の実行処理が異なるため、このセクションで説明する手法を Windows スタックで使用することはできません。

OpsWorks スタックは テンプレートを使用して設定ファイルなどのファイルを作成します。通常、このファイルは多くの設定の属性に依存します。カスタム JSON またはカスタムクックブック属性を使用して OpsWorks スタック定義を上書きする場合、優先設定は OpsWorks スタック設定の代わりに設定ファイルに組み込まれます。ただし、 OpsWorks スタックは、可能なすべての設定に属性を指定するとは限りません。一部の設定のデフォルトを受け入れ、テンプレート内で他の設定を直接ハードコードします。対応する Stacks 属性がない場合、カスタム JSON OpsWorks またはカスタムクックブック属性を使用して優先設定を指定することはできません。

カスタムテンプレートを作成することによって、追加の設定を含めるように設定ファイルを拡張できます。次に、必要な任意の設定またはその他のコンテンツをファイルに追加し、ハードコーディングされた設定を変更できます。テンプレートの詳細については「[テンプレート](workingcookbook-installingcustom-components-templates.md)」を参照してください。

**注記**  
opsworks-agent.monitrc.erb を*除く*組み込みのテンプレートを変更できます。

**カスタムテンプレートを作成するには**

1. 組み込みクックブックと同じ構造とディレクトリ名のクックブックを作成します。次に、カスタマイズする組み込みのテンプレートと同じ名前で、適切なディレクトリにテンプレートファイルを作成します。たとえば、カスタムテンプレートを使用して Apache の `httpd.conf` 設定ファイルを拡張するには、リポジトリに `apache2` クックブックを実装し、テンプレートファイルが `apache2/templates/default/apache.conf.erb` である必要があります。まったく同じ名前を使用すると、 OpsWorks スタックはカスタムテンプレートを認識し、組み込みテンプレートの代わりに使用できます。

   最も簡単なのは、[組み込みクックブックの GitHub リポジトリ](https://github.com/aws/opsworks-cookbooks)から組み込みテンプレートファイルをコピーし、必要に応じて変更を加えるという方法です。
**重要**  
カスタマイズするテンプレートファイル以外のファイルを、組み込みクックブックからコピーしないでください。レシピなど、他の種類のクックブックファイルをコピーすると、重複する Chef リソースが作成され、エラーの原因となる可能性があります。

   クックブックにもカスタム属性、レシピ、関連ファイルを含めることができますが、そのファイル名は組み込みのファイル名と重複しないようにする必要があります。

1. テンプレートファイルをカスタマイズして、要件を満たす設定ファイルを作成します。設定の追加、既存の設定の削除、ハードコーディングされた属性の置換などを行うことができます。

1. カスタムクックブックをまだ有効にしてない場合は、スタック設定を編集してカスタムクックブックを有効にして、クックブックリポジトリを指定してください。詳細については、「[カスタムクックブックのインストール](workingcookbook-installingcustom-enable.md)」を参照してください。

**注記**  
この手順の詳細なウォークスルーについては、「[組み込みテンプレートの上書き](cookbooks-101-opsworks-templates.md)」を参照してください。

テンプレートを上書きするために、レシピを実装したり[、レイヤー設定にレシピを追加](workingcookbook-assigningcustom.md)したりする必要はありません。 OpsWorks スタックは常に組み込みレシピを実行します。設定ファイルを作成するレシピが実行される際に、自動的に組み込みのテンプレートの代わりにカスタムテンプレートが使用されます。

**注記**  
 OpsWorks スタックが組み込みテンプレートに変更を加えると、カスタムテンプレートが同期しなくなり、正しく動作しなくなる可能性があります。たとえば、テンプレートが依存ファイルを参照し、ファイル名が変更されるとします。 OpsWorks スタックはそのような変更を頻繁に行うことはありません。テンプレートが変更されると、変更が一覧表示され、新しいバージョンにアップグレードするオプションが提供されます。 OpsWorks スタックリポジトリの変更をモニタリングし、必要に応じてテンプレートを手動で更新する必要があります。