Elastic Beanstalk 환경에 대한 Amazon EC2 인스턴스 - AWS Elastic Beanstalk

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

Elastic Beanstalk 환경에 대한 Amazon EC2 인스턴스

웹 서버 환경을 생성하면 AWS Elastic Beanstalk에서 인스턴스라고 하는 하나 이상의 Amazon Elastic Compute Cloud(Amazon EC2) 가상 머신을 생성합니다.

사용자 환경 인스턴스는 선택한 플랫폼에서 웹 앱을 실행하도록 구성됩니다. 환경을 생성할 때 또는 이미 실행 중일 때 환경 인스턴스의 다양한 속성과 동작을 변경할 수 있습니다. 또는 환경에 배포하는 소스 코드 수정을 통해 사전에 이러한 변경을 수행할 수 있습니다. 자세한 내용은 구성 옵션 단원을 참조하세요.

참고

환경 오토 스케일링 그룹은 애플리케이션을 실행하는 Amazon EC2 인스턴스를 관리합니다. 이 페이지에 설명된 구성을 변경할 경우 시작 구성도 변경됩니다. 시작 구성은 Amazon EC2 시작 템플릿 또는 Auto Scaling 그룹 시작 구성 리소스입니다. 이 변경 사항에 따라 모든 인스턴스를 교체해야 합니다. 또한 구성된 업데이트에 따라 롤링 업데이트 또는 변경 불가능한 업데이트를 트리거합니다.

Elastic Beanstalk는 온디맨드 인스턴스, 예약 인스턴스스팟 인스턴스 같은 여러 Amazon EC2 인스턴스 구매 옵션을 지원합니다. 온디맨드 인스턴스는 pay-as-you-go 리소스이므로 이를 사용할 때 장기 약정이 필요하지 않습니다. 예약 인스턴스는 사용자 환경에서 일치하는 온디맨드 인스턴스에 자동으로 적용되는 사전 구매 결제 할인입니다. 스팟 인스턴스는 온디맨드 가격보다 저렴한 비용으로 사용할 수 있는 미사용 Amazon EC2 인스턴스입니다. 단일 옵션을 설정하여 사용자 환경에서 스팟 인스턴스를 활성화할 수 있습니다. 추가 옵션을 사용하여 온디맨드 인스턴스와 스팟 인스턴스의 혼합 등 스팟 인스턴스 사용을 구성할 수 있습니다. 자세한 내용은 Auto Scaling 그룹을(를) 참조하세요.

Amazon EC2 인스턴스 유형

새 환경을 생성하면 Elastic Beanstalk는 사용자가 선택한 Amazon EC2 인스턴스 유형에 따른 Amazon EC2 인스턴스를 프로비저닝합니다. 선택한 인스턴스 유형을 기준으로 인스턴스를 실행하는 호스트 하드웨어가 결정됩니다. EC2 인스턴스 유형은 각각이 기반으로 하는 프로세서 아키텍처별로 분류할 수 있습니다. Elastic Beanstalk는 AWS Graviton 64비트 Arm 아키텍처(arm64), 64비트 아키텍처(x86) 및 32비트 아키텍처(i386)와 같은 프로세서 아키텍처를 토대로 인스턴스 유형을 지원합니다. Elastic Beanstalk는 새 환경을 만들 때 기본적으로 x86 프로세서 아키텍처를 선택합니다.

참고

i386 32비트 아키텍처는 대부분의 Elastic Beanstalk 플랫폼에서 더 이상 지원되지 않습니다. 대신 x86 또는 arm64 아키텍처 유형을 선택하는 것을 권장합니다. Elastic Beanstalk는 aws:ec2:instances 네임스페이스의 i386 프로세서 인스턴스 유형에 대한 구성 옵션을 제공합니다.

지정된 Elastic Beanstalk 환경에 대한 구성의 모든 인스턴스 유형에 있는 프로세서 아키텍처는 동일한 유형이여야 합니다. x86 아키텍처 기반의 t2.medium 인스턴스 유형이 이미 존재하는 기존 환경에 새 인스턴스 유형을 추가한다고 가정하십시오. t2.small과 같은 동일한 아키텍처의 다른 인스턴스 유형만 추가할 수 있습니다. 기존 인스턴스 유형을 다른 아키텍처의 인스턴스 유형으로 교체하려는 경우 그렇게 할 수 있습니다. 하지만 명령의 모든 인스턴스 유형이 동일한 유형의 아키텍처를 기반으로 하는지 확인하십시오.

