eb create - AWS Elastic Beanstalk

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

eb create

설명

새 환경을 생성하여 애플리케이션 버전을 해당 환경에 배포합니다.

참고
  • .NET 애플리케이션에 eb create를 사용하려면 .NET 애플리케이션에 대한 소스 번들 생성에 설명된 대로 배포 패키지를 생성한 후 프로젝트 폴더 대신 아티팩트 배포에 설명된 대로 CLI 구성을 설정하여 패키지를 아티팩트로 배포해야 합니다.

  • EB CLI로 환경을 생성하려면 서비스 역할이 필요합니다. Elastic Beanstalk 콘솔에서 환경을 생성하여 서비스 역할을 생성할 수 있습니다. 서비스 역할이 없는 경우 사용자가 eb create를 실행할 때 EB CLI가 역할 생성을 시도합니다.

다음과 같이 몇 가지 소스에서 애플리케이션 버전을 배포할 수 있습니다.

  • 기본: 로컬 프로젝트 디렉터리의 애플리케이션 소스 코드에서

  • --version 옵션 사용: 애플리케이션에 이미 있는 애플리케이션 버전에서

  • 프로젝트 디렉터리에 애플리케이션 코드가 없는 경우 또는 --sample 옵션을 사용하는 경우: 환경의 플랫폼별 샘플 애플리케이션에서 배포

조건

eb create

eb create environment-name

환경 이름의 길이는 4~40자여야 합니다. 문자, 숫자 및 하이픈(-)만 포함될 수 있습니다. 환경 이름은 하이픈으로 시작하거나 끝날 수 없습니다.

명령에 환경 이름을 포함할 경우 EB CLI는 선택하거나 서비스 역할을 생성하라는 메시지를 표시하지 않습니다.

환경 이름 인수 없이 명령을 실행하는 경우 명령은 대화형 흐름으로 실행되며 일부 설정에 대한 값을 입력하거나 선택하라는 메시지를 표시합니다. 이러한 대화형 흐름에서 샘플 애플리케이션을 배포하는 경우 EB CLI에서도 로컬 프로젝트 디렉터리에 이 샘플 애플리케이션을 다운로드할지 묻습니다. 다운로드함으로써 사용자는 이후에 새로운 환경에서 EB CLI를 사용해 애플리케이션의 코드(예: eb deploy)가 필요한 작업을 실행할 수 있습니다.

일부 대화형 흐름 프롬프트는 특정 조건에서만 표시됩니다. 예를 들어, Application Load Balancer를 사용하도록 선택하고 계정에 하나 이상의 공유 가능 Application Load Balancer가 있는 경우 Elastic Beanstalk에서 공유 로드 밸런서를 사용할 것인지 묻는 메시지가 표시됩니다. 계정에 공유 가능한 Application Load Balancer가 없으면 이 메시지가 표시되지 않습니다.

옵션

이러한 옵션은 필요하지 않습니다. 아무 옵션도 지정하지 않고 eb create를 실행하면 EB CLI가 각 설정에 대한 값을 입력하거나 선택하라는 메시지를 표시합니다.

이름

설명

-d

또는

--branch_default

환경을 현재 리포지토리에 대한 기본 환경으로 설정합니다.

--cfg config-name

.elasticbeanstalk/saved_configs/ 또는 Amazon S3 버킷에 저장된 구성에서 플랫폼 설정을 사용합니다. .cfg.yml 확장명 없이 파일 이름만 지정합니다.

-c subdomain-name

또는

--cname subdomain-name

웹 사이트로 라우팅되는 CNAME DNS 항목의 접두사로 사용할 하위 도메인 이름입니다.

유형: 문자열

기본값: 환경 이름

-db

또는

--database

데이터베이스를 환경에 연결합니다. eb create--database 옵션으로 실행하고 --database.username--database.password 옵션은 사용하지 않을 경우 EB CLI는 데이터베이스 마스터 사용자 이름과 암호를 묻는 메시지를 표시합니다.

