EB CLI 구성 - AWS Elastic Beanstalk

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

EB CLI 구성

EB CLI를 설치한 후 eb init를 실행하면 프로젝트 디렉터리 및 EB CLI를 구성할 준비가 완료됩니다.

다음은 프로젝트 폴더명이 eb인 에서 eb init 를 처음 실행할 때의 구성 단계를 보여주는 예시입니다.

EB CLI 프로젝트를 시작하려면
  1. 먼저 EB CLI에 리전을 선택하라는 메시지가 표시됩니다. 사용할 리전 번호를 입력한 다음 입력을 누릅니다.

    ~/eb $ eb init Select a default region 1) us-east-1 : US East (N. Virginia) 2) us-west-1 : US West (N. California) 3) us-west-2 : US West (Oregon) 4) eu-west-1 : Europe (Ireland) 5) eu-central-1 : Europe (Frankfurt) 6) ap-south-1 : Asia Pacific (Mumbai) 7) ap-southeast-1 : Asia Pacific (Singapore) ... (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. Elastic Beanstalk 환경 인스턴스에 SSH 키 페어를 할당하려면 를 선택합니다. 이렇게 하면 인스턴스로 직접 연결하여 문제를 해결할 수 있습니다.

    Do you want to set up SSH for your instances? (y/n): y
  7. 기존 키 페어를 선택하거나 새 페어를 생성합니다. eb init를 통해 새 키 페어를 생성하려면 로컬 시스템에 ssh-keygen이 설치되어 있고 명령줄에 입력할 수 있어야 합니다. EB 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를 읽지 않습니다.

.ebignore가 있으면 EB CLI는 git 명령을 사용하여 소스 번들을 생성하지 않습니다. 즉 EB CLI는 .ebignore에 지정된 파일을 무시하고 다른 모든 파일을 포함시킵니다. 특히 커밋되지 않은 소스 파일을 포함시킵니다.

참고

Windows에서 .ebignore 파일을 추가하면 EB CLI가 심볼 링크를 따르며 소스 번들을 만들 때 연결된 파일을 포함시킵니다. 이 문제는 인지되었으며 향후 업데이트에서 수정할 예정입니다.

명명된 프로파일 사용

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

$ eb init --profile user2

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

Linux, macOS 또는 Unix

$ export AWS_EB_PROFILE=user2

Windows

> set AWS_EB_PROFILE=user2

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

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

deploy: artifact: path/to/buildartifact.zip

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

~/eb$ eb deploy --staged

구성 설정 및 우선 순위

EB CLI는 공급자 체인을 통해 시스템, 사용자 환경 변수, 로컬 AWS 구성 파일을 포함한 다양한 위치에서 AWS 보안 인증을 찾습니다.

EB 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 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는 키를 입력하라는 메시지를 표시합니다.

인스턴스 메타데이터

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

~$ sudo pip install awsebcli

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

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