호환되는 새로운 인스턴스 유형이 Amazon EC2에 도입되고 나면 Elastic Beanstalk는 정기적으로 지원을 추가합니다. 사용 가능한 인스턴스 유형에 대한 자세한 내용은 Linux 인스턴스용 Amazon EC2 사용 설명서인스턴스 유형 또는 Windows 인스턴스용 Amazon EC2 사용 설명서인스턴스 유형을 참조하세요.

참고

Elastic Beanstalk는 이제 모든 AWS Graviton 지원 리전의 모든 최신 Amazon Linux 2 플랫폼에서 Graviton에 대한 지원을 제공합니다. arm64 기반 인스턴스 유형으로 Elastic Beanstalk 환경을 생성하는 방법에 대한 자세한 내용은 환경에 대한 Amazon EC2 인스턴스 구성 단원을 참조하십시오.

arm64 아키텍처에서 Amazon EC2 인스턴스를 실행하는 새 환경을 만들고 Elastic Beanstalk의 배포 옵션을 사용하여 기존 애플리케이션을 해당 환경으로 마이그레이션합니다.

Graviton arm64 기반 프로세서에 대해 자세히 알아보려면 이러한 AWS 리소스를 참조하십시오.

환경에 대한 Amazon EC2 인스턴스 구성

Elastic Beanstalk 콘솔에서 Elastic Beanstalk 환경의 Amazon EC2 인스턴스 구성을 생성하거나 수정할 수 있습니다.

참고

Elastic Beanstalk 콘솔은 기존 환경의 프로세서 아키텍처를 변경하는 옵션을 제공하지 않지만 를 사용하여 변경할 수 있습니다. AWS CLI 명령의 예는 을 참조하십시오. AWS CLI를 사용하여 환경에 대한 AWS EC2 인스턴스 구성

환경을 생성하는 동안 Elastic Beanstalk 콘솔에서 Amazon EC2 인스턴스를 구성하려면
  1. Elastic Beanstalk 콘솔을 연 다음 리전(Regions) 목록에서 해당 AWS 리전을 선택합니다.

  2. 탐색 창에서 환경을 선택합니다.

  3. 새 환경 생성을 선택하여 환경 생성을 시작합니다.

  4. 마법사의 기본 페이지에서 환경 생성을 선택하기 전에 추가 옵션 구성을 선택합니다.

  5. 인스턴스 구성 범주에서 편집을 선택합니다. 이 범주의 설정을 변경한 다음 적용을 선택합니다. 설정 설명은 이 페이지의 인스턴스 범주 설정 단원을 참조하십시오.

  6. [용량] 구성 범주에서 [편집]을 선택합니다. 이 범주의 설정을 변경한 다음 계속을 선택합니다. 설정 설명은 이 페이지의 용량 범주 설정을 참조하십시오.

    프로세서 아키텍처 선택

    스크롤을 프로세서까지 아래로 내려 EC2 인스턴스에 대한 프로세서 아키텍처를 선택합니다. 콘솔은 이전에 환경 생성(Create environment) 패널에서 선택한 플랫폼에서 지원하는 프로세서 아키텍처를 나열합니다.

    필요한 프로세서 아키텍처가 표시되지 않는 경우, 구성 범주 목록으로 돌아가 해당 아키텍처를 지원하는 플랫폼을 선택하십시오. 용량 수정(Modify Capacity) 패널에서 취소(Cancel)를 선택합니다. 그런 다음 플랫폼 버전 변경(Change platform version)을 선택하여 새 플랫폼 설정을 선택합니다. 다음으로 용량(Capacity) 구성 범주에서 편집(Edit)을 선택하여 프로세서 아키텍처 선택 사항을 다시 확인합니다.

    실행 환경에 대한 Elastic Beanstalk 용량 구성 창의 Amazon EC2 인스턴스 설정
  7. 저장을 선택하고 난 후 환경에 필요한 다른 구성 부분을 변경합니다.

  8. 환경 생성을 선택합니다.