-db.engine engine

또는

--database.engine engine

데이터베이스 엔진 유형입니다. eb create를 이 옵션과 함께 실행할 경우 EB CLI는 연결된 데이터베이스가 있는 환경을 시작합니다. 이것은 --database 옵션과 함께 명령을 실행하지 않은 경우에도 마찬가지입니다.

유형: 문자열

유효한 값: mysql, oracle-se1, postgres, sqlserver-ex, sqlserver-web, sqlserver-se

-db.i instance_type

또는

--database.instance instance_type

데이터베이스에 대해 사용할 Amazon EC2 인스턴스의 유형입니다. eb create를 이 옵션과 함께 실행할 경우 EB CLI는 연결된 데이터베이스가 있는 환경을 시작합니다. 이것은 --database 옵션과 함께 명령을 실행하지 않은 경우에도 마찬가지입니다.

유형: 문자열

유효 값:

Amazon RDS는 DB 인스턴스의 표준 세트를 지원합니다. DB 엔진에 대해 적절한 DB 인스턴스를 선택하기 위해서는 몇 가지 구체적인 사항을 고려해야 합니다. 자세한 내용은 Amazon RDS 사용 설명서DB 인스턴스 클래스 단원을 참조하십시오.

-db.pass 암호

또는

--database.password 암호

데이터베이스에 대한 암호입니다. eb create를 이 옵션과 함께 실행할 경우 EB CLI는 연결된 데이터베이스가 있는 환경을 시작합니다. 이것은 --database 옵션과 함께 명령을 실행하지 않은 경우에도 마찬가지입니다.

-db.size number_of_gigabytes

또는

--database.size number_of_gigabytes

데이터베이스 스토리지에 할당할 기가바이트(GB) 수입니다. eb create를 이 옵션과 함께 실행할 경우 EB CLI는 연결된 데이터베이스가 있는 환경을 시작합니다. 이것은 --database 옵션과 함께 명령을 실행하지 않은 경우에도 마찬가지입니다.

형식: 숫자

유효 값:

  • MySQL - 5~1024입니다. 기본값은 5입니다.

  • Postgres - 5~1024입니다. 기본값은 5입니다.

  • Oracle10~1024입니다. 기본값은 10입니다.

  • Microsoft SQL Server Express Edition30입니다.

  • Microsoft SQL Server Web Edition30입니다.

  • Microsoft SQL Server Standard Edition200입니다.

-db.user username

또는

--database.username username

데이터베이스의 사용자 이름입니다. eb create를 이 옵션과 함께 실행할 경우 EB CLI는 --database 옵션을 사용하지 않았더라도 연결된 데이터베이스가 있는 환경을 시작합니다. eb create--database 옵션과 함께 실행하고 --database.username--database.password 옵션은 사용하지 않을 경우 EB CLI는 마스터 데이터베이스 사용자 이름과 암호를 묻는 메시지를 표시합니다.

-db.version version

또는

--database.version version

데이터베이스 엔진 버전을 지정하는 데 사용됩니다. 이 플래그가 있는 경우 --database 플래그가 없더라도 지정된 버전 번호를 가진 데이터베이스에서 환경이 시작됩니다.

--elb-type type

로드 밸런서 유형입니다.

유형: 문자열

유효한 값: classic, application, network

기본값: application

-es

또는

--enable-spot

환경에 대한 스팟 인스턴스 요청을 활성화합니다. 자세한 내용은 Auto Scaling 그룹을(를) 참조하세요.

관련 옵션:

  • --instance-types

  • --on-demand-base-capacity

  • --on-demand-above-base-capacity

  • --spot-max-price

--env-group-suffix groupname 환경 이름에 추가할 그룹 이름입니다. 환경 작성에서만 사용할 수 있습니다.

--envvars

