메뉴
AWS Elastic Beanstalk
개발자 안내서 (API Version 2010-12-01)

EB CLI 구성

EB CLI를 설치하면 eb init로 프로젝트 폴더를 구성할 준비가 됩니다.

애플리케이션의 프로젝트 디렉터리에서 eb init를 실행하여 EB CLI와 프로젝트를 구성합니다.

다음 예제에서는 eb라는 프로젝트 폴더에서 eb init를 처음 실행할 경우의 구성 단계를 보여 줍니다.

EB CLI 프로젝트를 시작하려면

  1. 먼저 EB CLI가 리전을 선택하라는 메시지를 표시합니다. 사용할 리전에 해당하는 번호를 입력한 후 Enter를 누릅니다.

    ~/eb $ eb init
    Select a default region
    1) us-east-1 : 동부(버지니아 북부) 2) us-west-1 : 미국 서부(캘리포니아 북부) 3) us-west-2 : 미국 서부(오리건) 4) eu-west-1 : EU(아일랜드) 5) eu-central-1 : EU(프랑크푸르트) 6) ap-south-1 : 아시아 태평양(뭄바이) 7) ap-southeast-1 : 아시아 태평양(싱가포르) 8) ap-southeast-2 : 아시아 태평양(시드니) 9) ap-northeast-1 : 아시아 태평양(도쿄) 10) ap-northeast-2 : 아시아 태평양(서울) 11) sa-east-1 : 남아메리카(상파울루) 12) cn-north-1 : 중국(베이징) 13) us-east-2 : 미국 동부(콜럼버스) 14) ca-central-1 : 캐나다(중부) 15) eu-west-2 : EU(런던)
    (default is 3): 3
  2. 그런 다음 EB CLI가 리소스를 관리할 수 있도록 액세스 키와 보안 키를 입력합니다. 액세스 키는 AWS Identity and Access Management 관리 콘솔에서 생성됩니다. 키가 없는 경우 보안 자격 증명을 가져오는 방법(출처: Amazon Web Services 일반 참조)을 참조하십시오.

    You have not yet set up your credentials or your credentials are incorrect
    You must provide your credentials.
    (aws-access-id): AKIAJOUAASEXAMPLE
    (aws-secret-key): 5ZRIrtTM4ciIAvd4EXAMPLEDtm+PiPSzpoK
  3. Elastic Beanstalk의 애플리케이션은 단일 웹 애플리케이션과 연결된 저장된 구성, 환경, 애플리케이션 버전 세트(소스)가 포함된 리소스입니다. EB CLI를 사용하여 소스 코드를 Elastic Beanstalk에 배포할 때마다 새 애플리케이션 버전이 생성되고 목록에 추가됩니다.

    Select an application to use
    1) [ Create new Application ]
    (default is 1): 1
  4. 기본 애플리케이션 이름은 eb init를 실행하는 폴더 이름입니다. 프로젝트를 설명하는 이름을 입력합니다.

    Enter Application Name
    (default is "eb"): eb
    Application eb has been created.
  5. 웹 애플리케이션이 개발되는 프레임워크 또는 언어와 일치하는 플랫폼을 선택합니다. 애플리케이션 개발을 아직 시작하지 않은 경우 관심 있는 플랫폼을 선택합니다. 곧 샘플 애플리케이션을 시작하는 방법을 보게 될 것이며, 나중에 이 설정을 언제든 변경할 수 있습니다.

    Select a platform.
    1) Node.js
    2) PHP
    3) Python
    4) Ruby
    5) Tomcat
    6) IIS
    7) Docker
    8) Multi-container Docker
    9) GlassFish
    10) Go
    11) Java
    (default is 1): 1
  6. 문제 해결을 위해 인스턴스에 직접 연결할 수 있도록 [yes]를 선택하여 Elastic Beanstalk 환경의 인스턴스에 SSH 키 페어를 할당합니다.

    Do you want to set up SSH for your instances?
    (y/n): y
  7. 기존 키 페어를 선택하거나 새로 만듭니다. eb init를 사용하여 새 키 페어를 만들려면 로컬 시스템에 ssh-keygen이 설치되어 있고 명령줄에서 사용할 수 있어야 합니다. CLI는 새 키 페어를 Amazon EC2에 등록하고, 사용자 디렉터리의 .ssh라는 폴더에 프라이빗 키를 로컬로 저장합니다.

    Select a keypair.
    1) [ Create new KeyPair ]
    (default is 1): 1

이제 EB CLI 설치가 구성되어 사용할 준비가 됩니다. Elastic Beanstalk 환경을 생성하고 사용하는 방법에 대한 자세한 내용은 EB CLI를 사용하여 Elastic Beanstalk 환경 관리 단원을 참조하십시오.

.ebignore를 사용하여 파일 무시

.ebignore 파일을 사용하여 프로젝트 디렉터리의 특정 파일을 무시하라고 EB CLI에 알릴 수 있습니다. 이 파일은 .gitignore와 같이 작동합니다. 프로젝트 디렉터리를 Elastic Beanstalk에 배포하고 새 애플리케이션 버전을 생성하는 경우, EB CLI에는 이렇게 생성되는 소스 번들의 .ebignore에서 지정한 파일이 포함되지 않습니다.