Elastic Beanstalk 콘솔에서 실행 환경 Amazon EC2 인스턴스를 구성하려면
  1. Elastic Beanstalk 콘솔을 연 다음 리전(Regions) 목록에서 해당 AWS 리전을 선택합니다.

  2. 탐색 창에서 환경을 선택한 다음 목록에서 환경 이름을 선택합니다.

    참고

    여러개의 환경을 보유한 경우 검색 창을 통해 환경 목록을 필터링합니다.

  3. 탐색 창에서 구성을 선택합니다.

  4. [인스턴스] 구성 범주에서 [편집]을 선택합니다. 이 범주의 설정을 변경한 다음 적용을 선택합니다. 설정 설명은 이 페이지의 인스턴스 범주 설정 단원을 참조하십시오.

  5. [용량] 구성 범주에서 [편집]을 선택합니다. 이 범주의 설정을 변경한 다음 계속을 선택합니다. 설정 설명은 이 페이지의 용량 범주 설정 단원을 참조하십시오.

인스턴스 범주 설정

인스턴스 구성 범주에서는 Amazon EC2 인스턴스와 관련된 다음과 같은 설정을 사용할 수 있습니다.

Elastic Beanstalk 인스턴스 구성 창의 Amazon EC2 인스턴스 설정

모니터링 간격

기본적으로 사용자 환경의 인스턴스는 추가 비용 없이 5분 CloudWatch 간격으로 Amazon에 기본 상태 지표를 게시합니다.

보다 자세한 보고를 위해 모니터링 간격을 1분으로 설정하여 환경의 리소스가 기본 상태 지표를 CloudWatch at에 게시하는 빈도를 늘릴 수 있습니다. CloudWatch 1분 간격 지표에는 서비스 요금이 적용됩니다. 자세한 내용은 Amazon을 참조하십시오 CloudWatch.

루트 볼륨(부트 디바이스)

환경의 각 인스턴스는 루트 볼륨으로 구성되어 있습니다. 루트 볼륨은 운영 체제, 라이브러리, 스크립트, 애플리케이션 소스 코드를 저장하기 위해 인스턴스에 연결된 Amazon EBS 블록 디바이스입니다. 기본적으로 모든 플랫폼은 스토리지에 일반용 SSD 블록 디바이스를 사용합니다.

루트 볼륨 유형을 수정하여 마그네틱 스토리지 또는 프로비저닝된 IOPS SSD 볼륨 유형을 사용하고, 필요한 경우 볼륨 크기를 늘릴 수 있습니다. 프로비저닝된 IOPS 볼륨의 경우 프로비저닝할 IOPS의 수도 선택해야 합니다. 처리량은 gp3 SSD 볼륨 유형에만 적용됩니다. 프로비저닝할 처리량을 입력할 수 있습니다. 이 값은 초당 125~1,000 메가 바이트(MiB/s) 범위 내로 설정할 수 있습니다. 성능과 가격 요건에 맞는 볼륨 유형을 선택합니다.

자세한 내용은 Linux 인스턴스용 Amazon EC2 사용 설명서Amazon EBS 볼륨 유형Amazon EBS 제품 세부 정보를 참조하십시오.

인스턴스 메타데이터 서비스

인스턴스 메타데이터 서비스(IMDS)는 인스턴스의 코드가 인스턴스 메타데이터에 안전하게 액세스하기 위해 사용하는 온 인스턴스 구성 요소입니다. 코드는 두 가지 방법 중 하나를 사용하여 실행 중인 인스턴스에서 인스턴스 메타데이터에 액세스할 수 있습니다. 인스턴스 메타데이터 서비스 버전 1(IMDSv1) 또는 인스턴스 메타데이터 서비스 버전 2(IMDSv2)입니다. IMDSv2가 더 안전합니다. IMDSv1을 비활성화하고 IMDSv2를 적용하십시오. 자세한 내용은 환경 인스턴스에서 인스턴스 메타데이터 서비스 구성 섹션을 참조하세요.

참고

이 구성 페이지의 IMDS 섹션은 IMDSv2를 지원하는 플랫폼 버전에 대해서만 설명합니다.

보안 그룹

인스턴스에 연결된 보안 그룹은 인스턴스에 도달할 수 있는 트래픽을 결정합니다. 또한 인스턴스를 떠나는 것이 허용되는 트래픽을 결정합니다. Elastic Beanstalk는 로드 밸런서에서 HTTP(80) 및 HTTPS(443)의 표준 포트로 트래픽을 허용하는 보안 그룹을 생성합니다.