name=value 형식이며 쉼표로 분리된 목록의 환경 속성입니다. 제한은 환경 속성 구성(환경 변수) 단원을 참조하세요.

-ip profile_name

또는

--instance_profile profile_name

애플리케이션에서 AWS 리소스에 액세스하는 데 필요한 임시 보안 자격 증명을 가진 IAM 역할을 포함하는 인스턴스 프로파일입니다.

-it

또는

--instance-types type1[,type2 ...]

환경에서 사용할 Amazon EC2 인스턴스 유형의 쉼표로 구분된 목록입니다. 이 옵션을 지정하지 않으면 Elastic Beanstalk에서 기본 인스턴스 유형을 제공합니다.

자세한 내용은 Amazon EC2 인스턴스Auto Scaling 그룹 단원을 참조하세요.

중요

EB CLI는 이 옵션을 스팟 인스턴스에만 적용합니다. 이 옵션은 --enable-spot 옵션과 함께 사용하지 않는 한 EB CLI에서 이를 무시합니다. 온디맨드 인스턴스의 인스턴스 유형을 지정하려면 --intance-type(‘s’ 없음) 옵션을 대신 사용합니다.

-i

또는

--instance_type

환경에서 사용할 Amazon EC2 인스턴스 유형입니다. 이 옵션을 지정하지 않으면 Elastic Beanstalk에서 기본 인스턴스 유형을 제공합니다.

자세한 내용은 Amazon EC2 인스턴스을(를) 참조하세요.

중요

EB CLI는 온디맨드 인스턴스에만 이 옵션을 적용합니다. 이 옵션은 --enable-spot 옵션과 함께 사용할 경우 EB CLI가 무시하므로 함께 사용하지 마세요. 스팟 인스턴스의 인스턴스 유형을 지정하려면 --intance-types(‘s’ 포함) 옵션을 대신 사용합니다.

-k key_name

또는

--keyname key_name

Elastic Beanstalk 애플리케이션을 실행하는 Amazon EC2 인스턴스에 안전하게 로그인하기 위해 Secure Shell(SSH) 클라이언트에서 사용할 Amazon EC2 키 페어의 이름입니다. eb create 명령에 이 옵션을 포함할 경우 eb init으로 지정한 키 이름을 제공된 값으로 덮어씁니다.

유효한 값: Amazon EC2에 등록된 기존 키 이름

-im number-of-instances

또는

--min-instances number-of-instances

보유한 환경에 필요한 최소 Amazon EC2 인스턴스 수입니다.

유형: 숫자(정수)

기본값: 1

유효한 값: 1 ~ 10000

-ix number-of-instances

또는

--max-instances number-of-instances

보유한 환경에 허용할 수 있는 최대 Amazon EC2 인스턴스 수입니다.

유형: 숫자(정수)

기본값: 4

유효한 값: 1 ~ 10000

--modules component-a component-b

생성할 구성 요소 환경의 목록입니다. 환경 작성에서만 사용할 수 있습니다.

-sb

또는

--on-demand-base-capacity

환경 확장에 따라 스팟 인스턴스를 고려하기 전에 Auto Scaling 그룹이 프로비저닝하는 최소 온디맨드 인스턴스 수입니다.

이 옵션은 --enable-spot 옵션을 통해서만 지정할 수 있습니다. 자세한 내용은 Auto Scaling 그룹을(를) 참조하세요.

유형: 숫자(정수)

기본값: 0

유효한 값: 0 ~ --max-instances(없는 경우: MaxSize 네임스페이스의 aws:autoscaling:asg 옵션)

-sp

또는

--on-demand-above-base-capacity

Auto Scaling 그룹이 --on-demand-base-capacity 옵션에 지정된 인스턴스 수를 초과하여 Auto Scaling 그룹에 프로비저닝하는 추가 용량의 일부인 온디맨드 인스턴스의 비율입니다.

