如何解決 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 子網路主控台中開啟「自動指派公有 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 Health (elasticbeanstalk-health.region.amazonaws.com)
    Amazon Simple Storage Service (Amazon S3) Gateway 端點
    **注意:**如果您的環境必須與其他 AWS 服務互動,請為這些服務建立適當的 VPC 端點。
  8. 如果您使用的是 Elastic Beanstalk 提供的 AMI 以外的自訂 AMI,請確定您已建立 AMI,以便 EC2 執行個體可連線網際網路。

相關資訊

為什麼私有子網路中的 EC2 執行個體無法使用 NAT 閘道連線至網際網路?

VPC 的路由表

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