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

1 分钟阅读
0

我在尝试创建 AWS Elastic Beanstalk 环境时收到错误: “EC2 实例无法与 AWS Elastic Beanstalk 通信,原因可能是 VPC 的配置问题或 EC2 实例失败。请检查您的 VPC 配置并尝试重新启动环境。”

简述

必须配置 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 子网控制台中为公共子网启用了“自动分配公共 IPv4 地址”。VPC 子网控制台必须显示自动分配公共 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. 如果您使用的不是 Elastic Beanstalk 提供的 AMI,而是自定义 AMI,应确保创建 AMI 以使 EC2 实例能够访问互联网。

相关信息

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

VPC 的路由表

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