이 옵션은 --enable-spot 옵션을 통해서만 지정할 수 있습니다. 자세한 내용은 Auto Scaling 그룹 단원을 참조하세요.

유형: 숫자(정수)

기본값: 단일 인스턴스 환경의 경우 0, 로드 밸런싱 수행 환경의 경우 70

유효한 값: 0 ~ 100

-p platform-version

또는

--platform platform-version

사용할 플랫폼 버전입니다. 플랫폼, 플랫폼 및 버전, 플랫폼 브랜치, 솔루션 스택 이름 또는 솔루션 스택 ARN을 지정할 수 있습니다. 예:

  • php, PHP, node.js - 지정된 플랫폼의 최신 플랫폼 버전

  • php-7.2, "PHP 7.2" - 권장되는 (일반적으로 최신 버전) PHP 7.2 플랫폼 버전

  • "PHP 7.2 running on 64bit Amazon Linux" - 이 플랫폼 브랜치에서 권장되는 (일반적으로 최신 버전전) PHP 플랫폼 버전

  • "64bit Amazon Linux 2017.09 v2.6.3 running PHP 7.1" - 이 솔루션 스택 이름으로 지정된 PHP 플랫폼 버전

  • "arn:aws:elasticbeanstalk:us-east-2::platform/PHP 7.1 running on 64bit Amazon Linux/2.6.3" - 이 솔루션 스택 ARN으로 지정된 PHP 플랫폼 버전

eb platform list를 사용하여 사용 가능한 구성 목록을 가져옵니다.

--platform 옵션을 지정할 경우 eb init 중에 제공된 값을 재정의합니다.

-pr

또는

--process

소스 번들의 환경 매니페스트 및 구성 파일을 사전 처리 및 확인합니다. 구성 파일을 확인하면 환경에 애플리케이션 버전을 배포하기 전에 문제를 파악할 수 있습니다.

-r region

또는

--region region

애플리케이션을 배포할 AWS 리전입니다.

이 옵션에 지정할 수 있는 값의 목록은 AWS 일반 참조AWS Elastic Beanstalk엔드포인트 및 할당량을 참조하세요.

--sample

새 환경에 리포지토리의 코드 대신하여 샘플 애플리케이션을 배포합니다.

--scale number-of-instances

지정된 수의 인스턴스로 시작

--service-role servicerole 기본값이 아닌 서비스 역할을 환경에 할당합니다.
참고

ARN을 입력하지 마세요. 역할 이름만 입력합니다. Elastic Beanstalk에서는 역할 이름의 접두사로 올바른 값을 지정하여 결과 ARN을 내부적으로 생성합니다.

-ls load-balancer

또는

--shared-lb load-balancer

공유 로드 밸런서를 사용하도록 환경을 구성합니다. 계정의 공유 가능 로드 밸런서(다른 Elastic Beanstalk 환경에서 생성된 것이 아니라 명시적으로 직접 생성한 Application Load Balancer)의 이름 또는 ARN을 입력합니다. 자세한 내용은 공유 Application Load Balancer을(를) 참조하세요.

파라미터 예:

  • FrontEndLB - 로드 밸런서 이름입니다.

  • arn:aws:elasticloadbalancing:us-east-2:123456789012:loadbalancer/app/FrontEndLB/0dbf78d8ad96abbc - Application Load Balancer ARN입니다.

이 옵션은 --elb-type application과 함께만 지정할 수 있습니다. 이 옵션을 지정하고 --shared-lb를 지정하지 않으면 Elastic Beanstalk에서는 환경의 전용 로드 밸런서를 생성합니다.

-lp port

또는

--shared-lb-port port

이 환경에 대한 공유 로드 밸런서의 기본 리스너 포트입니다. Elastic Beanstalk는 이 리스너의 모든 트래픽을 기본 환경 프로세스로 라우팅하는 리스너 규칙을 추가합니다. 자세한 내용은 공유 Application Load Balancer을(를) 참조하세요.

