12단계: 사용자 지정 JSON을 사용하도록 쿡북 업데이트 - AWS OpsWorks

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

12단계: 사용자 지정 JSON을 사용하도록 쿡북 업데이트

중요

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

인스턴스에 저장된 JSON 단원을 참조하는 레시피를 추가하여 쿡북을 업데이트합니다.

스택을 생성, 업데이트 또는 복제할 때마다 혹은 배포 또는 스택 명령을 실행할 때 사용자 지정 JSON 형식으로 정보를 지정할 수 있습니다. 이것은 예컨대 데이터베이스에서 데이터를 가져오는 대신 데이터 중 작고 변하지 않는 부분을 인스턴스에서 레시피가 사용할 수 있도록 만드는 데 유용합니다. 자세한 정보는 사용자 지정 JSON 사용을 참조하세요.

이 안내서에서는 사용자 지정 JSON을 사용하여 고객 인보이스에 대한 몇 가지 가상 정보를 제공합니다. 사용자 지정 JSON은 이 단계 뒷부분에서 설명합니다.

인스턴스에서 쿡북을 업데이트하고 새 레시피를 실행하려면
  1. 로컬 워크스테이션에서 다음 레시피 코드를 사용하여 recipes 디렉터리의 opsworks_cookbook_demo 하위 디렉터리에 custom_json.rb 파일을 생성합니다.

    Chef::Log.info("********** For customer '#{node['customer-id']}' invoice '#{node['invoice-number']}' **********") Chef::Log.info("********** Invoice line number 1 is a '#{node['line-items']['line-1']}' **********") Chef::Log.info("********** Invoice line number 2 is a '#{node['line-items']['line-2']}' **********") Chef::Log.info("********** Invoice line number 3 is a '#{node['line-items']['line-3']}' **********")

    이 레시피는 로그에 사용자 지정 JSON의 값에 대한 메시지를 표시합니다.

  2. 터미널 또는 명령 프롬프트에서 tar 명령을 사용하여 opsworks_cookbook_demo 디렉터리와 업데이트된 내용 포함된 opsworks_cookbook_demo.tar.gz 파일의 새 버전을 만듭니다.

  3. 업데이트된 opsworks_cookbook_demo.tar.gz 파일을 S3 버킷에 업로드합니다.

  4. 5단계: 인스턴스에서 쿡북을 업데이트하고 레시피 실행 단원의 절차에 따라 인스턴스에서 쿡북을 업데이트하고 레시피를 실행합니다. "레시피 실행" 절차에서 실행할 레시피opsworks_cookbook_demo::custom_json를 입력합니다. [고급]의 [사용자 지정 Chef JSON]에는 다음 사용자 지정 JSON을 입력합니다.

    { "customer-id": "0123", "invoice-number": "9876", "line-items": { "line-1": "tractor", "line-2": "passenger car", "line-3": "trailer" } }
레시피를 테스트하려면
  1. 이전 절차의 [execute_recipes 명령 실행 중] 페이지가 표시된 상태에서 [cookbooks-demo1]의 [로그]에 대해 [표시]를 선택합니다. [execute_recipes] 로그 페이지가 표시됩니다.

  2. 로그를 아래로 스크롤하면서 다음과 유사한 항목을 찾습니다.

    [2015-11-14T14:18:30+00:00] INFO: ********** For customer '0123' invoice '9876' ********** [2015-11-14T14:18:30+00:00] INFO: ********** Invoice line number 1 is a 'tractor' ********** [2015-11-14T14:18:30+00:00] INFO: ********** Invoice line number 2 is a 'passenger car' ********** [2015-11-14T14:18:30+00:00] INFO: ********** Invoice line number 3 is a 'trailer' **********

    이러한 항목에는 [고급]의 [사용자 지정 Chef JSON] 상자에 입력한 사용자 지정 JSON의 정보가 표시됩니다.

다음 단계에서는 스택이 각 인스턴스에 저장하는 스택 설정 모음인 데이터 백에서 정보를 가져오도록 쿡북을 AWS OpsWorks 업데이트합니다.