환경 생성 중 구성 옵션 설정 - AWS Elastic Beanstalk

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

환경 생성 중 구성 옵션 설정

Elastic Beanstalk 콘솔, EB CLI, AWS CLI, SDK 또는 Elastic Beanstalk API를 사용하여 AWS Elastic Beanstalk 환경을 생성할 때 구성 옵션의 값을 입력하여 환경과 그 환경에서 시작되는 AWS 리소스를 사용자 지정할 수 있습니다.

임시 구성 변경이 아닌 항목의 경우 로컬, 소스 번들 또는 Amazon S3에 구성 파일을 저장할 수 있습니다.

이 주제에는 환경이 생성되는 동안 구성 옵션을 설정하는 모든 방법에 대한 절차가 포함되어 있습니다.

Elastic Beanstalk 콘솔

Elastic Beanstalk 콘솔에 Elastic Beanstalk 환경을 생성할 때 새 환경 생성 마법사의 양식, 구성 파일, 저장된 구성을 사용하여 구성 옵션을 제공할 수 있습니다.

구성 파일(.ebextensions) 사용

이름이 .config인 폴더에 있는 애플리케이션 소스 번들.ebextensions 파일을 포함합니다.

구성 파일에 대한 자세한 내용은 .Ebextensions 단원을 참조하세요.

~/workspace/my-app-v1.zip |-- .ebextensions | |-- environmentvariables.config | `-- healthcheckurl.config |-- index.php `-- styles.css

환경 생성 중에 소스 번들을 Elastic Beanstalk에 정상적으로 업로드합니다.

Elastic Beanstalk 콘솔은 일부 구성 옵션에 대해 권장 값을 적용하며, 나머지 구성 옵션의 양식 필드를 갖추고 있습니다. Elastic Beanstalk 콘솔에서 구성된 옵션은 환경에 직접 적용되며 구성 파일의 설정을 재정의합니다.

저장된 구성 사용

Elastic Beanstalk 콘솔을 사용하여 새 환경을 생성할 때 첫 단계 중 하나는 구성을 선택하는 것입니다. 구성은 미리 정의된 구성, 일반적으로 PHP 또는 Tomcat 등의 최신 플랫폼 버전이나 저장된 구성일 수 있습니다.

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

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

    참고

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

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

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

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

저장된 구성은 애플리케이션에 따라 다릅니다. 저장된 구성의 생성에 대한 상세한 내용은 저장된 구성 단원을 참조하세요.

새 환경 마법사 사용

표준 구성 옵션의 대부분은 새 환경 생성 마법사 생성추가 옵션 구성 페이지에 나와 있습니다. Amazon RDS 데이터베이스를 생성하거나 환경에 대한 VPC를 구성하는 경우, 해당 리소스에 대한 페이지에서 추가 구성 옵션을 확인할 수 있습니다.

환경을 생성하는 동안 구성 옵션을 설정하려면(Elastic Beanstalk 콘솔)
  1. Elastic Beanstalk 콘솔을 연 다음 리전(Regions) 목록에서 해당 AWS 리전을 선택합니다.

  2. 탐색 창에서 [애플리케이션]을 선택합니다.

  3. 애플리케이션을 선택하거나 생성합니다.

  4. [작업]을 선택한 후 [환경 생성]을 선택합니다.

  5. 마법사를 진행하여 추가 옵션 구성을 선택합니다.

  6. 구성 사전 설정 중 하나를 선택한 다음 하나 이상의 구성 범주에서 [편집]을 선택하여 관련 구성 옵션 그룹을 변경합니다.

  7. 옵션을 선택한 다음 환경 생성을 선택합니다.

새 환경 마법사에서 설정하는 모든 옵션은 환경에 직접 설정하며, 적용할 구성 파일(.ebextensions)이나 저장된 구성의 옵션 설정을 재정의합니다. EB CLI 또는 AWS CLI로 환경을 생성한 후 해당 설정을 제거하여 저장된 구성 파일의 설정이 표시되게 할 수 있습니다.

새 환경 마법사에 대한 자세한 내용은 새 환경 생성 마법사 단원을 참조하세요.

EB CLI 사용

구성 파일(.ebextensions) 사용

.config의 프로젝트 폴더에 .ebextensions 파일을 넣어 애플리케이션 코드와 함께 배포합니다.

구성 파일에 대한 자세한 내용은 .Ebextensions 단원을 참조하세요.

