기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Configure 레시피
중요
The AWS OpsWorks Stacks 서비스 수명이 2024년 5월 26일에 종료되었으며 신규 및 기존 고객 모두 사용할 수 없습니다. 고객은 가능한 한 빨리 워크로드를 다른 솔루션으로 마이그레이션할 것을 강력히 권장합니다. 마이그레이션에 대해 궁금한 점이 있으면 다음 연락처로 문의하십시오. AWS Support 팀 구성: AWS re:포스트 포스트
Configure 레시피는 계층의 Configure 수명 주기 이벤트에 할당됩니다. 이 이벤트는 특정 인스턴스가 온라인 상태로 전환되거나 해제될 때마다 스택의 모든 인스턴스에서 발생합니다. 변경 사항에 대응하여 적절히 인스턴스의 구성을 조정하려면 Configure 레시피를 사용합니다. Configure 레시피를 구현할 때 스택 구성 변경이 이 계층과 관계가 없는 인스턴스도 포함할 수 있다는 점을 염두에 두어야 합니다. 이 레시피는 적절히 대응할 수 있어야 합니다. 이는 경우에 따라 아무 작업도 하지 않음을 의미하기도 합니다.
tomcat::configure
tomcat::configure
레시피는 계층의 Configure 수명 주기 이벤트를 위한 것입니다.
include_recipe 'tomcat::context' # Optional: Trigger a Tomcat restart in case of a configure event, if relevant # settings in custom JSON have changed (e.g. java_opts/JAVA_OPTS): #include_recipe 'tomcat::container_config'
tomcat::configure
레시피는 기본적으로 두 개의 종속 레시피를 실행하는 메타 레시피입니다.
-
tomcat::context
레시피는 웹 앱 컨텍스트 구성 파일을 생성합니다.이 파일은 애플리케이션이 My SQL 인스턴스와 통신하는 데 사용하는 JDBC 리소스를 구성합니다. 자세한 내용은 다음 섹션에서 설명합니다. Configure 이벤트에 대응하여 이 레시피를 실행할 경우 데이터베이스 계층이 변경되었을 때 웹 앱 컨텍스트 구성 파일을 업데이트할 수 있습니다.
-
tomcat::container_config
설정 레시피가 다시 실행되어 컨테이너 구성 변경 사항을 캡처합니다.
이 예제에서는 include
의 tomcat::container_config
가 코멘트 아웃됩니다. 사용자 정의를 사용하여 Tomcat 설정을 JSON 수정하려는 경우 댓글을 제거하면 됩니다. 그런 다음 Configure 수명 주기 이벤트가 tomcat::container_config
를 실행합니다. 이는 Tomcat 관련 구성 파일을 업데이트하고(tomcat::container_config 섹션 참조) Tomcat 서비스를 재시작합니다.
tomcat::context
Tomcat 쿡북을 사용하면 애플리케이션이 J2EE 객체를 사용하여 별도의 인스턴스에서 실행 가능한 내 SQL 데이터베이스 서버에 액세스할 수 있습니다. DataSource
tomcat::context
레시피의 주된 목적은 이 구성 파일을 생성하는 것입니다.
include_recipe 'tomcat::service' node[:deploy].each do |application, deploy| context_name = deploy[:document_root].blank? ? application : deploy[:document_root] template "context file for #{application} (context name: #{context_name})" do path ::File.join(node['tomcat']['catalina_base_dir'], 'Catalina', 'localhost', "#{context_name}.xml") source 'webapp_context.xml.erb' owner node['tomcat']['user'] group node['tomcat']['group'] mode 0640 backup false only_if { node['datasources'][context_name] } variables(:resource_name => node['datasources'][context_name], :webapp_name => application) notifies :restart, resources(:service => 'tomcat') end end
이 레시피는 Tomcat 쿡북 속성 외에도 다음과 같은 스택 구성 및 배포 속성을 사용합니다. AWS OpsWorks Configure 이벤트를 사용하여 설치를 스택합니다. The AWS OpsWorks Stacks 서비스는 레시피가 일반적으로 데이터 백을 사용하거나 검색을 통해 얻는 정보가 포함된 속성을 각 인스턴스의 노드 개체에 추가하고 각 인스턴스에 속성을 설치합니다. 이러한 속성에는 스택 구성, 배포된 앱, 사용자가 포함시키기 원하는 사용자 지정 데이터에 대한 세부 정보가 포함됩니다. 레시피는 표준 Chef 노드 구문을 사용하여 스택 구성 및 배포 속성에서 데이터를 가져옵니다. 자세한 내용은 스택 구성 및 배포 속성 섹션을 참조하세요. Chef 11.10 스택에서는 Chef 검색을 사용하여 스택 구성 및 배포 데이터를 가져올 수도 있습니다. 자세한 내용은 Chef 검색 사용 단원을 참조하십시오.
deploy
속성이란 콘솔을 통해 정의되거나 콘솔에서 생성되는 배포 관련 속성을 포함하는 [:deploy]
네임스페이스를 말합니다. API AWS OpsWorks 스택 서비스. deploy
속성에는 배포된 각 앱마다 앱의 짧은 이름으로 명명된 속성이 하나씩 포함됩니다. 각각의 앱 속성에는 문서 루트([:deploy][:
)와 같이 앱의 특성을 정의하는 속성 세트가 포함됩니다.appname
][:document_root]
context
레시피는 먼저 tomcat::service를 호출하여 서비스가 이 Chef 실행에 대해 정의되도록 합니다. 그런 다음 구성 파일의 이름(context_name
확장명 제외)을 표시하는 .xml
변수를 정의합니다. 기본 문서 루트를 사용하는 경우, context_name
이 앱의 짧은 이름으로 설정됩니다. 그렇지 않은 경우 지정된 문서 루트로 설정됩니다. 에서 설명한 예제에서는 문서 루트를 로 스택 생성 및 애플리케이션 실행 "ROOT"
설정하므로 컨텍스트가 ROOT 지정되고 구성 파일의 이름이 ROOT.xml
지정됩니다.
이 레시피는 배포된 앱의 목록이 많은 부분을 차지하며, 각 앱에 대해 webapp_context.xml.erb
템플릿을 사용하여 컨텍스트 구성 파일을 생성합니다. 예제는 앱을 하나만 배포하지만 deploy
속성의 정의는 앱 수와 상관없이 이를 앱 목록으로 처리하도록 요구합니다.
webapp_context.xml.erb
템플릿은 운영 체제를 구별하지 않으므로 templates
디렉터리의 default
하위 디렉터리에 위치합니다.
이 레시피는 다음과 같이 구성 파일을 생성합니다.
-
기본 속성 값을 사용할 경우 구성 파일 이름은
로 설정되고context_name
.xml/etc/tomcat6/Catalina/localhost/
디렉터리에 설치됩니다.스택 구성 속성의
['datasources']
노드에는 하나 이상의 속성이 포함되며, 각 속성은 컨텍스트 이름을 관련 응용 프로그램이 데이터베이스와 통신하는 데 사용할 JDBC 데이터 리소스에 매핑합니다. 노드와 해당 내용은 스택을 생성할 JSON 때 사용자 정의를 사용하여 정의됩니다 (뒷부분 설명 참조)스택 생성 및 애플리케이션 실행. 이 예제에는 ROOT 컨텍스트 이름을 jdbc/mydb라는 JDBC 리소스와 연결하는 단일 속성이 있습니다. -
기본 속성 값을 사용하면 파일의 사용자 및 그룹 모두 Tomcat 패키지에 의해 설정됩니다.
tomcat
(Amazon Linux) 또는tomcat6
(Ubuntu). -
template
리소스는['datasources']
노드가 존재하고context_name
속성을 포함하는 경우에만 구성 파일을 생성합니다. -
template
리소스는resource_name
및webapp_name
, 두 개의 변수를 정의합니다.resource_name
은context_name
과 연결된 리소스 이름으로 설정되고,webapp_name
은 앱의 짧은 이름으로 설정됩니다. -
템플릿 리소스는 Tomcat 서비스를 재시작하여 변경 사항을 로드하고 활성화합니다.
webapp_context.xml.erb
템플릿은 자체 속성 세트를 갖는 Context
요소를 포함하는 Resource
요소로 구성됩니다.
Resource
속성은 컨텍스트 구성의 특성을 정의합니다.
-
이름 - 에 JDBC 정의된 값으로 설정된 리소스 이름입니다.
resource_name
tomcat::context
예제에서는 리소스 이름이 jdbc/mydb로 설정됩니다.
-
인증 및 유형 - 연결을 위한 표준 설정입니다. JDBC
DataSource
-
maxActive, maxIdle, maxWait—활성 및 유휴 연결의 최대 수와 연결이 반환될 때까지 걸리는 최대 대기 시간입니다.
-
username 및 password - 데이터베이스의 사용자 이름 및 암호.
deploy
속성에서 가져옵니다. -
driverClassName—내 JDBC 드라이버로 설정된 드라이버의 클래스 이름 SQL
-
url — 연결. URL
접두사는 데이터베이스에 따라 다릅니다. MySQL,
jdbc:mysql
Postgres의 경우,jdbc:postgresql
서버의 경우 로 설정해야 합니다.jdbc:sqlserver
SQL 이 예제에서는 를 URL 로 설정합니다. 여기서jdbc:mysql://
host_IP_Address
:3306:simplejspsimplejsp
앱의 약식 이름입니다. -
팩토리 - 내 SQL 데이터베이스에 필요한
DataSource
팩토리입니다.
이 구성 파일에 대한 자세한 내용은 Tomcat 위키의 사용 항목을 참조하십시오. DataSources