[AWS][Elastic Beanstalk] 인스턴스 유형 변경이 되지 않습니다.
Elastic Beanstalk 인스턴스 유형 변경이 되지 않습니다.
문의 사항
AWS Elastic Beanstalk (이하 EB) 사용 관련하여 EC2 유형을 변경 하고자 합니다.
EB 의 구성에서 인스턴스 유형을 "c6i.xlarge" 로 변경하면 아래와 같이 오류가 발생하고 변경할 수가 없습니다.
-, 2023 14:37:21 (UTC+9)
WARN Environment health has transitioned from Ok to Warning. Configuration update failed 49 seconds ago and took 5 seconds.
-, 2023 14:36:26 (UTC+9)
ERROR Failed to deploy configuration.
-, 2023 14:36:26 (UTC+9)
ERROR Service:AmazonCloudFormation, Message:Parameter InstanceType failed to satisfy constraint: must be a valid EC2 instance type.
-, 2023 14:36:25 (UTC+9)
INFO Updating environment mystore-prd-logic's configuration settings.
다른 EB 의 경우 "c6i.xlarge" 로 변경이 가능 했는데, 이 리소스는 왜 변경할 수 없는지 확인을 부탁드립니다.
필요하신 정보나 문의 내용에 대해서는 회신을 부탁드립니다.
감사합니다.
답변
문의하신 내용은 Elastic Beanstalk 서비스 사용 중 인스턴스 타입을 c5.large에서 c6i.xlarge로 변경 시 발생하는 다음과 같은 에러에 대한 것으로 이해하였습니다.
혹시 제가 잘못 이해한 부분이 있다면 정정해 주시기 바랍니다.
문의 주신 Elastic Beanstalk 환경 'aaaaaaa'을 검토해 보았고, 해당 환경에서 오래된 스택 솔루션 '64bit Amazon Linux 2018.03 v2.10.1 running Java 8'을 사용하고 계신 것을 확인하였습니다.
이 Beanstalk 환경에 사용되는 CloudFormation 스택 'awseb-aaaaaaa-stack'을 살펴본 결과, 'c6i.xlarge' 인스턴스 유형이 AllowedValues 목록에 없다는 것을 알 수 있습니다.
"InstanceType": {
"ConstraintDescription": "must be a valid EC2 instance type.",
"NoEcho": "true",
"Type": "String",
"Description": "WebServer EC2 instance type",
"AllowedValues": [
"t2.nano",
"t2.micro",
"t2.small",
"t2.medium",
"t2.large",
"t2.xlarge",
"t2.2xlarge",
"m4.large",
"m4.xlarge",
"m4.2xlarge",
"m4.4xlarge",
"m4.10xlarge",
"m4.16xlarge",
"r4.large",
"r4.xlarge",
"r4.2xlarge",
"r4.4xlarge",
"r4.8xlarge",
"r4.16xlarge",
"i2.xlarge",
"i2.2xlarge",
"i2.4xlarge",
"i2.8xlarge",
"i3.large",
"i3.xlarge",
"i3.2xlarge",
"i3.4xlarge",
"i3.8xlarge",
"i3.16xlarge",
"r3.large",
"r3.xlarge",
"r3.2xlarge",
"r3.4xlarge",
"r3.8xlarge",
"c4.large",
"c4.xlarge",
"c4.2xlarge",
"c4.4xlarge",
"c4.8xlarge",
"d2.xlarge",
"d2.2xlarge",
"d2.4xlarge",
"d2.8xlarge",
"x1.16xlarge",
"x1.32xlarge",
"x1e.xlarge",
"x1e.2xlarge",
"x1e.4xlarge",
"x1e.8xlarge",
"x1e.16xlarge",
"x1e.32xlarge",
"p2.xlarge",
"p2.8xlarge",
"p2.16xlarge",
"p3.2xlarge",
"p3.8xlarge",
"p3.16xlarge",
"m5.large",
"m5.xlarge",
"m5.2xlarge",
"m5.4xlarge",
"m5.8xlarge",
"m5.12xlarge",
"m5.16xlarge",
"m5.24xlarge",
"m5.metal",
"c5.large",
"c5.xlarge",
"c5.2xlarge",
"c5.4xlarge",
"c5.9xlarge",
"c5.18xlarge",
"c5d.large",
"c5d.xlarge",
"c5d.2xlarge",
"c5d.4xlarge",
"c5d.9xlarge",
"c5d.18xlarge",
"m5d.large",
"m5d.xlarge",
"m5d.2xlarge",
"m5d.4xlarge",
"m5d.8xlarge",
"m5d.12xlarge",
"m5d.16xlarge",
"m5d.24xlarge",
"m5d.metal",
"r5.large",
"r5.xlarge",
"r5.2xlarge",
"r5.4xlarge",
"r5.8xlarge",
"r5.12xlarge",
"r5.16xlarge",
"r5.24xlarge",
"r5.metal",
"r5d.large",
"r5d.xlarge",
"r5d.2xlarge",
"r5d.4xlarge",
"r5d.8xlarge",
"r5d.12xlarge",
"r5d.16xlarge",
"r5d.24xlarge",
"r5d.metal",
"t3.nano",
"t3.micro",
"t3.small",
"t3.medium",
"t3.large",
"t3.xlarge",
"t3.2xlarge"
],
"Default": "t2.micro"
},
이는 해당 솔루션 스택 버전[1]이 만들어 질 당시에 C6i 인스턴스 타입이 존재하지 않았기 때문입니다.
[1] Java SE 플랫폼 이력 - AWS Elastic Beanstalk
https://docs.aws.amazon.com/ko_kr/elasticbeanstalk/latest/platforms/platform-history-javase.html#platform-history-2019-11-25
Elastic Beanstalk 환경 'aaaaaaa'은 2019년에 생성된 것으로 확인되며, C6i 인스턴스는 2021년부터 서비스를 시작하였습니다[2]. 따라서 이 솔루션 스택에서는 지원되지 않는 인스턴스 타입이기 때문에 constraint 오류가 발생하였습니다.
[2] Amazon EC2 C6i 인스턴스 출시 – 최신 인텔 제온 스케일러블 프로세서 기반 | Amazon Web Services 한국 블로그
https://aws.amazon.com/ko/blogs/korea/new-amazon-ec2-c6i-instances-powered-by-the-latest-generation-intel-xeon-scalable-processors/
Elastic Beanstalk는 Amazon EC2가 새로운 인스턴스 유형을 도입한 이후, 일반적으로 다음 플랫폼 업데이트를 통해 지원합니다. 따라서 새 인스턴스 타입 적용을 원하시는 경우 플랫폼을 C6i 인스턴스를 지원하는 유형으로 업데이트해야 합니다. Java 버전 변경 없이 플랫폼만 최신 버전으로 변경하기 위해서는 이 문서[3]를 참고하여 주시기 바랍니다.
[3] Elastic Beanstalk 환경의 플랫폼 버전 업데이트 - AWS Elastic Beanstalk
https://docs.aws.amazon.com/ko_kr/elasticbeanstalk/latest/dg/using-features.platform.upgrade.html#using-features.platform.upgrade.config
감사합니다.