유형: 숫자(정수)

기본값: 80

유효한 값: 공유 로드 밸런서의 리스너 포트를 나타내는 정수입니다.

--single

로드 밸런서 없이 단일 Amazon EC2 인스턴스를 사용하여 환경을 생성합니다.

주의

단일 인스턴스 환경에서는 프로덕션을 지원하지 않습니다. 배포 중에 인스턴스가 불안정하게 되거나, Elastic Beanstalk가 구성 업데이트 중 인스턴스를 종료했다가 다시 시작하는 경우 일정 시간 동안 애플리케이션을 사용하지 못할 수 있습니다. 개발, 테스트 또는 스테이징에는 단일 인스턴스 환경을 사용합니다. 프로덕션에는 로드 밸런싱된 환경을 사용합니다.

-sm

또는

--spot-max-price

스팟 인스턴스에 대해 지불하려는 단위 시간당 최고 가격(미국 달러)입니다.

이 옵션은 --enable-spot 옵션을 통해서만 지정할 수 있습니다. 자세한 내용은 Auto Scaling 그룹 단원을 참조하세요.

유형: 숫자(부동 소수점)

기본: 각 인스턴스 유형에 대한 온디맨드 가격입니다. 이 경우 옵션의 값은 null입니다.

유효한 값: 0.001~20.0

스팟 인스턴스에 대한 최고 가격 옵션 권장 사항에 대해서는 Linux 인스턴스용 Amazon EC2 사용 설명서스팟 인스턴스 요금 기록을 참조하세요.

--tags key1=value1[,key2=value2 ...]

환경에서 리소스에 태그를 지정합니다. 태그는 쉼표로 구분된 key=value 페어 목록으로 지정됩니다.

자세한 내용은 환경에 태그 지정을(를) 참조하세요.

-t worker

또는

--tier worker

작업자 환경을 생성합니다. 웹 서버 환경을 생성하려면 이 옵션을 생략합니다.

--timeout minutes

명령 시간이 초과되기 전 경과되는 시간(분)을 설정합니다.

--version version_label

로컬 프로젝트 디렉터리의 애플리케이션 소스 코드 대신 환경에 배포할 애플리케이션 버전을 지정합니다.

유형: 문자열

유효한 값: 기존 애플리케이션 버전 레이블

--vpc

환경에 대해 VPC를 구성합니다. 이 옵션을 포함하는 경우 EB CLI는 환경을 시작하기 전에 모든 필요한 설정을 입력하라는 메시지를 표시합니다.

--vpc.dbsubnets subnet1,subnet2

VPC에서 데이터베이스 인스턴스의 서브넷을 지정합니다. --vpc.id를 지정한 경우 필수입니다.

--vpc.ec2subnets subnet1,subnet2

VPC에서 Amazon EC2 인스턴스의 서브넷을 지정합니다. --vpc.id를 지정한 경우 필수입니다.

--vpc.elbpublic

VPC의 퍼블릭 서브넷에서 Elastic Load Balancing 로드 밸런서를 시작합니다.

이 옵션은 --tier worker 옵션이나 --single 옵션과 함께 지정할 수 없습니다.

--vpc.elbsubnets subnet1,subnet2

VPC에서 Elastic Load Balancing 로드 밸런서에 대한 서브넷을 지정합니다.

이 옵션은 --tier worker 옵션이나 --single 옵션과 함께 지정할 수 없습니다.

--vpc.id ID

지정된 VPC에서 환경을 시작합니다.

--vpc.publicip

VPC의 퍼블릭 서브넷에서 Amazon EC2 인스턴스를 시작합니다.

이 옵션은 --tier worker 옵션과 함께 지정할 수 없습니다.

--vpc.securitygroups securitygroup1,securitygroup2

보안 그룹 ID를 지정합니다. --vpc.id를 지정한 경우 필수입니다.

일반 옵션

출력

