AWS Elastic Beanstalk 환경을 생성하려고 하면 오류 메시지를 수신합니다. "The EC2 instances failed to communicate with AWS Elastic Beanstalk, either because of configuration problems with the VPC or a failed EC2 instance. Check your VPC configuration and try launching the environment again."
간략한 설명
Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스가 Elastic Beanstalk 및 여타 서비스 엔드포인트에 대한 아웃바운드 연결을 시작하도록 구성되어 있어야 합니다. failed to communicate error(통신 실패 오류)를 피하려면, EC2 인스턴스가 다음 중 하나를 통해 아웃바운드 연결을 시작하도록 구성되어 있어야 합니다.
해결 방법
- 서브넷과 연결된 네트워크 ACL이 인터넷으로의 아웃바운드 연결을 허용하는지 확인합니다. 예: 0.0.0.0/0.
- Elastic Beanstalk 환경을 생성할 때 사용자 지정 Amazon Virtual Private Cloud(VPC)를 선택한 경우, 적절한 서브넷을 선택합니다. 해당 서브넷은 인스턴스와 로드 밸런서 가시성을 허용해야 합니다.
- EC2 인스턴스가 퍼블릭 서브넷에 있는 경우 라우팅 테이블에 인터넷 게이트웨이를 통해 인터넷으로 라우팅하는 경로가 있는지 확인합니다. 예: 0.0.0.0/0.
- VPC 서브넷 콘솔의 퍼블릭 서브넷에 'auto-assign public IPv4 address'가 활성화되어 있는지 확인합니다. VPC 서브넷 콘솔에 퍼블릭 IPv4 주소 자동 할당: 예가 표시되어야 합니다.
- EC2 인스턴스가 프라이빗 서브넷에 있는 경우 NAT 게이트웨이 또는 NAT 인스턴스에 연결된 라우팅 테이블에 인터넷 경로가 있는지 확인합니다. 예: 0.0.0.0/0.
참고: 퍼블릭 서브넷에서 NAT 게이트웨이나 NAT 인스턴스를 생성해야 인터넷과 통신할 수 있습니다.
- 환경을 시작한 VPC에서 VPC 속성 enableDnsHostnames와 enableDnsSupport가 활성화되어 있는지 확인합니다.
- Elastic Beanstalk 환경에서 VPC 엔드포인트를 사용하는 경우 환경을 올바르게 시작하려면 다음 엔드포인트를 설정하세요.
Amazon Simple Queue Service(Amazon SQS)
AWS CloudFormation
Elastic Beanstalk(elasticbeanstalk.region.amazonaws.com)
Elastic Beanstalk Health(elasticbeanstalk-health.region.amazonaws.com)
Amazon Simple Storage Service(S3) 게이트웨이 엔드포인트
참고: 환경이 다른 AWS 서비스와 상호 작용해야 하는 경우 해당 서비스에 적합한 VPC 엔드포인트를 생성합니다.
- Elastic Beanstalk 제공 AMI가 아닌 사용자 지정 AMI를 사용하는 경우, EC2 인스턴스가 인터넷에 연결할 수 있도록 AMI를 생성해야 합니다.
관련 정보
왜 프라이빗 서브넷의 EC2 인스턴스에서 NAT 게이트웨이를 사용하여 인터넷에 연결할 수 없습니까?
VPC의 라우팅 테이블