다른 포트의 트래픽 또는 다른 소스에서 오는 트래픽을 허용하기 위해 생성한 보안 그룹을 추가 지정할 수 있습니다. 예를 들어 제한된 IP 주소 범위에서 포트 22의 인바운드 트래픽을 허용하는 SSH 액세스용 보안 그룹을 생성할 수 있습니다. 그렇지 않을 경우, 추가 보안을 위해 액세스 권한이 있는 Bastion 호스트의 트래픽을 허용하는 보안 그룹을 만드십시오.

참고

환경 A의 인스턴스와 환경 B의 인스턴스 간 트래픽을 허용하기 위해 Elastic Beanstalk는 환경 B로 연결된 보안 그룹에 규칙을 추가할 수 있습니다. 이후 Elastic Beanstalk는 환경 A로 연결된 보안 그룹을 지정합니다. 이를 통해 환경 A의 인스턴스에서 인바운드 트래픽 또는 아웃바운드 트래픽이 허용됩니다. 그러나 그렇게 할 시 두 보안 그룹 사이에 종속성이 생성됩니다. 나중에 환경 A를 종료할 경우 환경 B의 보안 그룹이 여기에 종속되어 있기 때문에 Elastic Beanstalk는 이 환경의 보안 그룹을 삭제할 수 없습니다.

따라서 먼저 보안 그룹을 별도로 생성하는 것을 권장합니다. 그런 다음 환경 A에 첨부하고 환경 B의 보안 그룹 규칙에서 지정합니다.

Amazon EC2 보안 그룹에 대한 자세한 내용은 Linux 인스턴스용 Amazon EC2 사용 설명서Amazon EC2 보안 그룹을 참조하세요.

용량 범주 설정

용량 구성 범주에서는 Amazon EC2 인스턴스와 관련된 다음과 같은 설정을 사용할 수 있습니다.

생성 환경에 대한 Elastic Beanstalk 용량 구성 창의 Amazon EC2 인스턴스 설정

인스턴스 타입

인스턴스 유형 설정은 애플리케이션을 실행하기 위해 시작되는 Amazon EC2 인스턴스 유형을 결정합니다. 이 구성 페이지에는 인스턴스 유형 목록이 표시됩니다. 하나 이상의 인스턴스 유형을 선택할 수 있습니다. Elastic Beanstalk 콘솔은 사용자 환경에 대해 구성된 프로세서 아키텍처를 토대로 인스턴스 유형만 표시합니다. 따라서 동일한 프로세서 아키텍처의 인스턴스 유형만 추가할 수 있습니다.

참고

Elastic Beanstalk 콘솔은 기존 환경의 프로세서 아키텍처를 변경하는 옵션을 제공하지 않지만 를 사용하여 변경할 수 있습니다. AWS CLI 명령의 예는 을 참조하십시오. AWS CLI를 사용하여 환경에 대한 AWS EC2 인스턴스 구성

부하가 걸린 동안에는 애플리케이션을 실행할 만큼 강력하지만 대부분의 시간 동안에는 유휴 상태인 인스턴스를 선택합니다. 개발 용도로 사용되는 인스턴스의 t2 군은 단기간 버스트 기능을 제공함과 동시에 보통 수준의 전력량을 제공합니다. 대규모 고가용성 애플리케이션의 경우 인스턴스 하나가 작동 중단된 경우 용량에 크게 영향을 주지 않도록 인스턴스 풀을 사용합니다. 정상 시간 동안 보통 부하에서 인스턴스를 다섯 개 실행할 수 있는 인스턴스 유형으로 시작합니다. 한 인스턴스가 실패한 경우 다른 인스턴스가 나머지 트래픽을 흡수할 수 있습니다. 용량 버퍼는 피크 시간 동안 트래픽이 스케일 업할 때 환경이 확장될 시간을 제공합니다.

Amazon EC2 인스턴스 제품군 및 유형에 대한 자세한 내용은 Linux 인스턴스용 Amazon EC2 사용 설명서인스턴스 유형 또는 Windows 인스턴스용 Amazon EC2 사용 설명서인스턴스 유형을 참조하세요. 요구 사항 및 지원 리전을 충족하는 인스턴스 유형을 결정하려면 Linux 인스턴스용 Amazon EC2 사용 설명서사용 가능한 인스턴스 유형 또는 Windows 인스턴스용 Amazon EC2 사용 설명서사용 가능한 인스턴스 유형을 참조하세요.

