Elastic Beanstalk에서 "Configuration 구성 검증 예외" 오류를 해결하려면 어떻게 해야 하나요?
AWS Elastic Beanstalk 환경에 업데이트하거나 배포할 때 "구성 검증 예외" 오류가 표시됩니다.
간략한 설명
이 오류는 Elastic Beanstalk가 삭제되거나 사용할 수 없는 리소스애 대한 참조, 지원되지 않는 구성 값, 또는 호환되지 않는 구성 조합을 감지할 때 발생합니다. 오류 메시지에서 Namespace와 OptionName을 확인한 다음 수신한 오류 메시지를 바탕으로 문제를 해결하세요.
해결 방법
참고: AWS Command Line Interface(AWS CLI) 명령을 실행할 때 오류가 발생하면 AWS CLI의 오류 해결을 참조하세요. 또한 최신 AWS CLI 버전을 사용하고 있는지 확인하세요.
삭제된 AMI 참조를 제거
환경 구성에 참조하는 모든 Amazon Machine Images(AMI)는 AWS 리전 내에 존재해야 하며 사용 가능해야 합니다. 맞춤형 AMI가 존재하지 않거나 사용 불가능한 경우, 다음과 같은 오류 메시지가 나타납니다.
"구성 검증 예외: 'ami-########'의 루트 디바이스 이름을 찾을 수 없습니다."
유효하지 않은 AMI 참조를 제거하고 기본 플랫폼 AMI를 사용하려면, 다음 update-environment AWS CLI 명령을 실행합니다.
aws elasticbeanstalk update-environment \ --environment-name my-env \ --options-to-remove Namespace=aws:autoscaling:launchconfiguration,OptionName=ImageId \ --region us-east-1
참고: my-env를 사용자의 환경 이름으로 바꾸고 us-east-1을 사용자의 리전으로 바꾸세요.
또는 환경을 다른 유효한 AMI로 업데이트하려면, 다음 update-environment 명령을 실행하세요.
aws elasticbeanstalk update-environment \ --environment-name my-env \ --option-settings Namespace=aws:autoscaling:launchconfiguration,OptionName=ImageId,Value=ami-0123456789abcdef0 \ --region us-east-1
참고: my-env를 사용자의 환경 이름으로 바꾸고, ami-0123456789abcdef0를 사용자의 플랫폼 버전에 유효한 AMI ID로, us-east-1을 사용자의 리전으로 바꾸세요.
삭제된 보안 그룹을 교체
보안 그룹은 사용자 환경과 동일한 가상 프라이빗 클라우드(VPC) 내에 있어야 합니다. 환경 구성에서 참조하는 보안 그룹이 더 이상 VPC 내에 존재하지 않는 경우, 다음과 같은 오류 메시지가 나타납니다.
"구성 검증 예외: 유효하지 않은 옵션 값: 'sg-########' (Namespace: 'aws:autoscaling:launchconfiguration', OptionName: 'SecurityGroups'): 보안 그룹 'sg-########'가 존재하지 않습니다."
유효하지 않은 보안 그룹 참조를 제거하려면, 다음 update-environment 명령을 실행하세요.
aws elasticbeanstalk update-environment \ --environment-name my-env \ --options-to-remove Namespace=aws:autoscaling:launchconfiguration,OptionName=SecurityGroups \ --region us-east-1
참고: my-env를 사용자의 환경 이름으로 바꾸고 us-east-1을 사용자의 리전으로 바꾸세요.
또는 새 보안 그룹을 사용자의 환경과 동일한 VPC 내에 있는 특정 보안 그룹으로 바꾸려면, 다음 update-environment 명령을 실행하세요.
aws elasticbeanstalk update-environment \ --environment-name my-env \ --option-settings Namespace=aws:autoscaling:launchconfiguration,OptionName=SecurityGroups,Value=sg-0123456789abcdef0 \ --region us-east-1
참고: my-env를 사용자의 환경 이름으로 바꾸고, sg-0123456789abcdef0을 보안 그룹 ID로, us-east-1을 사용자의 리전으로 바꾸세요.
지원되지 않는 데이터베이스 엔진 버전을 업데이트
지정한 데이터베이스 엔진 버전을 더 이상 사용할 수 없거나 선택한 엔진 유형에 더 이상 유효하지 않은 경우, 다음과 같은 오류 메시지가 나타납니다.
"구성 검증 예외: 유효하지 않은 옵션 값: '16.1'(Namespace: 'aws:rds:dbinstance', OptionName: 'DBEngineVersion'): 엔진 버전 16.1은 postgres db를 지원하지 않습니다."
Amazon Relational Database Service(Amazon RDS)에서 사용 가능한 엔진 버전을 확인하려면, 다음 describe-db-engine-versions 명령을 실행하세요.
aws rds describe-db-engine-versions \ --engine postgres \ --query "DBEngineVersions[].EngineVersion" \ --region us-east-1
참고: postgres를 사용자의 데이터베이스 엔진으로 바꾸고 us-east-1을 사용자의 리전으로 바꾸세요.
그리고 다음 update-environment 명령을 실행하여 지원되는 버전으로 업데이트하세요.
aws elasticbeanstalk update-environment \ --environment-name my-env \ --option-settings Namespace=aws:rds:dbinstance,OptionName=DBEngineVersion,Value=16.4 \ --region us-east-1
참고: my-env를 사용자의 환경 이름으로 바꾸고, 16.4 버전을 지원되는 엔진 버전으로, us-east-1을 사용자의 리전으로 바꾸세요.
Amazon EC2 인스턴스 유형의 가용성 또는 아키텍처 불일치 문제 해결
사용자의 구성에서 지원되는 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스 유형을 사용해야 합니다. 사용 불가능한 인스턴스 유형을 사용하는 경우, 다음 오류 메시지 중 하나가 표시됩니다.
"구성 검증 예외: 유효하지 않은 옵션 사양(Namespace: 'aws:ec2:instances', OptionName: 'InstanceTypes'): 선택한 인스턴스 유형을 선택한 VPC 서브넷에서 사용할 수 없습니다."
"구성 검증 예외: 유효하지 않은 옵션 사양(Namespace: 'aws:ec2:instances', OptionName: 'InstanceTypes'): 선택한 인스턴스 유형이 설계한 아키텍처 유형에 유효하지 않습니다: [arm64]."
이 문제를 해결하려면, 지원되는 인스턴스 유형으로 변경하세요. 또는 환경 서브넷을 사용자의 인스턴스 유형을 지원하는 가용 영역으로 업데이트하세요.
아키텍처 불일치를 해결하려면, 다음 update-environment 명령을 실행하여 인스턴스 유형과 아키텍처 설정을 모두 업데이트하세요.
aws elasticbeanstalk update-environment \ --environment-name my-env \ --option-settings \ Namespace=aws:ec2:instances,OptionName=SupportedArchitectures,Value=x86_64 \ Namespace=aws:ec2:instances,OptionName=InstanceTypes,Value=t3.medium \ --region us-east-1
참고: my-env를 사용자의 환경 이름으로, x86_64를 사용자의 대상 아키텍처로 바꾸고, t3.medium을 사용자의 대상 인스턴스 유형으로, us-east-1을 사용자의 리전으로 바꾸세요.
공유 로드 밸런서의 구성 오류 문제를 해결
로드 밸런서의 구성에 문제가 있는 경우, 다음 오류 메시지 중 하나가 표시됩니다.
"구성 검증 예외: 지정한 로드 밸런서가 다른 환경을 위한 Elastic Beanstalk에 의해 생성되었습니다. Amazon EC2 콘솔에서 생성한 로드 밸런서를 지정하세요."
"구성 검증 예외: 로드 밸런서 유형 옵션을 변경할 수 없습니다."
오류가 Elastic Beanstalk에서 생성한 로드 밸런서를 참조하는 경우, 수동으로 새 Application Load Balancer를 생성하세요.. 그런 다음, 환경 구성을 업데이트하여 새 로드 밸런서의 Amazon 리소스 이름(ARN)을 참조하세요.
참고: awseb- 접두사가 있는 로드 밸런서는 사용하지 마세요. Elastic Beanstalk은 awseb- 접두사를 사용하여 Application Load Balancer를 관리합니다.
로드 밸런서 유형을 변경할 수 없다는 오류가 표시되면, 새 환경을 생성하세요. 기존 환경 구성을 새 로드 밸런서와 함께 사용하세요.
알 수 없거나 사용이 중단된 구성 옵션을 제거
기존 플랫폼 버전에 구성 옵션이 없는 경우, 다음과 같은 오류 메시지가 나타납니다.
"구성 검증 예외: 유효하지 않은 옵션 사양(Namespace: 'aws:autoscaling:launchconfiguration', OptionName: 'PlacementTenancy'): 알 수 없는 구성 설정."
이 오류는 저장된 구성 또는 .ebextensions 파일이 이전 플랫폼 버전의 옵션을 참조할 때 발생합니다.
유효하지 않은 옵션을 제거하려면, 다음 update-environment 명령을 실행하세요.
aws elasticbeanstalk update-environment \ --environment-name my-env \ --options-to-remove Namespace=aws:autoscaling:launchconfiguration,OptionName=PlacementTenancy \ --region us-east-1
참고: my-env를 사용자의 환경 이름으로, aws:autoscaling:launchconfiguration을 오류 메시지의 네임스페이스로 바꾸고, PlacementTenancy를 오류 메시지의 옵션으로, us-east-1을 사용자의 리전으로 바꾸세요.
WSGIPath 또는 NodeCommand 등 사용 중지된 플랫폼 옵션의 경우, 현재 플랫폼에 해당하는 접근 방식으로 마이그레이션하세요. Python의 경우, WSGIPath 대신 Procfile을 사용하세요. Node.js의 경우, NodeCommand 대신 Procfile을 사용하세요.
VPC 또는 서브넷 오류를 해결
환경 구성에서 삭제되거나 사용할 수 없는 서브넷을 참조하는 경우, 다음 오류 메시지 중 하나가 표시됩니다.
"구성 검증 예외: 잘못된 옵션 값: 'subnet-########'(Namespace: 'aws:ec2:vpc', OptionName: 'ELBSubnets'): 'subnet-########' 서브넷이 존재하지 않습니다."
"구성 검증 예외: VPC ID 'vpc-########'을 업데이트할 수 없습니다."
서브넷은 환경과 동일한 VPC에 있어야 합니다. 환경의 서브넷을 업데이트하려면, 다음 update-environment 명령을 실행하세요.
aws elasticbeanstalk update-environment \ --environment-name my-env \ --option-settings \ Namespace=aws:ec2:vpc,OptionName=Subnets,Value=subnet-aaaa1111,subnet-bbbb2222 \ Namespace=aws:ec2:vpc,OptionName=ELBSubnets,Value=subnet-cccc3333,subnet-dddd4444 \ --region us-east-1
참고: my-env를 사용자의 환경 이름으로, subnet-aaaa1111과 subnet-bbbb2222를 사용자의 서브넷 ID로, us-east-1을 사용자의 리전으로 바꾸세요.
VPC를 업데이트할 수 없다는 오류가 표시되면, 대상 VPC에 새 환경을 생성하세요. 필요한 경우, 환경 CNAME를 업데이트하세요.
기타 구성 검증의 오류를 해결
다른 유형의 "구성 검증" 오류 메시지를 받은 경우, 다음 단계를 완료하여 문제를 해결하세요.
- 오류 메시지에서 Namespace와 OptionName을 확인하세요.
- 참조된 리소스가 존재하는지 확인하세요. 예를 들어 AMI, 보안 그룹, 서브넷, 또는 로드 밸런서를 확인하세요.
- --options-to-remove 매개 변수와 함께 update-environment 명령을 실행하여 유효하지 않은 옵션을 제거하세요.
- 환경이 유효하지 않은 상태이고 업데이트를 허용하지 않는 경우, 기본 AWS CloudFormation 스택 상태를 확인하세요.
관련 정보
This article was reviewed and updated on 2026-08-25.
관련 콘텐츠
질문됨 2년 전
