기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
환경 변수 사용
중요
이 AWS OpsWorks Stacks 서비스는 2024년 5월 26일에 수명이 종료되었으며 신규 및 기존 고객 모두 사용할 수 없습니다. 고객은 가능한 한 빨리 워크로드를 다른 솔루션으로 마이그레이션할 것을 강력히 권장합니다. 마이그레이션에 대해 궁금한 점이 있으면 AWS re:Post 또는 Premium AWS
참고
이 주제의 권장 사항은 Chef 11.10 및 이전 버전에 적용됩니다. Chef 12 이상 릴리스에서 환경 변수를 가져오려면 앱 데이터 백을 사용해야 합니다. 자세한 내용은 AWS OpsWorks 데이터 백 참조 및 앱 데이터 백 (aws_opsworks_app) 을 참조하십시오.
앱의 환경 변수를 지정하면 AWS OpsWorks Stacks는 변수 정의를 앱 속성에 추가합니다. deploy
사용자 지정 계층은 레시피를 사용하여 표준 노드 구문으로 변수의 값을 검색하고 계층의 앱이 액세스할 수 있는 형식으로 저장할 수 있습니다.
인스턴스의 deploy
속성에서 환경 변수 값을 가져오는 사용자 지정 레시피를 구현해야 합니다. 그러면 레시피가 데이터를 애플리케이션이 액세스할 수 있는 형식(예: YAML 파일)으로 인스턴스에 저장할 수 있습니다. 앱의 환경 변수 정의는 앱의 deploy
에서 environment_variables
속성에 저장됩니다. 다음 예제는 JSON을 사용하여 속성 구조를 표시함으로써 simplephpapp
앱의 이러한 속성의 위치를 보여줍니다.
{ ... "ssh_users": { }, "deploy": { "simplephpapp": { "application": "simplephpapp", "application_type": "php", "environment_variables": { "USER_ID": "168424", "USER_KEY": "somepassword" }, ... } }
레시피는 표준 노드 구문을 사용하여 변수 값을 가져올 수 있습니다. 다음 예제는 이전 JSON에서 USER_ID
값을 가져와 Chef 로그에 기록하는 방법을 보여줍니다.
Chef::Log.info("USER_ID: #{node[:deploy]['simplephpapp'][:environment_variables][:USER_ID]}")
스택 구성 및 배포 JSON에서 정보를 검색하여 인스턴스에 저장하는 방법에 대한 상세한 설명은 애플리케이션으로 데이터 전달 단원을 참조하세요.