AMI ID

Amazon Machine Image(AMI)는 Elastic Beanstalk가 환경에서 Amazon EC2 인스턴스를 시작하기 위해 사용하는 Amazon Linux 또는 Windows Server 머신 이미지입니다. Elastic Beanstalk는 애플리케이션을 실행하는 데 필요한 도구와 리소스가 포함된 머신 이미지를 제공합니다.

Elastic Beanstalk는 사용자가 선택한 리전, 플랫폼 버전 및 프로세서 아키텍처에 따라 환경의 기본 AMI를 선택합니다. 사용자 지정 AMI를 만든 경우 기본 AMI ID를 본인의 기본 사용자 지정 ID로 바꿉니다.

AWS CLI를 사용하여 환경에 대한 AWS EC2 인스턴스 구성

AWS 명령줄 인터페이스(AWS CLI)를 통해 명령줄 셸의 명령을 사용하는 Elastic Beanstalk 환경을 생성하고 구성합니다. 이 섹션에서는 create-environmentupdate-environment 명령의 예제를 제공합니다.

첫 두 예제는 새 환경을 만듭니다. 이 명령은 arm64 프로세서 아키텍처를 기반으로 하는 Amazon EC2 인스턴스 유형인 t4g.small을 지정합니다. Elastic Beanstalk는 리전, 플랫폼 버전 및 인스턴스 유형을 토대로 EC2 인스턴스에 대해 이미지 ID(AMI)의 기본값을 설정합니다. 인스턴스 유형은 프로세서 아키텍처에 대응됩니다. solution-stack-name 파라미터는 플랫폼 버전에 적용됩니다.

예 1 - 새로운 arm64 기반 환경 생성(네임스페이스 옵션 인라인)
aws elasticbeanstalk create-environment \ --region us-east-1 \ --application-name my-app \ --environment-name my-env \ --solution-stack-name "64bit Amazon Linux 2 v3.4.7 running Docker" \ --option-settings \ Namespace=aws:autoscaling:launchconfiguration,OptionName=IamInstanceProfile,Value=aws-elasticbeanstalk-ec2-role \ Namespace=aws:ec2:instances,OptionName=InstanceTypes,Value=t4g.small

대안으로, 네임스페이스 옵션을 인라인으로 포함하는 대신 options.json 파일을 사용하여 해당 옵션을 지정하십시오.

예 2 - 새로운 arm64 기반 환경 생성(options.json 파일의 네임스페이스 옵션)
aws elasticbeanstalk create-environment \ --region us-east-1 \ --application-name my-app \ --environment-name my-env \ --solution-stack-name "64bit Amazon Linux 2 v3.4.7 running Docker" \ --option-settings file://options.json
### example options.json ### [ { "Namespace": "aws:autoscaling:launchconfiguration", "OptionName": "IamInstanceProfile", "Value": "aws-elasticbeanstalk-ec2-role" }, { "Namespace": "aws:ec2:instances", "OptionName": "InstanceTypes", "Value": "t4g.small" } ]

다음 두 가지 예제는 update-environment 명령을 사용하여 기존 환경에 대한 구성을 업데이트합니다. 이 예제에서는 arm64 프로세서 아키텍처를 기반으로 하는 또 다른 인스턴스 유형을 추가합니다. 기존 환경의 경우 추가하는 모든 인스턴스 유형에는 동일한 프로세서 아키텍처가 있어야 합니다. 기존 인스턴스 유형을 다른 아키텍처의 인스턴스 유형으로 교체하려는 경우 그렇게 할 수 있습니다. 하지만 명령의 모든 인스턴스 유형이 동일한 유형의 아키텍처를 사용하는지 확인하십시오.

예 3 - 기존 arm64 기반 환경 업데이트 (네임스페이스 옵션 인라인)
aws elasticbeanstalk update-environment \ --region us-east-1 \ --application-name my-app \ --environment-name my-env \ --solution-stack-name "64bit Amazon Linux 2 v3.4.7 running Docker" \ --option-settings \ Namespace=aws:autoscaling:launchconfiguration,OptionName=IamInstanceProfile,Value=aws-elasticbeanstalk-ec2-role \ Namespace=aws:ec2:instances,OptionName=InstanceTypes,Value=t4g.small,t4g.micro

대안으로, 네임스페이스 옵션을 인라인으로 포함하는 대신 options.json 파일을 사용하여 해당 옵션을 지정하십시오.