~/workspace/my-app/ |-- .ebextensions | |-- environmentvariables.config | `-- healthcheckurl.config |-- .elasticbeanstalk | `-- config.yml |-- index.php `-- styles.css

환경을 생성하고 eb create로 소스 코드를 환경에 배포합니다.

~/workspace/my-app$ eb create my-env

저장된 구성 사용

eb create로 환경을 생성할 때 저장된 구성을 적용하려면 --cfg 옵션을 사용합니다.

~/workspace/my-app$ eb create --cfg savedconfig

저장된 구성을 Amazon S3의 Elastic Beanstalk 저장 위치 또는 프로젝트 폴더에 저장할 수 있습니다. 이전 예에서 EB CLI는 savedconfig.cfg.yml 폴더의 .elasticbeanstalk/saved_configs/이라는 저장된 구성 파일을 먼저 찾습니다. .cfg.yml로 저장된 구성을 적용할 때 파일 이름 확장명(--cfg)을 포함하지 마세요.

~/workspace/my-app/ |-- .ebextensions | `-- healthcheckurl.config |-- .elasticbeanstalk | |-- saved_configs | | `-- savedconfig.cfg.yml | `-- config.yml |-- index.php `-- styles.css

EB CLI가 로컬에서 구성을 찾지 못할 경우 Amazon S3의 Elastic Beanstalk 저장 위치에서 확인합니다. 저장된 구성의 생성, 편집 및 업로드에 대한 자세한 내용은 저장된 구성 단원을 참조하세요.

명령줄 옵션 사용

EB CLI eb create 명령에는 환경을 생성하는 동안 구성 옵션을 설정하는 데 사용할 수 있는 여러 옵션이 있습니다. 이 옵션은 환경에 RDS 데이터베이스를 추가하거나 VPC를 구성하거나 권장 값을 재정의하는 데 사용할 수 있습니다.

예를 들어 EB CLI는 기본적으로 t2.micro 인스턴스 유형을 사용합니다. 다른 인스턴스 유형을 선택하려면 --instance_type 옵션을 사용합니다.

$ eb create my-env --instance_type t2.medium

Amazon RDS 데이터베이스 인스턴스를 생성하여 환경에 연결하려면 --database 옵션을 사용합니다.

$ eb create --database.engine postgres --database.username dbuser

환경 이름, 데이터베이스 암호 또는 환경을 생성하는 데 필요한 기타 모든 파라미터를 제거하는 경우 EB CLI에는 해당 사항을 입력하라는 메시지가 표시됩니다.

사용 가능한 옵션 및 사용 예의 전체 목록은 eb create를 참조하세요.

AWS CLI 사용

create-environment 명령을 사용하여 AWS CLI로 Elastic Beanstalk 환경을 생성할 때 AWS CLI는 어떠한 권장 값도 적용하지 않습니다. 모든 구성 옵션은 지정한 소스 번들의 구성 파일에 정의되어 있습니다.

구성 파일(.ebextensions) 사용

AWS CLI로 생성한 환경에 구성 파일을 적용하려면 Amazon S3에 업로드되는 애플리케이션 소스 번들에 포함합니다.

구성 파일에 대한 자세한 내용은 .Ebextensions 단원을 참조하세요.

~/workspace/my-app-v1.zip |-- .ebextensions | |-- environmentvariables.config | `-- healthcheckurl.config |-- index.php `-- styles.css
애플리케이션 소스 번들을 업로드하고 AWS CLI로 환경 생성
  1. 아직 Amazon S3의 Elastic Beanstalk 버킷이 없는 경우 create-storage-location으로 한 개를 생성합니다.

    $ aws elasticbeanstalk create-storage-location { "S3Bucket": "elasticbeanstalk-us-west-2-123456789012" }
  2. 애플리케이션 소스 번들을 Amazon S3에 업로드합니다.

    $ aws s3 cp sourcebundle.zip s3://elasticbeanstalk-us-west-2-123456789012/my-app/sourcebundle.zip
  3. 애플리케이션 버전 생성.

    $ aws elasticbeanstalk create-application-version --application-name my-app --version-label v1 --description MyAppv1 --source-bundle S3Bucket="elasticbeanstalk-us-west-2-123456789012",S3Key="my-app/sourcebundle.zip" --auto-create-application
  4. 환경 생성

    $ aws elasticbeanstalk create-environment --application-name my-app --environment-name my-env --version-label v1 --solution-stack-name "64bit Amazon Linux 2015.03 v2.0.0 running Tomcat 8 Java 8"

저장된 구성 사용

생성 중 저장된 구성을 환경에 적용하려면 --template-name 파라미터를 사용합니다.

$ aws elasticbeanstalk create-environment --application-name my-app --environment-name my-env --template-name savedconfig --version-label v1

저장된 구성을 지정할 때 솔루션 스택 이름은 지정하지 마세요. 저장된 구성에 이미 솔루션 스택이 지정되어 있으며 두 옵션을 사용하려고 하는 경우 Elastic Beanstalk는 오류를 반환합니다.

명령줄 옵션 사용

--option-settings 파라미터를 사용하여 JSON 형식으로 구성 옵션을 지정합니다.

$ aws elasticbeanstalk create-environment --application-name my-app --environment-name my-env --version-label v1 --template-name savedconfig --option-settings '[ { "Namespace": "aws:elasticbeanstalk:application", "OptionName": "Application Healthcheck URL", "Value": "/health" } ]

파일에서 JSON을 로드하려면 file:// 접두사를 사용합니다.

$ aws elasticbeanstalk create-environment --application-name my-app --environment-name my-env --version-label v1 --template-name savedconfig --option-settings file://healthcheckurl.json

Elastic Beanstalk는 --option-settings 옵션으로 지정한 옵션 설정을 환경에 직접 적용합니다. 저장된 구성이나 저장된 파일에 동일한 옵션을 지정한 경우, --option-settings가 해당 값을 재정의합니다.