EB CLI를 사용하여 여러 Elastic Beanstalk 환경을 하나의 그룹으로 관리 - AWS Elastic Beanstalk

EB CLI를 사용하여 여러 Elastic Beanstalk 환경을 하나의 그룹으로 관리

EB CLI를 사용하여 AWS Elastic Beanstalk 환경 그룹을 만들 수 있으며, 각 환경 그룹은 서비스 중심 아키텍처 애플리케이션의 개별 구성 요소를 실행합니다. EB CLI는 ComposeEnvironments API를 사용하여 이 같은 그룹을 관리합니다.

참고

환경 그룹은 멀티컨테이너 Docker 환경의 여러 컨테이너들과 다릅니다. 환경 그룹에서는 애플리케이션의 각 구성 요소가 전용 Amazon EC2 인스턴스를 가지고 별도의 Elastic Beanstalk 환경에서 실행됩니다. 구성 요소마다 별도로 확장할 수가 있습니다. 멀티컨테이너 Docker에서는 한 애플리케이션의 여러 구성 요소를 하나의 환경으로 결합합니다. 모든 구성 요소가 동일한 Amazon EC2 인스턴스 세트를 공유하고, 각 인스턴스가 여러 개의 Docker 컨테이너를 실행합니다. 애플리케이션의 필요에 따라 이들 아키텍처 중 하나를 선택하십시오.

멀티컨테이너 Docker에 대한 자세한 내용은 멀티컨테이너 Docker 플랫폼(Amazon Linux AMI) 단원을 참조하십시오.

애플리케이션 구성 요소는 다음 폴더 구조로 구성됩니다.

~/project-name |-- component-a | `-- env.yaml `-- component-b `-- env.yaml

각 하위 폴더는 이름이 env.yaml인 환경 정의 파일 및 자체 환경에서 실행될 애플리케이션의 독립적인 구성 요소의 소스 코드로 구성됩니다. env.yaml 형식에 대한 자세한 내용은 환경 매니페스트(env.yaml) 단원을 참조하십시오.

Compose Environments API를 사용하려면 먼저 프로젝트 폴더에서 eb init를 실행하여, 각 구성 요소를 --modules 옵션을 통해 소속된 폴더 이름으로 지정합니다.

~/workspace/project-name$ eb init --modules component-a component-b

EB CLI에 각 구성 요소를 구성하라는 메시지가 표시되면 각 구성 요소 폴더에 .elasticbeanstalk 디렉터리를 만듭니다. EB CLI는 부모 디렉터리에 구성 파일을 만들지 않습니다.

~/project-name |-- component-a | |-- .elasticbeanstalk | `-- env.yaml `-- component-b |-- .elasticbeanstalk `-- env.yaml

그런 다음 구성 요소별로 하나씩 eb create 명령과 생성할 환경 목록을 실행합니다.

~/workspace/project-name$ eb create --modules component-a component-b --env-group-suffix group-name

이 명령은 각 구성 요소에 대한 환경을 생성합니다. EnvironmentName 파일에 지정된 env.yaml을 그룹 이름(하이픈으로 구분)으로 연결하여 환경 이름을 만듭니다. 두 옵션과 하이픈의 총 길이는 허용되는 최대 환경 이름 길이인 23자를 초과할 수 없습니다.

환경을 업데이트하려면 eb deploy 명령을 사용하십시오.

~/workspace/project-name$ eb deploy --modules component-a component-b

각 구성 요소를 개별적으로 또는 하나의 그룹으로 업데이트할 수 있습니다. --modules 옵션으로 업데이트하려는 구성 요소를 지정합니다.

EB CLI는 사용한 그룹 이름을 eb create에 있는 EB CLI 구성 파일의 branch-defaults 섹션에 /.elasticbeanstalk/config.yml로 저장합니다. 다른 그룹에 애플리케이션을 배포하려면 --env-group-suffix를 실행할 때 eb deploy 옵션을 사용하십시오. 아직 그룹이 존재하지 않는 경우, EB CLI는 새 환경 그룹을 만듭니다.

~/workspace/project-name$ eb deploy --modules component-a component-b --env-group-suffix group-2-name

환경을 종료하려면 각 모듈의 폴더에서 eb terminate를 실행합니다. 기본적으로 EB CLI는 다른 실행 환경이 종속되어 있는 환경을 종료할 때 오류를 표시합니다. 먼저 종속 환경을 종료하거나 --ignore-links 옵션을 사용하여 기본 동작을 재정의합니다.

~/workspace/project-name/component-b$ eb terminate --ignore-links