Elastic Beanstalk 저장된 구성 사용 - AWS Elastic Beanstalk

Elastic Beanstalk 저장된 구성 사용

환경의 구성은 Amazon Simple Storage Service(Amazon S3)에서 객체로 저장하여 환경 생성 중 다른 환경에 적용하거나 실행 중인 환경에 적용할 수 있습니다. 저장된 구성은 환경의 플랫폼 버전, 티어, 구성 옵션 설정 및 태그를 정의하는 YAML 형식 템플릿입니다.

저장된 구성을 생성할 때 해당 구성에 태그를 적용하고 기존 저장된 구성의 태그를 편집할 수 있습니다. 저장된 구성에 적용된 태그는 Tags: 키를 사용하여 저장된 구성에 지정된 태그와 관련이 없습니다. 두 번째 태그는 환경에 저장된 구성을 적용할 때 환경에 적용됩니다. 자세한 내용은 저장된 구성 태그 지정 섹션을 참조하세요.

참고

몇 가지 방법을 사용하여 저장된 구성을 생성하고 Elastic Beanstalk 환경에 적용할 수 있습니다. 여기에는 Elastic Beanstalk 콘솔, EB CLI 및 AWS CLI가 포함됩니다.

저장된 구성을 생성 및 적용하는 대체 방법의 예는 다음 주제를 참조하세요.

Elastic Beanstalk Management Console에서 환경의 현재 상태로부터 저장된 구성을 생성합니다.

환경의 구성을 저장하려면
  1. Elastic Beanstalk 콘솔을 연 다음 리전(Regions) 목록에서 해당 AWS 리전을 선택합니다.

  2. 탐색 창에서 환경을 선택한 다음 목록에서 환경의 이름을 선택합니다.

    참고

    환경이 많은 경우 검색 창을 사용하여 환경 목록을 필터링합니다.

  3. 작업(Actions)을 선택한 후 구성 저장(Save configuration)을 선택합니다.

  4. 화면에 표시되는 양식을 사용하여 저장된 구성의 이름을 지정합니다. 또는 간단한 설명을 제공하고 태그 키 및 값을 추가합니다.

  5. Save를 선택합니다.

    
          Elastic Beanstalk 콘솔의 구성 저장 페이지

저장된 구성에는 콘솔 또는 Elastic Beanstalk API를 사용하는 기타 모든 클라이언트의 환경에 적용한 모든 설정이 포함됩니다. 환경을 이전 상태로 복원하기 위해 나중에 환경에 저장된 구성을 적용하거나 환경 생성 중 새 환경에 저장된 구성을 적용할 수 있습니다.

다음 예에 나와 있는 대로 EB CLI eb config 명령을 사용하여 구성을 다운로드할 수 있습니다. NAME은 저장된 구성의 이름입니다.

eb config get NAME
환경을 생성하는 동안 저장된 구성을 적용하려면(Elastic Beanstalk 콘솔)
  1. Elastic Beanstalk 콘솔을 연 다음 리전(Regions) 목록에서 해당 AWS 리전을 선택합니다.

  2. 탐색 창에서 애플리케이션을 선택한 다음 목록에서 애플리케이션의 이름을 선택합니다.

    참고

    애플리케이션이 많은 경우 검색 창을 사용하여 애플리케이션 목록을 필터링합니다.

  3. 탐색 창에서 애플리케이션 이름을 찾은 다음 저장된 구성을 선택합니다.

  4. 적용할 저장된 구성을 선택한 다음 [Launch environment]를 선택합니다.

  5. 마법사를 진행하여 환경을 생성합니다.

저장된 구성에는 구성 파일을 사용하여 적용한 애플리케이션의 소스 코드 내 설정은 포함되지 않습니다. 구성 파일 및 저장된 구성 모두에 동일한 설정이 적용되면 저장된 구성의 설정이 우선합니다. 마찬가지로, Elastic Beanstalk 콘솔에 지정된 옵션이 저장된 구성의 옵션을 재정의합니다. 자세한 내용은 Precedence 섹션을 참조하세요.

저장된 구성은 Elastic Beanstalk S3 버킷에서 애플리케이션을 따라 이름이 지정된 폴더에 저장됩니다. 예를 들어, 계정 번호 123456789012에 대한 us-west-2 리전 내 my-app 애플리케이션의 구성은 s3://elasticbeanstalk-us-west-2-123456789012/resources/templates/my-app/에서 찾을 수 있습니다.

저장된 구성을 텍스트 편집기에서 열어 해당 내용을 봅니다. 다음 구성의 예는 Elastic Beanstalk Management Console을 사용하여 시작한 웹 서버 환경의 구성을 보여줍니다.

EnvironmentConfigurationMetadata: Description: Saved configuration from a multicontainer Docker environment created with the Elastic Beanstalk Management Console DateCreated: '1520633151000' DateModified: '1520633151000' Platform: PlatformArn: arn:aws:elasticbeanstalk:us-east-2::platform/Java 8 running on 64bit Amazon Linux/2.5.0 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 EnvironmentTier: Type: Standard Name: WebServer AWSConfigurationTemplateVersion: 1.1.0.0 Tags: Cost Center: WebApp Dev

저장된 구성의 내용을 수정하여 Amazon S3의 동일한 위치에 저장할 수 있습니다. 저장된 구성이 올바른 위치에 적절한 형식으로 저장되면 Elastic Beanstalk Management Console을 사용하여 환경에 적용할 수 있습니다.

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

  • 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
참고

몇 가지 방법을 사용하여 저장된 구성을 생성하고 Elastic Beanstalk 환경에 적용할 수 있습니다. 여기에는 Elastic Beanstalk 콘솔, EB CLI 및 AWS CLI가 포함됩니다.

저장된 구성을 생성 및 적용하는 대체 방법의 예는 다음 주제를 참조하세요.