Docker 컨테이너에서 Elastic Beanstalk 애플리케이션 배포 - AWS Elastic Beanstalk

Docker 컨테이너에서 Elastic Beanstalk 애플리케이션 배포

Elastic Beanstalk는 Docker 컨테이너에서 웹 애플리케이션의 배포를 지원합니다. Docker 컨테이너로 런타임 환경을 사용자 지정할 수 있습니다. 일반적으로 다른 플랫폼에서 지원되지 않는 모든 애플리케이션 종속성(예: 패키지 관리자 또는 도구), 프로그래밍 언어, 자체 플랫폼을 선택할 수도 있습니다. Docker 컨테이너는 독립형으로 실행되며 웹 애플리케이션을 실행하는 데 필요한 소프트웨어와 모든 구성 정보를 포함합니다. Elastic Beanstalk 콘솔에서 정의되는 모든 환경 변수는 컨테이너로 전달됩니다.

Elastic Beanstalk에서 Docker를 사용하여 용량 프로비저닝, 로드 밸런싱, 조정, 애플리케이션 상태 모니터링에 대한 모든 세부 정보를 처리하는 인프라를 보유합니다. Elastic Beanstalk와 통합되는 다양한 서비스를 지원하는 환경에서 웹 애플리케이션을 손쉽게 관리할 수 있습니다.

이 장에서 다루는 주제를 이해하려면 Elastic Beanstalk 환경에 대한 약간의 지식이 있어야 합니다. 아직 Elastic Beanstalk를 사용한 적이 없다면 시작하기 자습서를 통해 기본 사항을 익히기 바랍니다. 이 장에서는 사용자가 Docker와 Docker 작동 방식에 대해 기본적인 이해를 하고 있다고 가정합니다. 자세한 정보는 Docker 웹 사이트의 Docker 개요를 참조하세요.

Docker 플랫폼 제품군

Elastic Beanstalk에 대한 Docker 플랫폼 제품군에는 여러 플랫폼 브랜치가 포함되어 있습니다. 가장 최신 플랫폼 브랜치는 Amazon Linux 2 운영 체제를 기반으로 하며 장기적인 지원을 제공합니다.

  • 64비트 Amazon Linux 2에서 실행되는 Docker

  • 64비트 Amazon Linux 2에서 실행되는 ECS

각 Docker 플랫폼에 대해 지원되는 플랫폼 브랜치에 대한 자세한 내용은 AWS Elastic Beanstalk 플랫폼 문서의 지원되는 플랫폼 페이지를 참조하세요.

Docker를 지원하는 다른 세 가지 플랫폼 브랜치가 있습니다. 이들은 2022년 6월 30일에 만료됩니다. 이들 모두는 Amazon Linux 2보다 앞선 Amazon Linux AMI에서 실행됩니다.

  • 64비트 Amazon Linux에서 실행되는 Docker

  • 64비트 Amazon Linux에서 실행되는 멀티컨테이너 Docker(Amazon ECS에서 관리)

  • Amazon Linux에서 실행되는 사전 구성된 Docker(Glassfish 5.0)

만료되는 모든 Elastic Beanstalk 플랫폼 브랜치 목록은 AWS Elastic Beanstalk 플랫폼 가이드의 만료 예정 플랫폼 브랜치를 참조하세요.

Amazon Linux 2에서 실행되는 Docker

이 플랫폼 브랜치는 단일 컨테이너 및 멀티컨테이너 지원 모두 제공합니다. Elastic Beanstalk는 이 플랫폼 브랜치의 EC2 인스턴스에 Docker 이미지 및 소스 코드를 배포합니다. Docker 플랫폼의 Docker Compose 도구를 활용하여 애플리케이션 구성, 테스트 및 배포를 간소화할 수 있습니다. 이 플랫폼 브랜치에 대한 자세한 내용은 Docker 플랫폼 브랜치 사용을(를) 참조하세요.

64비트 Amazon Linux 2에서 실행되는 ECS

이 플랫폼 브랜치는 Amazon ECS를 사용하여 Elastic Beanstalk 환경의 Amazon ECS 클러스터로의 여러 Docker 컨테이너 배포를 조정합니다. 환경에서 각 인스턴스는 동일한 컨테이너 세트를 실행하며, 이는 Dockerrun.aws.json 파일에 정의되어 있습니다. 자세한 정보는 Amazon ECS 플랫폼 브랜치 사용을 참조하십시오.

Amazon Linux(이전 Amazon Linux 2)에서 실행되는 플랫폼 브랜치

참고

다음 플랫폼 브랜치는 2022년 6월 30일에 만료될 예정입니다. 플랫폼 지원 정책 및 만료된 플랫폼 브랜치에 대한 자세한 내용은 이 가이드의 플랫폼 지원 정책 주제를 참조하세요.

이 플랫폼 브랜치는 Dockerfile 또는 Dockerrun.aws.json v1 정의에 설명된 Docker 이미지를 배포하는 데 사용할 수 있습니다. 이 플랫폼은 Amazon Linux AMI 운영 체제(이전 Amazon Linux 2 버전)만 지원하며 각 인스턴스에 대해 하나의 컨테이너만 실행합니다.

새로운 지원되는 플랫폼 브랜치 64비트 Amazon Linux 2에서 실행되는 Docker를 사용하여 환경을 만드는 것이 좋습니다. 자세한 정보는 Docker 플랫폼 브랜치 사용을 참조하십시오.

이 플랫폼 브랜치는 Amazon ECS를 사용하여 Elastic Beanstalk 환경의 Amazon ECS 클러스터로의 여러 Docker 컨테이너 배포를 조정합니다. 하지만, Amazon Linux AMI 운영 체제(이전 Amazon Linux 2 버전)만 지원합니다. 이 플랫폼 브랜치를 사용하는 대신 앞서 언급한 Amazon Linux 2에서 실행되는 Docker 플랫폼 브랜치 중 하나를 사용하는 것이 좋습니다.

이미 이 플랫폼 브랜치를 사용하고 있다면 최신 버전의 64비트 Amazon Linux 2에서 실행되는 ECS 플랫폼 브랜치로 마이그레이션하는 것이 좋습니다. 최신 플랫폼 브랜치는 이 단종된 플랫폼 브랜치의 모든 기능을 지원합니다. 소스 코드를 변경할 필요가 없습니다. 자세한 정보는 Amazon Linux에서 실행되는 멀티컨테이너 Docker를 Amazon Linux 2의 ESC로 마이그레이션을 참조하십시오.

두 가지 기본 Docker 플랫폼 외에도 Amazon Linux AMI 운영 체제(이전 Amazon Linux 2 버전)에서 실행되는 사전 구성된 Docker GlassFish 플랫폼 브랜치도 있습니다. 이 플랫폼 브랜치는 플랫폼 브랜치 64비트 Amazon Linux 2에서 실행되는 Docker로 대체되었습니다. GlassFish 및 애플리케이션 코드를 Amazon Linux 2 Docker 이미지에 배포하여 GlassFish 애플리케이션을 이 새로운 지원되는 플랫폼 브랜치로 간단히 마이그레이션할 수 있습니다. 자세한 내용은 Docker 플랫폼에 GlassFish 애플리케이션 배포를 참조하세요.