翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
テンプレート
重要
- AWS OpsWorks Stacks サービスは 2024 年 5 月 26 日にサポート終了となり、新規および既存のお客様の両方で無効になっています。できるだけ早くワークロードを他のソリューションに移行することを強くお勧めします。移行についてご質問がある場合は、 にお問い合わせください。 AWS Support でのチーム AWS re:Post
多くのパッケージは、設定ファイルを作成してそれを適切なディレクトリに配置することによって設定されます。設定ファイルをクックブックに含めて目的のディレクトリにコピーすることもできますが、レシピを使用してテンプレートから設定ファイルを作成する方が、より柔軟性の高い方法です。テンプレートを使用する利点は、属性を使用してテンプレートの値を定義できることです。これにより、例えば、カスタム を使用して適切な属性値を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
の異なるファイルパスを設定します。
注記
Ruby コードの組み込み方法など、テンプレートの詳細については、「テンプレートについて