テンプレート - AWS OpsWorks

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

テンプレート

重要

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

多くのパッケージは、設定ファイルを作成してそれを適切なディレクトリに配置することによって設定されます。設定ファイルをクックブックに含めて目的のディレクトリにコピーすることもできますが、レシピを使用してテンプレートから設定ファイルを作成する方が、より柔軟性の高い方法です。テンプレートを使用する利点は、属性を使用してテンプレートの値を定義できることです。たとえば、カスタム JSON を使用して該当する属性値を上書きできるため、クックブックに変更を加えることなしに、設定ファイルを変更できます。

テンプレートの内容と構造は、基本的に、関連付けられたファイルと同じです。以下に httpd.conf ファイルの例を示します。

ServerRoot "<%= node[:apache][:dir] %>" <% if node[:platform] == "debian" || node[:platform] == "ubuntu" -%> LockFile /var/lock/apache2/accept.lock <% else -%> LockFile logs/accept.lock <% end -%> PidFile <%= node[:apache][:pid_file] %> Timeout <%= node[:apache][:timeout] %> KeepAlive <%= node[:apache][:keepalive] %> MaxKeepAliveRequests <%= node[:apache][:keepaliverequests] %> KeepAliveTimeout <%= node[:apache][:keepalivetimeout] %> <IfModule mpm_prefork_module> StartServers <%= node[:apache][:prefork][:startservers] %> MinSpareServers <%= node[:apache][:prefork][:minspareservers] %> MaxSpareServers <%= node[:apache][:prefork][:maxspareservers] %> ServerLimit <%= node[:apache][:prefork][:serverlimit] %> MaxClients <%= node[:apache][:prefork][:maxclients] %> MaxRequestsPerChild <%= node[:apache][:prefork][:maxrequestsperchild] %> </IfModule> ...

次の例は、Ubuntu インスタンス用に生成された httpd.conf ファイルです。

ServerRoot "/etc/httpd" LockFile logs/accept.lock PidFile /var/run/httpd/httpd.pid Timeout 120 KeepAlive Off MaxKeepAliveRequests 100 KeepAliveTimeout 3 <IfModule mpm_prefork_module> StartServers 16 MinSpareServers 16 MaxSpareServers 32 ServerLimit 400 MaxClients 400 MaxRequestsPerChild 10000 </IfModule> ...

テンプレートに含まれるテキストの多くは、テンプレートから httpd.conf ファイルに単にコピーされます。ただし、<%= ... %> の内容については、次のように処理されます。

  • Chef によって、<%= node[:attribute][:sub_attribute][:...]%> が属性の値で置き換えられます。

    例えば、StartServers <%= node[:apache][:prefork][:startservers] %> は、StartServers 16 では httpd.conf になります。

  • 条件付きで値を選択するには、<%if-%>, <%else-%>, and <%end-%> を使用します。

    この例では、プラットフォームに応じて、accept.lock の異なるファイルパスを設定します。

注記

使用できる属性は、クックブックの属性ファイルに設定された属性のみに制限されているわけではありません。インスタンスのノードオブジェクトで属性を使用できます。たとえば、Ohai と呼ばれる Chef ツールによって生成され、ノードオブジェクトに組み込まれます。属性の詳細については、「属性の上書き」を参照してください。

Ruby コードの組み込み方法など、テンプレートの詳細については、「テンプレートについて」を参照してください。