.ebignore는 없지만 .gitignore는 있는 경우, EB CLI는 .gitignore에 지정된 파일을 무시합니다. .ebignore 파일이 있는 경우 EB CLI는 .gitignore를 읽지 않습니다.

참고

Windows에서 .ebignore 파일을 추가하면 EB CLI가 심볼 링크를 따라가서 소스 번들을 만들 때 연결된 파일을 포함시킵니다. 이는 알려진 문제로 향후 업데이트에서 수정될 예정입니다.

명명된 프로파일 사용

credentials 또는 config 파일에 자격 증명을 명명된 프로파일로 저장하면, --profile 옵션을 사용하여 프로파일을 명시적으로 지정할 수 있습니다. 예를 들어 다음 명령은 user2 프로파일을 사용하여 새 애플리케이션을 생성합니다.

$ eb init --profile user2

AWS_EB_PROFILE 환경 변수를 설정하여 기본 프로파일을 변경할 수도 있습니다. 이 변수가 설정되면 EB CLI는 default 또는 eb-cli 대신에 지정된 프로파일에서 자격 증명을 읽습니다.

Linux, macOS, or Unix

$ export AWS_EB_PROFILE=user2

Windows

> set AWS_EB_PROFILE=user2

프로젝트 폴더 대신 아티팩트 배포

프로젝트 폴더의 .elasticbeanstalk/config.yml에 다음 줄을 추가하여 별도의 빌드 프로세스의 일부로 생성하는 ZIP 또는 WAR 파일을 배포하라고 EB CLI에 알릴 수 있습니다.

deploy:
  artifact: path/to/buildartifact.zip

Git 리포지토리에서 EB CLI를 구성하며 아티팩트를 소스에 커밋하지 않는 경우, --staged 옵션을 사용하여 최신 빌드를 배포합니다.

~/eb$ eb deploy --staged

구성 설정 및 우선 순위

EB CLI는 공급자 체인을 사용하여 시스템 또는 사용자 환경 변수 및 로컬 AWS 구성 파일을 포함한 다양한 장소에서 AWS 자격 증명을 찾습니다.

AWS CLI는 다음 순서로 자격 증명과 구성 설정을 찾습니다.

  1. 명령줄 옵션 – 기본 설정을 재정의하도록 --profile을 사용하여 명명된 프로파일을 지정할 수 있습니다.

  2. 환경 변수AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY

  3. AWS 자격 증명 파일 – Linux 및 OS X 시스템의 경우 ~/.aws/credentials에, Windows 시스템의 경우 C:\Users\USERNAME\.aws\credentials에 있습니다. 이 파일에는 기본 프로파일 외에도 여러 명명된 프로파일이 포함될 수 있습니다.

  4. AWS CLI 구성 파일 – Linux 및 OS X 시스템의 경우 ~/.aws/config에, Windows 시스템의 경우 C:\Users\USERNAME\.aws\config에 있습니다. 이 파일에는 각각에 대한 기본 프로파일, 명명된 프로파일 및 AWS CLI 특정 구성 파라미터가 포함될 수 있습니다.

  5. 레거시 EB CLI 구성 파일 – Linux 및 OS X 시스템의 경우 ~/.elasticbeanstalk/config에, Windows 시스템의 경우 C:\Users\USERNAME\.elasticbeanstalk/config에 있습니다.

  6. 인스턴스 프로파일 자격 증명 – 이 자격 증명은 할당된 인스턴스 역할이 있는 EC2 인스턴스에서 사용할 수 있으며 Amazon EC2 메타데이터 서비스를 통해 전달됩니다. 인스턴스 프로파일에는 Elastic Beanstalk를 사용할 권한이 있어야 합니다.

자격 증명 파일에 이름이 "eb-cli"인 명명된 프로파일이 포함된 경우, EB CLI는 기본 프로파일보다 해당 프로파일을 우선합니다. 프로파일을 찾을 수 없거나 프로파일을 찾았으나 Elastic Beanstalk를 사용할 권한이 없는 경우, EB CLI는 키를 입력하라는 메시지를 표시합니다.

인스턴스 메타데이터

EC2 인스턴스에서 EB CLI를 사용하려면 필요한 리소스에 액세스할 수 있는 역할을 생성하고 인스턴스가 시작될 때 해당 역할을 인스턴스에 할당합니다. 인스턴스를 시작하고 pip를 사용하여 EB CLI를 설치합니다.

~$ sudo pip install awsebcli

pip는 Amazon Linux에 미리 설치된 상태로 제공됩니다.

EB CLI는 인스턴스 메타데이터에서 자격 증명을 읽습니다. 자세한 내용은 IAM 사용 설명서Amazon EC2 인스턴스에서 실행하는 애플리케이션에 AWS 리소스에 대한 액세스 권한 부여를 참조하십시오.