환경 매니페스트(env.yaml) - AWS Elastic Beanstalk

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

환경 매니페스트(env.yaml)

애플리케이션 소스 번들의 루트에 YAML 형식의 환경 매니페스트를 포함시켜 환경을 생성할 때 사용할 환경 이름, 솔루션 스택, 환경 링크를 구성할 수 있습니다.

이 파일 형식에는 환경 그룹 지원이 포함되어 있습니다. 그룹을 사용하려면 매니페스트에서 끝에 + 기호를 붙여 환경 이름을 지정합니다. 환경을 생성하거나 업데이트할 때 --group-name(AWS CLI) 또는 --env-group-suffix(EB CLI)를 사용하여 그룹 이름을 지정합니다. 그룹에 대한 자세한 내용은 Elastic Beanstalk 환경 그룹 생성 및 업데이트 단원을 참조하십시오.

다음 매니페스트 예제에서는 웹 서버 환경의 기반이 되는 작업자 환경 구성 요소의 링크가 있는 웹 서버 환경을 정의합니다. 이 매니페스트에서는 그룹을 사용하여 동일한 소스 번들로 여러 가지 환경을 생성합니다.

~/myapp/frontend/env.yaml

AWSConfigurationTemplateVersion: 1.1.0.0 SolutionStack: 64bit Amazon Linux 2015.09 v2.0.6 running Multi-container Docker 1.7.1 (Generic) OptionSettings: aws:elasticbeanstalk:command: BatchSize: '30' BatchSizeType: Percentage aws:elasticbeanstalk:sns:topics: Notification Endpoint: me@example.com aws:elb:policies: ConnectionDrainingEnabled: true ConnectionDrainingTimeout: '20' aws:elb:loadbalancer: CrossZone: true aws:elasticbeanstalk:environment: ServiceRole: aws-elasticbeanstalk-service-role aws:elasticbeanstalk:application: Application Healthcheck URL: / aws:elasticbeanstalk:healthreporting:system: SystemType: enhanced aws:autoscaling:launchconfiguration: IamInstanceProfile: aws-elasticbeanstalk-ec2-role InstanceType: t2.micro EC2KeyName: workstation-uswest2 aws:autoscaling:updatepolicy:rollingupdate: RollingUpdateType: Health RollingUpdateEnabled: true Tags: Cost Center: WebApp Dev CName: front-A08G28LG+ EnvironmentName: front+ EnvironmentLinks: "WORKERQUEUE" : "worker+"

지원되는 키는 다음과 같습니다.

  • AWSConfigurationTemplateVersion(필수) – 구성 템플릿 버전(1.1.0.0)입니다.

    AWSConfigurationTemplateVersion: 1.1.0.0
  • 플랫폼 – 환경의 플랫폼 버전의 Amazon 리소스 이름(ARN)입니다. 플랫폼에 ARN 또는 솔루션 스택 이름을 지정할 수 있습니다.

    Platform: PlatformArn: arn:aws:elasticbeanstalk:us-east-2::platform/Java 8 running on 64bit Amazon Linux/2.5.0
  • SolutionStack – 환경 생성에 사용된 솔루션 스택의 전체 이름입니다.

    SolutionStack: 64bit Amazon Linux 2017.03 v2.5.0 running Java 8
  • OptionSettings – 환경에 적용할 구성 옵션 설정입니다. 예를 들어 다음 항목은 인스턴스 유형을 t2.micro로 설정합니다.

    OptionSettings: aws:autoscaling:launchconfiguration: InstanceType: t2.micro
  • 태그 – 환경 내에서 생성된 리소스에 적용할 최대 47개의 태그입니다.

    Tags: Cost Center: WebApp Dev
  • EnvironmentTier – 생성할 환경 유형입니다. 웹 서버 환경의 경우 이 섹션은 제외시킬 수 있습니다(웹 서버가 기본값임). 작업자 환경의 경우 다음을 사용합니다.

    EnvironmentTier: Name: Worker Type: SQS/HTTP
  • CName – 환경의 CNAME입니다. 그룹을 활성화하려면 이 이름의 끝에 + 문자를 포함합니다.

    CName: front-A08G28LG+
  • EnvironmentName – 생성할 환경 이름입니다. 그룹을 활성화하려면 이 이름의 끝에 + 문자를 포함합니다.

    EnvironmentName: front+

    그룹이 활성화되어 있으면 환경을 생성할 때 그룹 이름을 지정해야 합니다. Elastic Beanstalk에서는 하이픈을 사용하여 환경 이름에 그룹 이름을 추가합니다. 예를 들어, 환경 이름이 front+이고, 그룹 이름이 dev이면 Elastic Beanstalk에서는 이름이 front-dev인 환경을 생성합니다.

  • EnvironmentLinks – 변수 이름 및 환경 이름의 종속성 맵입니다. 다음 예제에서는 worker+ 환경을 종속시키고 Elastic Beanstalk에 링크 정보를 변수 WORKERQUEUE에 저장하도록 지시합니다.

    EnvironmentLinks: "WORKERQUEUE" : "worker+"

    링크 변수의 값은 연결된 환경의 유형에 따라 달라집니다. 웹 서버 환경의 경우 이 링크는 환경의 CNAME입니다. 작업자 환경의 경우 이 링크는 환경의 Amazon Simple Queue Service(Amazon SQS) 대기열 이름입니다.

CName, EnvironmentNameEnvironmentLinks 키는 환경 그룹다른 환경에 대한 링크를 생성하는 데 사용할 수 있습니다. 현재 이러한 기능은 EB CLI, AWS CLI 또는 SDK를 사용하는 경우 지원됩니다.