명령이 성공적으로 수행되면 질문 여부를 묻는 메시지가 표시되고 이후 생성 작업 상태가 반환됩니다. 시작 중 문제가 생긴 경우 eb events 작업을 통해 자세한 내용을 확인할 수 있습니다.

애플리케이션의 CodeBuild 지원을 활성화한 경우 eb create는 코드가 빌드될 때 CodeBuild의 정보를 표시합니다. Elastic Beanstalk의 CodeBuild 지원에 대한 자세한 내용은 AWS CodeBuild에서 EB CLI 사용을 참조하세요.

다음 예는 대화형 모드에서 환경을 생성합니다.

$ eb create Enter Environment Name (default is tmp-dev): ENTER Enter DNS CNAME prefix (default is tmp-dev): ENTER Select a load balancer type 1) classic 2) application 3) network (default is 2): ENTER Environment details for: tmp-dev Application name: tmp Region: us-east-2 Deployed Version: app-141029_145448 Environment ID: e-um3yfrzq22 Platform: 64bit Amazon Linux 2014.09 v1.0.9 running PHP 5.5 Tier: WebServer-Standard-1.0 CNAME: tmp-dev.elasticbeanstalk.com Updated: 2014-10-29 21:54:51.063000+00:00 Printing Status: ...

또한 다음 예에서는 대화형 모드에서 환경을 생성합니다. 이 예의 프로젝트 디렉터리에는 애플리케이션 코드가 없습니다. 이 명령은 샘플 애플리케이션을 배포하고 이를 로컬 프로젝트 디렉터리에 다운로드합니다.

$ eb create Enter Environment Name (default is tmp-dev): ENTER Enter DNS CNAME prefix (default is tmp-dev): ENTER Select a load balancer type 1) classic 2) application 3) network (default is 2): ENTER NOTE: The current directory does not contain any source code. Elastic Beanstalk is launching the sample application instead. Do you want to download the sample application into the current directory? (Y/n): ENTER INFO: Downloading sample application to the current directory. INFO: Download complete. Environment details for: tmp-dev Application name: tmp Region: us-east-2 Deployed Version: Sample Application Environment ID: e-um3yfrzq22 Platform: 64bit Amazon Linux 2014.09 v1.0.9 running PHP 5.5 Tier: WebServer-Standard-1.0 CNAME: tmp-dev.elasticbeanstalk.com Updated: 2017-11-08 21:54:51.063000+00:00 Printing Status: ...

다음 명령은 프롬프트를 표시하지 않고 환경을 생성합니다.

$ eb create dev-env Creating application version archive "app-160312_014028". Uploading test/app-160312_014028.zip to S3. This may take a while. Upload Complete. Application test has been created. Environment details for: dev-env Application name: test Region: us-east-2 Deployed Version: app-160312_014028 Environment ID: e-6fgpkjxyyi Platform: 64bit Amazon Linux 2015.09 v2.0.8 running PHP 5.6 Tier: WebServer-Standard CNAME: UNKNOWN Updated: 2016-03-12 01:40:33.614000+00:00 Printing Status: ...

다음 명령은 사용자 지정 VPC에서 환경을 생성합니다.

$ eb create dev-vpc --vpc.id vpc-0ce8dd99 --vpc.elbsubnets subnet-b356d7c6,subnet-02f74b0c --vpc.ec2subnets subnet-0bb7f0cd,subnet-3b6697c1 --vpc.securitygroup sg-70cff265 Creating application version archive "app-160312_014309". Uploading test/app-160312_014309.zip to S3. This may take a while. Upload Complete. Environment details for: dev-vpc Application name: test Region: us-east-2 Deployed Version: app-160312_014309 Environment ID: e-pqkcip3mns Platform: 64bit Amazon Linux 2015.09 v2.0.8 running Java 8 Tier: WebServer-Standard CNAME: UNKNOWN Updated: 2016-03-12 01:43:14.057000+00:00 Printing Status: ...