템플릿 - AWS OpsWorks

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

템플릿

중요

The AWS OpsWorks Stacks 서비스 수명이 2024년 5월 26일에 종료되었으며 신규 및 기존 고객 모두 사용할 수 없습니다. 고객은 가능한 한 빨리 워크로드를 다른 솔루션으로 마이그레이션할 것을 강력히 권장합니다. 마이그레이션에 대해 궁금한 점이 있으면 다음 연락처로 문의하십시오. AWS Support 팀 구성: AWS re:포스트 포스트 또는 스루 AWS 프리미엄 지원.

구성 파일을 변경하고 적절한 디렉터리에 배치하여 여러 패키지를 구성합니다. 쿡북에 구성 파일을 포함하고 적절한 디렉터리에 복사할 수 있습니다. 하지만 보다 유연한 접근 방법은 레시피가 템플릿에서 구성 파일을 생성하게 하는 것입니다. 템플릿의 장점 한 가지는 속성을 사용하여 템플릿의 값을 정의할 수 있다는 것입니다. 예를 들어, 사용자 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] %>httpd.conf에서 StartServers 16이 됩니다.

  • <%if-%>, <%else-%>, and <%end-%>를 사용하여 조건부로 값을 선택할 수 있습니다.

    예제는 accept.lock의 파일 경로를 플랫폼에 따라 다르게 설정합니다.

참고

쿡북의 속성 파일 내 속성만 사용할 수 있는 것은 아닙니다. 인스턴스의 노드 객체에 포함된 속성은 모두 사용할 수 있습니다. 예를 들어, Ohai라는 Chef 도구로 생성하여 노드 객체에 통합하기도 합니다. 속성에 대한 자세한 정보는 속성 재정의를 참조하세요.

Ruby 코드를 통합하는 방법을 포함해 템플릿에 대한 자세한 정보는 템플릿 정보를 참조하세요.