예 4 - 기존 arm64 기반 환경 업데이트(options.json 파일의 네임스페이스 옵션)
aws elasticbeanstalk update-environment \ --region us-east-1 \ --application-name my-app \ --environment-name my-env \ --solution-stack-name "64bit Amazon Linux 2 v3.4.7 running Docker" \ --option-settings file://options.json
### example options.json ### [ { "Namespace": "aws:autoscaling:launchconfiguration", "OptionName": "IamInstanceProfile", "Value": "aws-elasticbeanstalk-ec2-role" }, { "Namespace": "aws:ec2:instances", "OptionName": "InstanceTypes", "Value": "t4g.small, t4g.micro" } ]

다음 두 예제에는 더 많은 create-environment 명령이 표시됩니다. 이 예제에서는 InstanceTypes에 대한 값을 제공하지 않습니다. InstanceTypes 값이 지정되지 않은 경우 Elastic Beanstalk의 기본값은 x86 기반 프로세서 아키텍처로 설정됩니다. 환경의 EC2 인스턴스에 대한 이미지 ID(AMI)는 기본값이 리전, 플랫폼 버전 및 기본 인스턴스 유형에 따라 설정됩니다. 인스턴스 유형은 프로세서 아키텍처에 대응됩니다.

예 5 - 새로운 x86 기반 환경 생성(네임스페이스 옵션 인라인)
aws elasticbeanstalk create-environment \ --region us-east-1 \ --application-name my-app \ --environment-name my-env \ --solution-stack-name "64bit Amazon Linux 2 v3.4.7 running Docker" \ --option-settings \ Namespace=aws:autoscaling:launchconfiguration,OptionName=IamInstanceProfile,Value=aws-elasticbeanstalk-ec2-role

대안으로, 네임스페이스 옵션을 인라인으로 포함하는 대신 options.json 파일을 사용하여 해당 옵션을 지정하십시오.

예 6 - 새로운 x86 기반 환경 만들기(options.json 파일의 네임스페이스 옵션)
aws elasticbeanstalk create-environment \ --region us-east-1 \ --application-name my-app \ --environment-name my-env \ --solution-stack-name "64bit Amazon Linux 2 v3.4.7 running Docker" \ --option-settings file://options.json
### example options.json ### [ { "Namespace": "aws:autoscaling:launchconfiguration", "OptionName": "IamInstanceProfile", "Value": "aws-elasticbeanstalk-ec2-role" } ]

Graviton arm64 첫 번째 웨이브 환경에 대한 권장 사항

참고

이 섹션은 고객의 하위 집합에만 적용됩니다. 2021년 11월 24일 이전에 Graviton arm64 기반 인스턴스 유형을 사용하여 새 환경을 생성한 경우 이 섹션의 정보가 적용될 수 있습니다.

2021년 10월과 11월부터 Elastic Beanstalk는 일부 리전 및 일부 플랫폼 버전에서 Graviton arm64 프로세서에 대한 지원 웨이브를 추가하기 시작했습니다. 이 첫 번째 웨이브는 2021년 10월 13일, 10월 21일 및 11월 19일 AWS Elastic Beanstalk 릴리스 정보에서 발표되었습니다. arm64 기반 환경을 생성한 경우, 지침은 릴리스 정보에 제공된 사용자 지정 AMI로 인스턴스를 구성하라고 안내했습니다. 이제 Graviton arm64에 대한 향상된 지원을 사용할 수 있으므로 Elastic Beanstalk는 최신 플랫폼 버전에서 arm64 인스턴스 유형에 대한 AMI를 기본값으로 설정합니다.

첫 번째 웨이브 릴리스에서 제공되는 사용자 지정 AMI를 사용하여 환경을 생성한 경우 다음을 수행하여 정상적으로 작동되는 환경을 유지할 것을 권장합니다.

  1. 사용자 지정 AMI를 사용자 환경에서 제거합니다.

  2. 환경을 최신 플랫폼 버전으로 업데이트합니다.

  3. 예약된 유지 관리 기간 동안 최신 플랫폼 버전으로 자동 업그레이드하도록 관리형 플랫폼 업데이트를 설정합니다.

참고

Elastic Beanstalk는 사용자 지정 AMI를 자동으로 바꾸지 않습니다. 사용자 지정 AMI는 1단계에서 반드시 삭제하여, 2단계의 다음 플랫폼 업데이트에서 해당 AMI를 업데이트하도록 해야 합니다.

