AWS Elastic Beanstalk 환경의 변수를 Linux 및 Windows Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스로 전달하고 싶습니다.
간략한 설명
다음을 사용하여 환경 변수를 Amazon EC2 인스턴스에 전달할 수 있습니다.
참고: AWS CLI 명령을 실행할 때 오류가 발생하는 경우, 최신 버전의 AWS CLI를 사용하고 있는지 확인하십시오.
해결 방법
중요: 인스턴스에 기밀 정보(예: 데이터베이스 암호)를 전달하려면 Amazon S3에 프라이빗 키를 안전하게 저장의 지침을 따르세요.
환경 변수 전달
다음 방법 중 하나를 선택하여 환경 변수를 전달합니다.
Elastic Beanstalk 콘솔 사용
콘솔을 사용하여 환경 변수를 전달하려면 환경 속성 구성의 지침을 따르세요.
중요: 환경 속성 제한을 고려해야 합니다.
EB CLI 사용
EB CLI에서 환경 변수를 설정하려면 다음 명령을 실행합니다.
eb setenv key=value
다음 예제에서는 환경 변수 ExampleVar가 설정되어 있습니다.
$ eb setenv ExampleVar=ExampleValue
2018-07-11 21:05:25 INFO: Environment update is starting.
2018-07-11 21:05:29 INFO: Updating environment tmp-dev's configuration settings.
2018-07-11 21:06:50 INFO: Successfully deployed new configuration to environment.
2018-07-11 21:06:51 INFO: Environment update completed successfully.
여러 환경 속성을 설정하려면 다음 명령을 사용합니다.
$ eb setenv foo=bar JDBC_CONNECTION_STRING=hello PARAM4= PARAM5=
옵션 설정 사용
Elastic Beanstalk 구성 파일을 사용하여 소스 코드에서 환경 속성 및 구성 옵션을 설정할 수 있습니다.
환경 속성을 정의하려면 aws: elasticbeanstalk: application: environment 네임스페이스를 사용합니다.
다음 .ebextensions/options.config 예시를 참조하세요.
option_settings:
aws:elasticbeanstalk:application:environment:
API_ENDPOINT: www.example.com/api
AWS CLI에서 환경 속성을 설정하려면 다음 명령을 실행합니다.
$ aws elasticbeanstalk update-environment --environment-name my-env --option-settings file://options.json
예를 들면 다음과 같습니다.
[
{
"Namespace": "aws:elasticbeanstalk:application:environment",
"OptionName": "API_ENDPOINT",
"Value": "www.example.com/api"
},
{
"Namespace": "aws:elasticbeanstalk:application:environment",
"OptionName": "URL",
"Value": "http://myurl.com"
}
]
환경 변수 액세스
참고: 환경 속성은 인스턴스에 존재하는 경우에도 셸에 자동으로 내보낼 수 없습니다. 대신, 환경 속성은 사용 중인 플랫폼을 기반으로, 애플리케이션이 실행되는 스택을 통해 애플리케이션에 제공됩니다.
환경 변수에 액세스하려면 환경 속성 액세스를 참조하세요.
애플리케이션 코드 외부의 환경 변수에 액세스하려면(예: 배포 중 실행되는 스크립트) get.config 플랫폼 스크립트 또는 Fn::GetOptionSetting을 사용합니다.
Windows 인스턴스에서 환경 속성은 C:\ProgramFiles\Amazon\ElasticBeanstalk\config\containerconfiguration에서 Microsoft IIS(Internet Information Services) 서버로 전달됩니다. 경고: 이 파일 위치는 Elastic Beanstalk 프레임워크의 적용을 받으며 경고 없이 변경될 수 있습니다.