

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

# 속성 파일
<a name="create-custom-attributes"></a>

**중요**  
이 AWS OpsWorks Stacks 서비스는 2024년 5월 26일에 수명이 종료되었으며 신규 및 기존 고객 모두에서 비활성화되었습니다. 가능한 한 빨리 워크로드를 다른 솔루션으로 마이그레이션하는 것이 좋습니다. 마이그레이션에 대한 질문이 있는 경우 [AWS re:Post](https://repost.aws/) 또는 [AWS Premium Support](https://aws.amazon.com/support)를 통해 AWS Support 팀에 문의하세요.

레시피에 대해 알아보기 전에 먼저 Tomcat 쿡북의 속성 파일을 살펴보는 것이 유용합니다. 이 파일에는 레시피가 사용하는 다양한 구성 설정이 들어 있습니다. 속성은 필수는 아닙니다. 레시피 또는 템플릿에서 이들 값을 하드코딩할 수도 있습니다. 그러나 속성을 사용하여 구성 설정을 정의하는 경우 OpsWorks Stacks 콘솔 또는 API를 사용하여 설정을 변경할 때마다 레시피 또는 템플릿 코드를 다시 작성하는 것보다 더 간단하고 유연한 사용자 지정 JSON 속성을 정의하여 값을 수정할 수 있습니다. 이 접근 방식을 사용하면 예를 들어 여러 스택에 동일한 쿡북을 사용하되 각 스택마다 Tomcat 서버를 다르게 구성할 수 있습니다. 속성과 속성 재정의 방법에 대한 자세한 정보는 [속성 재정의](workingcookbook-attributes.md) 단원을 참조하세요.

다음 예제는 Tomcat 쿡북의 `default.rb` 디렉터리에 위치하는 전체 속성 파일 `attributes`입니다.

```
default['tomcat']['base_version'] = 6
default['tomcat']['port'] = 8080
default['tomcat']['secure_port'] = 8443
default['tomcat']['ajp_port'] = 8009
default['tomcat']['shutdown_port'] = 8005
default['tomcat']['uri_encoding'] = 'UTF-8'
default['tomcat']['unpack_wars'] = true
default['tomcat']['auto_deploy'] = true
case node[:platform]
when 'centos', 'redhat', 'fedora', 'amazon'
  default['tomcat']['java_opts'] = ''
when 'debian', 'ubuntu'
  default['tomcat']['java_opts'] = '-Djava.awt.headless=true -Xmx128m -XX:+UseConcMarkSweepGC'
end
default['tomcat']['catalina_base_dir'] = "/etc/tomcat#{node['tomcat']['base_version']}"
default['tomcat']['webapps_base_dir'] = "/var/lib/tomcat#{node['tomcat']['base_version']}/webapps"
default['tomcat']['lib_dir'] = "/usr/share/tomcat#{node['tomcat']['base_version']}/lib"
default['tomcat']['java_dir'] = '/usr/share/java'
default['tomcat']['mysql_connector_jar'] = 'mysql-connector-java.jar'
default['tomcat']['apache_tomcat_bind_mod'] = 'proxy_http' # or: 'proxy_ajp'
default['tomcat']['apache_tomcat_bind_config'] = 'tomcat_bind.conf'
default['tomcat']['apache_tomcat_bind_path'] = '/tc/'
default['tomcat']['webapps_dir_entries_to_delete'] = %w(config log public tmp)
case node[:platform]
when 'centos', 'redhat', 'fedora', 'amazon'
  default['tomcat']['user'] = 'tomcat'
  default['tomcat']['group'] = 'tomcat'
  default['tomcat']['system_env_dir'] = '/etc/sysconfig'
when 'debian', 'ubuntu'
  default['tomcat']['user'] = "tomcat#{node['tomcat']['base_version']}"
  default['tomcat']['group'] = "tomcat#{node['tomcat']['base_version']}"
  default['tomcat']['system_env_dir'] = '/etc/default'
end
```

설정 자체에 대해서는 나중에 관련 섹션에서 설명합니다. 다음 참고 사항은 전반적으로 적용됩니다.
+ 노드 정의는 모두 `default` 유형이므로 [사용자 지정 JSON 속성](workingcookbook-json-override.md)으로 재정의할 수 있습니다.
+ 파일은 `case` 문을 사용하여 인스턴스의 운영 체제에 따라 일부 속성 값을 조건적으로 설정합니다.

  `platform` 노드는 Chef의 Ohai 도구에 의해 생성되며 인스턴스의 운영 체제를 표시합니다.