구성 옵션 - AWS Elastic Beanstalk

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

구성 옵션

Elastic Beanstalk에서는 환경의 동작과 환경에 포함된 리소스를 구성하는 데 사용할 수 있는 많은 구성 옵션을 정의합니다. 구성 옵션은 환경의 Auto Scaling 그룹에 대한 옵션을 정의하는 aws:autoscaling:asg와 같은 네임스페이스로 구성됩니다.

Elastic Beanstalk 콘솔 및 EB CLI는 사용자가 환경을 생성할 때 사용자가 명시적으로 설정한 옵션을 비롯한 구성 옵션과 클라이언트가 정의한 권장 값을 설정합니다. 또한 저장된 구성 및 구성 파일에서 구성 옵션을 설정할 수도 있습니다. 여러 위치에 동일한 옵션이 설정되어 있는 경우 사용되는 값은 우선 순위에 따라 결정됩니다.

구성 옵션 설정은 텍스트 형식으로 구성하고 환경을 생성하기 전에 저장할 수 있으며, 지원되는 모든 클라이언트를 사용하여 환경을 생성하는 동안 적용할 수 있고, 환경을 생성한 후 추가, 수정 또는 제거할 수 있습니다. 이러한 각 세 단계에서 구성 옵션 작업에 사용할 수 있는 모든 방법에 대한 세부 분석은 다음 주제를 참조하세요.

네임스페이스 및 옵션의 전체 목록(각각의 기본값 및 지원되는 값 포함)은 모든 환경의 일반 옵션플랫폼별 옵션 단원을 참조하세요.

Precedence

환경을 생성하는 동안 구성 옵션은 가장 높은 우선 순위에서 가장 낮은 우선 순위로 여러 원본에서 적용됩니다.

  • 환경에 직접 적용되는 설정 – Elastic Beanstalk 콘솔, EB CLI, AWS CLI, SDK를 비롯한 모든 클라이언트가 Elastic Beanstalk API에서 환경 생성 또는 환경 업데이트 작업을 하는 동안 지정하는 설정입니다. 또한 Elastic Beanstalk 콘솔 및 EB CLI는 재정의되지 않는 한 이 수준에서 적용되는 일부 옵션에 권장 값을 적용합니다.

  • 저장된 구성 – 환경에 직접 적용되지 않는 모든 옵션의 설정은 저장된 구성에서 로드됩니다(지정한 경우).

  • 구성 파일(.ebextensions) – 환경에 직접 적용되지 않으며 또한 저장된 구성에도 지정되지 않은 모든 옵션의 설정은 애플리케이션 소스 번들의 루트에 있는 .ebextensions 폴더의 구성 파일에서 로드됩니다.

    구성 파일은 사전순으로 실행됩니다. 예를 들어, .ebextensions/01run.config.ebextensions/02do.config 이전에 실행됩니다.

  • 기본값 – 구성 옵션에 기본값이 있는 경우, 옵션이 위 수준 중 하나로 설정되지 않은 경우에만 적용됩니다.

두 개 이상의 위치에 동일한 구성 옵션이 정의된 경우, 우선 순위가 가장 높은 설정이 적용됩니다. 설정이 저장된 구성에서 적용되거나 환경에 직접 적용된 경우, 해당 설정은 환경의 구성 일부로 저장됩니다. 이러한 설정은 AWS CLI를 사용하거나 EB CLI를 사용하여 제거할 수 있습니다.

구성 파일의 설정은 환경에 직접 적용되지 않으므로 구성 파일을 수정하고 새 애플리케이션 버전을 배포하지 않고는 제거할 수 없습니다. 다른 방법 중 하나로 적용된 설정을 제거하면 동일한 설정이 소스 번들의 구성 파일에서 로드됩니다.

예를 들어, 환경을 생성하는 동안 Elastic Beanstalk 콘솔, 명령줄 옵션 또는 저장된 구성을 사용하여 환경의 최소 인스턴스 수를 5로 설정했다고 가정하겠습니다. 또한 애플리케이션의 소스 번들에는 최소 인스턴스 수를 2로 설정한 구성 파일이 들어 있습니다.