다음 절차에서는 이러한 단계를 안내합니다. 이 AWS CLI 예제는 다음 정보를 사용하여 생성된 환경에 적용됩니다.

aws elasticbeanstalk create-environment \ --region us-east-1 \ --application-name my-app \ --environment-name my-env \ --solution-stack-name "64bit Amazon Linux 2 v3.4.7 running Docker" \ --option-settings \ Namespace=aws:autoscaling:launchconfiguration,OptionName=IamInstanceProfile,Value=aws-elasticbeanstalk-ec2-role \ Namespace=aws:ec2:instances,OptionName=InstanceTypes,Value=t4g.small \ Namespace=aws:autoscaling:launchconfiguration,OptionName=ImageId,Value=ami-0fbdb88ce139244bf
Graviton arm64 지원의 첫 번째 웨이브에서 생성된 arm64 환경을 업데이트하려면
  1. update-environment를 실행하여 사용자 지정 AMI 설정을 제거합니다.

    aws elasticbeanstalk update-environment \ --region us-east-1 \ --environment-name my-env \ --options-to-remove \ Namespace=aws:autoscaling:launchconfiguration,OptionName=ImageId
  2. 환경을 최신 플랫폼 버전으로 업데이트합니다. 다음 옵션 중 하나를 선택합니다.

    • 콘솔 옵션 - Elastic Beanstalk 콘솔을 사용하여 플랫폼 버전을 업데이트합니다. 자세한 내용은 환경의 플랫폼 버전 업데이트를 참조하세요.

    • AWS CLI 옵션 - 가장 최근에 사용 가능한 플랫폼 버전을 지정하는 AWS update-environment 명령을 실행합니다.

      aws elasticbeanstalk update-environment \ --region us-east-1 \ --environment-name my-env \ --solution-stack-name "64bit Amazon Linux 2 v3.4.9 running Docker"
      참고

      list-available-solution-stacks명령은 특정 AWS 지역의 계정에 사용할 수 있는 플랫폼 버전 목록을 제공합니다.

      aws elasticbeanstalk list-available-solution-stacks --region us-east-1 --query SolutionStacks
  3. Elastic Beanstalk 콘솔을 사용하여 환경에 대한 관리형 플랫폼 업데이트를 설정합니다. 관리형 플랫폼 업데이트는 예약된 유지 관리 기간 동안 환경을 최신 플랫폼 버전으로 자동 업그레이드합니다. 애플리케이션은 업데이트 프로세스 중에 작동 상태로 유지됩니다. 자세한 내용은 관리형 플랫폼 업데이트를 참조하세요.

aws:autoscaling:launchconfiguration 네임스페이스

aws:autoscaling:launchconfiguration 네임스페이스의 구성 옵션을 사용하여 콘솔에서 사용할 수 없는 추가 옵션을 포함하여 해당 환경에 대한 인스턴스를 구성할 수 있습니다.

다음 구성 파일 예시에서는 이 주제에 있는 기본 구성 옵션을 사용합니다. 예를 들어 IMDS에 설명된 DisableIMDSv1 옵션을 사용합니다. 또한 보안에 설명된 EC2KeyNameIamInstanceProfile 옵션을 사용하며 콘솔에서는 사용할 수 없는 BlockDeviceMappings 옵션을 사용합니다.

option_settings: aws:autoscaling:launchconfiguration: SecurityGroups: my-securitygroup MonitoringInterval: "1 minute" DisableIMDSv1: false EC2KeyName: my-keypair IamInstanceProfile: "aws-elasticbeanstalk-ec2-role" BlockDeviceMappings: "/dev/sdj=:100,/dev/sdh=snap-51eef269,/dev/sdb=ephemeral0"

BlockDeviceMappings을(를) 사용하여 인스턴스의 추가 블록 디바이스를 구성할 수 있습니다. 자세한 정보는 Linux 인스턴스용 Amazon EC2 사용 설명서블록 디바이스 매핑 을 참조하세요.

EB CLI 및 Elastic Beanstalk 콘솔에서 위 옵션의 권장 값을 적용합니다. 구성 파일을 사용해 동일하게 구성하고자 하는 경우 이러한 설정을 제거해야 합니다. 세부 정보는 권장 값 단원을 참조하십시오.