Elastic Beanstalk 환경 간에 링크 생성 - AWS Elastic Beanstalk

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

Elastic Beanstalk 환경 간에 링크 생성

애플리케이션의 크기가 커지고 복잡해질수록, 개발과 운영 수명 주기가 다양한 구성 요소로 분할하고 싶을 수 있습니다. 잘 정의된 인터페이스를 통해 상호 작용을 하는 더 작은 서비스를 실행함으로써, 각 팀은 서로 독립적으로 업무를 수행할 수 있고 배포 시 발생하는 위험을 줄일 수 있습니다. AWS Elastic Beanstalk에서는 서로 의존하고 있는 구성 요소들 간에 정보를 공유하도록 사용자의 각 환경을 연결해줄 수 있습니다.

참고

Elastic Beanstalk는 현재 멀티컨테이너 Docker를 제외한 모든 플랫폼에 대한 환경 링크를 지원합니다.

환경 링크를 통해 애플리케이션의 구성 요소 환경 간 연결을 명명된 참조로 지정할 수 있습니다. 링크를 정의하는 환경을 생성할 때 Elastic Beanstalk는 링크와 동일한 이름을 가진 환경 변수를 설정합니다. 변수 값은 다른 구성 요소에 연결하는 데 사용할 수 있는 엔드포인트로, 웹 서버 또는 작업자 환경일 수 있습니다.

예를 들어 애플리케이션이 이메일 주소를 수집하는 프런트엔드와 수집된 이메일 주소로 환영 이메일을 보내는 작업자로 구성되어 있는 경우, 프런트엔드에 작업자 링크를 만들어 프런트엔드에서 작업자 엔드포인트(대기열 URL)를 자동으로 찾을 수 있게 합니다.

애플리케이션 소스의 루트의 env.yaml이라는 YAML 형식 파일인 환경 매니페스트에 다른 환경에 대한 링크를 정의합니다. 다음 매니페스트는 작업자라는 이름의 환경에 대한 링크를 정의합니다.

~/workspace/my-app/frontend/env.yaml

AWSConfigurationTemplateVersion: 1.1.0.0 EnvironmentLinks: "WORKERQUEUE": "worker"

위의 환경 매니페스트를 포함하는 애플리케이션 버전이 있는 환경을 생성할 때 Elastic Beanstalk에서 동일한 애플리케이션에 속한 worker라는 환경을 찾습니다. 해당 환경이 존재하는 경우, Elastic Beanstalk는 WORKERQUEUE라는 환경 속성을 만듭니다. WORKERQUEUE의 값은 Amazon SQS 대기열 URL입니다. 프런트엔드 애플리케이션은 동일한 방식으로 이 속성을 환경 변수로 읽습니다. 세부 정보는 환경 매니페스트(env.yaml)를 참조하세요.

환경 링크를 사용하려면 애플리케이션 소스에 환경 매니페스트를 추가한 후 EB CLI, AWS CLI 또는 SDK로 업로드합니다. AWS CLI 또는 SDK를 사용하는 경우, CreateApplicationVersion을 호출할 때 process 플래그를 설정합니다.

$ aws elasticbeanstalk create-application-version --process --application-name my-app --version-label frontend-v1 --source-bundle S3Bucket="amzn-s3-demo-bucket",S3Key="front-v1.zip"

이 옵션은 애플리케이션 버전을 만들 때 소스 번들에서 구성 파일과 환경 매니페스트를 확인할 것을 Elastic Beanstalk에 지시합니다. EB CLI는 프로젝트 디렉터리에 환경 매니페스트가 있을 때 이 플래그를 자동적으로 설정합니다.

일반적으로 클라이언트를 사용하여 환경을 생성합니다. 환경을 종료해야 할 때, 먼저 링크로 환경을 종료합니다. 환경이 다른 환경에 연결되어 있는 경우, Elastic Beanstalk는 연결된 환경이 종료되지 못하게 합니다. 이 보호를 재정의하려면 ForceTerminate 플래그를 사용합니다. 이 파라미터는 AWS CLI에서 --force-terminate로 사용됩니다.

$ aws elasticbeanstalk terminate-environment --force-terminate --environment-name worker