사용자가 환경을 생성할 때 Elastic Beanstalk는 MinSize 네임스페이스의 aws:autoscaling:asg 옵션을 5로 설정합니다. 그런 다음 환경 구성에서 이 옵션을 제거하면 구성 파일의 값이 로드되므로 최소 인스턴스 수는 2로 설정됩니다. 그런 다음 소스 번들에서 구성 파일을 제거하고 재배포하면 Elastic Beanstalk는 기본 설정인 1을 사용합니다.

권장 값

Elastic Beanstalk 명령줄 인터페이스(EB CLI)와 Elastic Beanstalk 콘솔은 일부 구성 옵션에 권장 값을 제공합니다. 이러한 값은 기본값과 다를 수 있으며, 환경을 생성할 때 API 수준에서 설정됩니다. Elastic Beanstalk는 권장 값을 사용하여 API를 이전 버전과 호환되지 않게 변경하지 않고 기본 환경 구성을 개선할 수 있습니다.

예를 들어, EB CLI와 Elastic Beanstalk 콘솔 모두 EC2 인스턴스 유형(InstanceType 네임스페이스의 aws:autoscaling:launchconfiguration)의 구성 옵션을 설정합니다. 각 클라이언트는 기본 설정을 재정의하는 다른 방법을 제공합니다. 콘솔에서 새 환경 생성 마법사의 구성 세부 정보 페이지에 있는 드롭다운 메뉴에서 다른 인스턴스 유형을 선택할 수 있습니다. EB CLI에서 --instance_typeeb create 파라미터를 사용할 수 있습니다.

권장 값은 API 수준에서 설정되므로 사용자가 구성 파일 또는 저장된 구성에서 설정한 동일한 옵션의 값을 재정의합니다. 다음 옵션이 설정됩니다.

Elastic Beanstalk 콘솔
  • 네임스페이스: aws:autoscaling:launchconfiguration

    옵션 이름: IamInstanceProfile, EC2KeyName, InstanceType

  • 네임스페이스: aws:autoscaling:updatepolicy:rollingupdate

    옵션 이름: RollingUpdateTypeRollingUpdateEnabled

  • 네임스페이스: aws:elasticbeanstalk:application

    옵션 이름: Application Healthcheck URL

  • 네임스페이스: aws:elasticbeanstalk:command

    옵션 이름: DeploymentPolicy, BatchSizeBatchSizeType

  • 네임스페이스: aws:elasticbeanstalk:environment

    옵션 이름: ServiceRole

  • 네임스페이스: aws:elasticbeanstalk:healthreporting:system

    옵션 이름: SystemTypeHealthCheckSuccessThreshold

  • 네임스페이스: aws:elasticbeanstalk:sns:topics

    옵션 이름: Notification Endpoint

  • 네임스페이스: aws:elasticbeanstalk:sqsd

    옵션 이름: HttpConnections

  • 네임스페이스: aws:elb:loadbalancer

    옵션 이름: CrossZone

  • 네임스페이스: aws:elb:policies

    옵션 이름: ConnectionDrainingTimeoutConnectionDrainingEnabled

EB CLI
  • 네임스페이스: aws:autoscaling:launchconfiguration

    옵션 이름: IamInstanceProfile, InstanceType

  • 네임스페이스: aws:autoscaling:updatepolicy:rollingupdate

    옵션 이름: RollingUpdateTypeRollingUpdateEnabled

  • 네임스페이스: aws:elasticbeanstalk:command

    옵션 이름: BatchSizeBatchSizeType

  • 네임스페이스: aws:elasticbeanstalk:environment

    옵션 이름: ServiceRole

  • 네임스페이스: aws:elasticbeanstalk:healthreporting:system

    옵션 이름: SystemType

  • 네임스페이스: aws:elb:loadbalancer

    옵션 이름: CrossZone

  • 네임스페이스: aws:elb:policies

    옵션 이름: ConnectionDrainingEnabled