커스텀 사용 JSON - AWS OpsWorks

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

커스텀 사용 JSON

중요

더 AWS OpsWorks Stacks 서비스 수명이 2024년 5월 26일에 종료되었으며 신규 및 기존 고객 모두 사용할 수 없습니다. 고객은 가능한 한 빨리 워크로드를 다른 솔루션으로 마이그레이션할 것을 강력히 권장합니다. 마이그레이션에 대해 궁금한 점이 있으면 다음 연락처로 문의하십시오. AWS Support 팀 구성: AWS re:포스트 포스트 또는 스루 AWS 프리미엄 지원.

몇 가지 AWS OpsWorks 스택 액션을 사용하면 사용자 정의를 JSON 지정할 수 있습니다. AWS OpsWorks 스택은 인스턴스에 설치되며 레시피에서 사용할 수 있습니다.

다음과 같은 JSON 상황에서 사용자 정의를 지정할 수 있습니다.

  • 스택을 생성, 업데이트 또는 복제하는 경우

    AWS OpsWorks Stacks는 모든 후속 수명 주기 이벤트에 대해 모든 인스턴스에 사용자 JSON 지정을 설치합니다.

  • 배포 또는 스택 명령을 실행하는 경우

    AWS OpsWorks Stacks는 해당 이벤트의 인스턴스에만 사용자 JSON 지정을 전달합니다.

사용자 JSON 정의는 유효한 JSON 개체로 표시되고 형식이 지정되어야 합니다. 예:

{ "att1": "value1", "att2": "value2" ... }

AWS OpsWorks 스택은 다음 JSON 위치에 사용자 정의를 저장합니다.

Linux 인스턴스:

  • /var/chef/runs/run-ID/attribs.json

  • /var/chef/runs/run-ID/nodes/hostname.json

Windows 인스턴스:

  • drive:\chef\runs\run-ID\attribs.json

  • drive:\chef\runs\run-ID\nodes\hostname.json

참고

Linux용 Chef 11.10 및 이전 버전의 Linux에서는 사용자 JSON 지정이 Linux 인스턴스의 다음 경로에 있으며 Windows 인스턴스를 사용할 수 없으며 파일도 없습니다attribs.json. 로그는 와 동일한 폴더 또는 디렉토리에 저장됩니다. JSON Linux용 Chef 11.10 및 이전 버전의 사용자 JSON 지정에 대한 자세한 내용은 사용자 지정 JSON 및 Chef 로그로 속성 재정의를 참조하십시오.

/var/lib/aws/opsworks/chef/hostname.json

위 경로에서는 run-ID 는 다음과 같은 고유 ID입니다. AWS OpsWorks 스택은 인스턴스에서 실행되는 각 Chef에 할당되며 hostname 인스턴스의 호스트 이름입니다.

Chef JSON 레시피에서 사용자 정의에 액세스하려면 표준 Chef node 구문을 사용하세요.

예를 들어 배포하려는 앱에서 앱이 초기에 표시 가능한지 여부와 앱의 초기 전경색 및 배경색과 같은 간단한 설정을 정의하려고 합니다. 다음과 같이 JSON 객체를 사용하여 이러한 앱 설정을 정의한다고 가정해 보겠습니다.

{ "state": "visible", "colors": { "foreground": "light-blue", "background": "dark-gray" } }

스택의 사용자 JSON 지정을 선언하려면:

  1. 스택 페이지에서 [스택 설정]을 클릭한 다음 [편집]을 클릭합니다.

  2. Custom Chef의 JSON 경우 JSON 객체를 입력한 다음 [Save] 를 선택합니다.

참고

배포, 계층, 스택 JSON 수준에서 사용자 지정을 선언할 수 있습니다. 일부 사용자 JSON 지정을 개별 배포 또는 레이어에만 표시하려는 경우 이 방법을 사용하는 것이 좋습니다. 또는 예를 들어 스택 수준에서 선언된 사용자 정의를 계층 수준에서 JSON 선언된 사용자 정의로 일시적으로 재정의하고 싶을 수 있습니다. JSON 여러 수준에서 사용자 JSON 지정을 선언하는 경우 배포 수준에서 JSON 선언된 사용자 지정은 계층 및 스택 수준 모두에서 JSON 선언된 모든 사용자 지정을 무시합니다. 계층 수준에서 JSON 선언된 사용자 정의는 스택 수준에서만 JSON 선언된 모든 사용자 지정을 무시합니다.

사용하려면 AWS OpsWorks 스택 콘솔을 사용하여 JSON 배포에 대한 사용자 지정을 지정하려면 앱 배포 페이지에서 고급을 선택합니다. Custom JSON Chef JSON 상자에 사용자 지정을 입력한 다음 [Save] 를 선택합니다.

사용하려면 AWS OpsWorks 스택 콘솔을 사용하여 JSON 레이어에 사용자 정의를 지정하려면 레이어 페이지에서 원하는 레이어의 설정을 선택합니다. 사용자 지정 JSON JSON 상자에 사용자 정의를 입력한 다음 저장을 선택합니다.

자세한 내용은 OpsWorks 레이어 구성 편집앱 배포 단원을 참조하세요.

배포 또는 스택 명령을 실행할 때 레시피는 사용자 지정 JSON 개체의 계층 구조에 직접 매핑되는 표준 Chef node 구문을 사용하여 이러한 사용자 지정 값을 검색할 수 있습니다. 예를 들어, 다음 레시피 코드는 이전 사용자 지정 JSON 값에 대한 메시지를 Chef 로그에 기록합니다.

Chef::Log.info("********** The app's initial state is '#{node['state']}' **********") Chef::Log.info("********** The app's initial foreground color is '#{node['colors']['foreground']}' **********") Chef::Log.info("********** The app's initial background color is '#{node['colors']['background']}' **********")

이 접근 방법은 레시피로 데이터를 전달할 때 유용할 수 있습니다. AWS OpsWorks Stacks는 해당 데이터를 인스턴스에 추가하고 레시피는 표준 Chef node 구문을 사용하여 데이터를 검색할 수 있습니다.

참고

사용자 JSON 지정은 120KB로 제한됩니다. 용량이 더 필요할 경우 일부 데이터를 Amazon Simple Storage Service(S3)에 저장하는 것이 좋습니다. 그러면 사용자 지정 레시피는 다음 AWSCLI또는 다음을 사용할 수 있습니다. AWS SDK for RubyAmazon S3 버킷에서 인스턴스로 데이터를 다운로드합니다.