속성 우선 순위 - AWS OpsWorks

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

속성 우선 순위

중요

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

속성이 고유하게 정의되는 경우, Chef는 해당 속성을 노드 객체에 단순히 통합합니다. 하지만 모든 속성 소스는 어떤 속성도 정의할 수 있으므로 동일한 속성이 값이 각기 다른 여러 정의를 가질 수 있습니다. 예를 들어 내장 apache2 쿡북은 node[:apache][:keepalive]를 정의하지만 사용자 지정 JSON 또는 사용자 지정 쿡북에서도 해당 속성을 정의할 수 있습니다. 한 속성에 여러 정의가 있는 경우, 이 정의들은 뒤에 설명하는 순서대로 평가되며, 노드 객체는 우선 순위가 가장 높은 정의를 수신합니다.

속성은 다음과 같이 정의됩니다.

node.type[:attribute][:sub_attribute][:...]=value

속성에 여러 정의가 있는 경우 유형에 따라 우선 순위가 있는 정의가 결정되며 해당 정의는 노드 개체에 통합됩니다. AWS OpsWorks 스택은 다음과 같은 속성 유형을 사용합니다.

  • default - 이것은 가장 일반적인 유형이며, 기본적으로 "속성이 아직 정의되지 않았다면 이 값을 사용하라"는 뜻입니다. 속성의 모든 정의가 default 유형인 경우, 평가 순서에서 첫 번째 정의가 우선하며 후속 값들은 무시됩니다. 참고로 AWS OpsWorks 스택은 모든 스택 구성 및 배포 속성 정의를 유형으로 설정합니다. default

  • normal - 이 유형의 속성은 모든 default 속성 또는 평가 순서에서 앞서 정의된 normal 속성을 재정의합니다. 예를 들어 첫 번째 속성이 내장 쿡북의 속성이고 default 유형을 가지고 있으며 두 번째는 사용자가 정의한 속성으로 normal 유형을 가지고 있다면 두 번째 속성이 우선합니다.

  • set - 이전의 쿡북에서 볼 수 있는 사용되지 않는 유형입니다. 이 유형은 같은 우선 순위를 갖는 normal로 대체되었습니다.

Chef는 다른 모든 속성 정의에 우선하는 automatic 유형을 비롯한 몇 가지 추가 속성 유형을 지원합니다. Chef의 Ohai 도구에 의해 생성되는 속성 정의는 모두 automatic 유형이므로 사실상 읽기 전용입니다. 오버라이드할 이유가 없고 AWS OpsWorks 스택의 속성과도 다르기 때문에 일반적으로 문제가 되지는 않습니다. 다만 사용자 지정 쿡북 속성의 이름을 지정할 때는 Ohai 속성과 구별되도록 주의해야 합니다. 자세한 정보는 속성 정보를 참조하세요.

참고

Ohai 도구는 명령줄에서 실행할 수 있는 실행 파일입니다. 인스턴스의 Ohai 속성을 나열하려면 인스턴스에 로그인하고 터미널 창에서 ohai를 실행합니다. 매우 긴 출력이 생성되므로 유의하세요.

다음은 다양한 속성 정의를 노드 객체에 통합하는 단계입니다.

  1. 모든 사용자 지정 스택 구성 속성을 스택 구성 및 배포 속성에 병합합니다.

    스택이나 특정 배포에 대해 사용자 지정 JSON 속성을 설정할 수 있습니다. 사용자 지정 JSON 속성은 평가 순서에서 첫 번째이며 사실상 normal 유형입니다. 사용자 지정 JSON에서 하나 이상의 스택 구성 속성도 정의되는 경우, 사용자 지정 JSON 값이 우선합니다. 그렇지 않으면 AWS OpsWorks Stacks는 단순히 사용자 지정 JSON 속성을 스택 구성에 통합합니다.

  2. 모든 배포 사용자 지정 JSON 속성을 스택 구성 및 배포 속성에 병합합니다.

    배포 사용자 지정 JSON 속성도 사실상 normal 유형이므로 내장 및 사용자 지정 스택 구성 JSON과 내장 배포 JSON보다 우선합니다.

  3. 스택 구성 및 배포 속성을 인스턴스의 노드 객체에 병합합니다.

  4. 인스턴스의 내장 쿡북 속성을 노드 객체에 병합합니다.

    내장 쿡북 속성은 모두 default 유형입니다. 일반적으로 사용자 지정 JSON으로 정의했기 때문에 스택 구성 및 배포 속성에도 하나 이상의 내장 쿡북 속성이 정의된 경우 스택 구성 정의가 내장 쿡북 정의보다 우선합니다. 다른 모든 내장 쿡북 속성은 단순히 노드 객체에 통합됩니다.

  5. 인스턴스의 사용자 지정 쿡북 속성을 노드 객체에 병합합니다.

    사용자 지정 쿡북 속성은 일반적으로 normal 또는 default 유형입니다. 고유한 속성은 노드 객체에 통합됩니다. 1~3단계에서 사용자 지정 쿡북 속성도 정의한 경우(일반적으로 사용자 지정 JSON으로 정의했기 때문에) 우선 순위는 사용자 지정 쿡북 속성 유형에 따라 달라집니다.

    • 1-3단계에서 정의된 속성은 사용자 지정 쿡북 default 속성보다 우선합니다.

    • 사용자 지정 쿡북 normal 속성은 1-3단계의 정의보다 우선합니다.

중요

사용자 지정 쿡북 default 속성을 사용하여 스택 구성 또는 내장 쿡북 속성을 재정의하지 마십시오. 사용자 지정 쿡북 속성은 마지막으로 평가되기 때문에 default 속성은 우선 순위가 가장 낮으며 아무것도 재정의할 수 없습니다.