사용자 지정 AWS OpsWorks 쿡북 속성을 사용하여 스택 속성 재정의 - AWS OpsWorks

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

사용자 지정 AWS OpsWorks 쿡북 속성을 사용하여 스택 속성 재정의

중요

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

참고

Windows 스택의 경우 AWS OpsWorks Stacks는 기본 제공 레시피와 사용자 지정 레시피에 별도의 Chef 실행을 사용합니다. 즉, 이 섹션에 설명된 기법을 사용해서는 Windows 스택의 내장 속성을 재정의할 수 없습니다.

CustomJSON은 Stacks 스택 구성 및 내장 AWS OpsWorks 쿡북 속성을 재정의하는 편리한 방법이지만 몇 가지 제한이 있습니다. 특히 각 사용에 대해 사용자 지정을 JSON 수동으로 입력해야 하므로 정의를 관리할 수 있는 강력한 방법이 없습니다. 더 좋은 방법은 사용자 지정 쿡북 속성 파일을 사용하여 내장 속성을 재정의하는 것입니다. 이렇게 하면 소스 제어 아래에 정의를 배치할 수 있습니다.

사용자 지정 속성 파일을 사용하여 AWS OpsWorks Stacks 정의를 재정의하는 절차는 간단합니다.

Stacks 속성 AWS OpsWorks 정의를 재정의하려면
  1. 쿡북과 레시피 단원의 설명에 따라 쿡북 리포지토리를 설정합니다.

  2. 재정의할 속성이 포함된 내장 쿡북과 같은 이름으로 쿡북을 생성합니다. 예를 들어 Apache 속성을 재정의하려면 쿡북의 이름을 apache2로 지정해야 합니다.

  3. 쿡북에 attributes 폴더를 추가하고 customize.rb 폴더에 파일을 추가합니다.

  4. 재정의할 내장 쿡북의 속성별로 이 파일에 속성 정의를 추가하고 원하는 값으로 설정합니다. 속성은 normal 유형 이상이어야 하며 해당 AWS OpsWorks Stacks 속성과 노드 이름이 정확히 동일해야 합니다. 노드 이름을 포함한 AWS OpsWorks Stacks 속성의 자세한 목록은 스택 구성 및 배포 속성: Linux 및 섹션을 참조하세요내장 쿡북 속성. 속성 및 속성 파일에 대한 자세한 정보는 속성 파일 정보를 참조하세요.

    중요

    AWS OpsWorks Stacks 속성을 재정의하려면 속성 normal 유형이 되어야 합니다. default 유형에는 우선 순위가 없습니다. 예를 들어, customize.rb 파일에 default[:apache][:keepalivetimeout] = 5 속성 정의가 있어도 내장된 apache.rb 속성 파일의 해당 속성이 먼저 평가되면 그 속성이 우선 적용됩니다. 자세한 내용은 속성 재정의 섹션을 참조하세요.

  5. 재정의할 속성이 포함된 각 내장 쿡북에 대해 2 - 4단계를 반복합니다.

  6. 스택에 대해 사용자 지정 쿡북을 활성화하고 Stacks가 AWS OpsWorks 쿡북을 스택의 인스턴스에 다운로드하는 데 필요한 정보를 제공합니다. 자세한 내용은 사용자 지정 쿡북 설치 단원을 참조하십시오.

참고

이 절차에 대한 완전한 안내는 내장 속성 재정의 단원을 참조하세요.

이후 수명 주기 이벤트, 배포 명령 및 스택 명령에 사용되는 노드 객체에는 이제 AWS OpsWorks Stacks 값 대신 속성 정의가 포함됩니다.

예를 들어 keepalivetimeout에서 설명한 내장 logrotate schedule사용자 지정을 지정하는 방법 JSON 설정을 재정의하려면 apache2apache 쿡북을 리포지토리에 추가하고 customize.rb 파일을 다음 콘텐츠와 함께 쿡북의 attributes 폴더에 추가합니다.

normal[:apache][:keepalivetimeout] = 5 normal[:apache][:logrotate][:schedule] = 'weekly'
중요

연결된 기본 제공 속성 파일의 사본을 수정하여 AWS OpsWorks Stacks 속성을 재정의해서는 안 됩니다. 예를 들어 apache.rbapache2/attributes 폴더에 복사하고 일부 설정을 수정하는 경우, 기본적으로 내장 파일의 모든 속성이 재정의됩니다. 레시피는 사본의 속성 정의를 사용하고 내장 파일은 무시합니다. AWS OpsWorks Stacks가 나중에 내장 속성을 수정하는 경우, 수동으로 사본을 업데이트하지 않는 한 레시피는 변경 사항에 액세스하지 못합니다.

이런 상황을 피하기 위해 모든 내장 쿡북에는 customize.rb 명령을 통해 모든 모듈에 필요한 빈 include_attribute 속성이 포함되어 있습니다. customize.rb 사본의 속성을 재정의하면 이러한 특정 속성에만 영향을 미칠 수 있습니다. 레시피는 그 밖의 모든 속성 값을 내장 속성 파일에서 가져오며, 재정의하지 않은 속성의 현재 값을 자동으로 가져옵니다.

이 방법은 쿡북 리포지토리의 속성 수를 적게 유지하도록 도움으로써 유지 관리 부담이 줄어들고 향후 업그레이드 관리가 쉬워집니다.