如何解决当我的 EC2 实例无法与 Elastic Beanstalk 通信时收到的错误?

1 分钟阅读
0

当我尝试创建 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 和其他服务端点的出站连接。为避免**“无法通信”错误**,您的 EC2 实例必须配置为通过以下方法之一启动出站连接:

解决方法

  1. 验证与您的子网相关联的网络 ACL 是否允许到互联网的出站连接。例如:0.0.0.0/0
  2. 如果您在创建 Elastic Beanstalk 环境时选择自定义 Amazon Virtual Private Cloud(Amazon VPC),则请选择相应的子网。子网必须允许实例和负载均衡器可见性。
  3. 如果您的 EC2 实例在公有子网中,请验证路由表是否有通过互联网网关到互联网的路由。例如:0.0.0.0/0
  4. 确认公有子网已在 VPC 子网控制台中开启 "auto-assign public IPv4 address"(自动分配公有 IPv4 地址)。VPC 子网控制台必须显示 Auto-assign public IPv4 address: Yes(自动分配公有 IPv4 地址:是)。
  5. 如果您的 EC2 实例在私有子网中,请验证与 NAT 网关或 NAT 实例相关联的路由表是否有到互联网的路由。例如:0.0.0.0/0
    **注意:**您的 NAT 网关NAT 实例必须在公有子网中创建,这样才能与互联网通信。
  6. 验证是否在启动了环境的 VPC 中开启了 VPC 属性 enableDnsHostnamesenableDnsSupport
  7. 如果您的 Elastic Beanstalk 环境正在使用 VPC 端点,则请设置以下端点以正确启动环境:
    Amazon Simple Queue Service (Amazon SQS)
    AWS CloudFormation
    Elastic Beanstalk (elasticbeanstalk.region.amazonaws.com)
    Elastic Beanstalk 运行状况(elasticbeanstalk-health.region.amazonaws.com)
    Amazon Simple Storage Service(Amazon S3)网关端点
    **注意:**如果您的环境必须与其他 AWS 服务进行交互,则请为这些服务创建适当的 VPC 端点。
  8. 如果您使用的是自定义 AMI 而非 Elastic Beanstalk 提供的 AMI,则请确保创建 AMI,以便 EC2 实例可以访问互联网。

相关信息

为什么私有子网中的 EC2 实例无法使用 NAT 网关连接到互联网?

VPC 的路由表

AWS 官方
AWS 官方已更新 1 年前