사용자 지정 JSON을 사용한 속성 재정의 - AWS OpsWorks

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

사용자 지정 JSON을 사용한 속성 재정의

중요

이 AWS OpsWorks Stacks 서비스는 2024년 5월 26일에 수명이 종료되었으며 신규 고객과 기존 고객 모두 사용할 수 없습니다. 고객은 가능한 한 빨리 워크로드를 다른 솔루션으로 마이그레이션할 것을 강력히 권장합니다. 마이그레이션에 대해 궁금한 점이 있으면 AWS re:Post 또는 Premium AWS Support를 통해 AWS Support 팀에 문의하세요.

참고

AWS OpsWorks 스택은 Windows 스택의 Chef 실행을 Linux 스택과 다르게 처리하므로 이 섹션에서 설명하는 기술을 Windows 스택에는 사용할 수 없습니다.

AWS OpsWorks Stacks 속성을 재정의하는 가장 간단한 방법은 사용자 지정 JSON으로 Stacks 속성을 정의하는 것입니다. 이 방법은 스택 구성 및 배포 속성뿐만 아니라 기본 제공 및 사용자 지정 쿡북 속성보다 우선합니다. default 자세한 정보는 속성 우선 순위을 참조하세요.

중요

스택 구성 및 배포 속성을 재정의할 때는 주의해야 합니다. 예를 들어 opsworks 네임스페이스에서 속성을 재정의하면 내장 속성을 방해할 수 있습니다. 자세한 내용은 스택 구성 및 배포 속성 섹션을 참조하세요.

사용자 지정 JSON을 사용하여 고유한 속성을 정의할 수도 있습니다(일반적으로 데이터를 사용자 지정 레시피에 전달하기 위해). 속성은 노드 객체에 통합되며, 레시피는 표준 Chef 노드 구문을 사용하여 속성 단원을 참조할 수 있습니다.

사용자 지정 JSON 지정 방법

사용자 지정 JSON을 사용하여 속성 값을 재정의하려면 먼저 속성의 정규화된 속성 이름을 확인해야 합니다. 그런 다음 재정의하려는 속성을 포함한 JSON 객체를 생성하고 선호하는 값으로 설정합니다. 편의상 스택 구성 및 배포 속성: Linux내장 쿡북 속성 문서에는 일반적으로 사용되는 스택 구성, 배포 및 내장 쿡북 속성과 그 정규화된 이름이 나와 있습니다.

객체의 상위-하위 관계는 적절한 정규화된 Chef 노드와 일치해야 합니다. 예를 들어 다음과 같은 Apache 속성을 변경하려 한다고 가정하겠습니다.

  • 노드가 node[:apache][:keepalivetimeout]이고 3 기본값을 가진 keepalivetimeout 속성입니다.

  • 노드가 node[:apache][:logrotate][:schedule]이고 "daily" 기본값을 가진 logrotate schedule 속성입니다.

이 속성들을 재정의하고 값을 각각 5"weekly"로 설정하려면 다음 사용자 지정 JSON을 사용합니다.

{ "apache" : { "keepalivetimeout" : 5, "logrotate" : { "schedule" : "weekly" } } }

사용자 지정 JSON을 지정할 시기

다음 작업에 사용자 지정 JSON 구조를 지정할 수 있습니다.

AWS OpsWorks Stacks는 각 작업에 대해 사용자 지정 JSON 속성을 스택 구성 및 배포 속성과 병합하고 이를 인스턴스로 전송하여 노드 객체에 병합합니다. 다만 다음을 참고하세요.

  • 스택을 생성, 복제 또는 업데이트할 때 사용자 지정 JSON을 지정하는 경우, 속성은 모든 후속 수명 주기 이벤트 및 스택 명령의 스택 구성 및 배포 속성에 병합됩니다.

  • 배포를 위해 사용자 지정 JSON을 지정하는 경우, 속성은 해당 이벤트의 스택 구성 및 배포 속성에만 병합됩니다.

    후속 배포에 이러한 사용자 지정 속성을 사용하려면 사용자 지정 JSON을 다시 명시적으로 지정해야 합니다.

속성은 레시피에 의해 사용될 때 인스턴스에만 영향을 미친다는 점을 명심해야 합니다. 속성 값을 재정의해도 해당 속성 단원을 참조하는 후속 레시피가 없다면 변경은 효과가 없습니다. 연결된 레시피가 실행되기 전에 사용자 지정 JSON을 전송하거나 적절한 레시피를 다시 실행해야 합니다.

사용자 지정 JSON 모범 사례

사용자 지정 JSON을 사용하여 모든 AWS OpsWorks Stacks 속성을 재정의할 수 있지만 정보를 수동으로 입력하는 것은 다소 번거롭고 어떤 종류의 소스 제어도 받지 않습니다. 사용자 지정 JSON은 다음과 같은 용도로 가장 잘 활용할 수 있습니다.

  • 소수의 속성만 재정의하고 그 밖에는 사용자 지정 쿡북을 사용할 필요가 없을 때.

    사용자 지정 JSON을 사용하면 단지 2가지 속성을 재정의하기 위해 쿡북 리포지토리를 설정하고 유지 관리하는 부담을 피할 수 있습니다.

  • 암호 또는 인증 키 같은 중요한 값.

    쿡북 속성은 리포지토리에 저장되므로 중요한 정보가 침해될 위험이 있습니다. 그 대신 더미 값으로 기본값을 정의하고 사용자 지정 JSON을 사용하여 실제 값을 설정하세요.

  • 값은 다양할 것으로 예상됩니다.

    예를 들어 권장되는 관행은 프로덕션 스택을 별도의 개발 및 스테이징 스택으로 지원하는 것입니다. 이 스택들이 지불을 받는 애플리케이션을 지원한다고 가정해 보십시오. 사용자 지정 JSON을 사용하여 지불 엔드포인트를 지정하는 경우, 스테이징 스택에 테스트 URL을 지정할 수 있습니다. 업데이트된 스택을 프로덕션 스택으로 마이그레이션할 준비가 되면 같은 쿡북을 사용하고 사용자 지정 JSON을 사용하여 지불 엔드포인트를 프로덕션 URL로 설정할 수 있습니다.

  • 특정 스택 또는 배포 명령에 고유한 값.