3

我在 vpc 下为我的 beanstalk 应用程序创建了一个新环境。我创建了一个带有私有子网和公共子网的 vpc。

我已经按照此处所述配置了安全组:http: //docs.aws.amazon.com/elasticbeanstalk/latest/dg/AWSHowTo-vpc-basic.html

环境似乎设置正确,但状态为红色。单击监视器显示没有延迟或请求数据。

网站 url 返回错误代码 503。

不知道该怎么办

4

3 回答 3

9

这几乎肯定是无法与 NAT 通信的问题。在配置配置文件时,文档有点含糊.ebextensions

  1. 不要弄乱 VPC 的网络 ACL。基础设施需要能够与自己对话。
  2. NAT 实例和 Beanstalk ELB 需要位于公共子网 (10.0.0.0/24)
  3. Beanstalk 实例本身需要在私有子网 (10.0.1.0/24) 中
  4. 您应用于实例的安全组也需要应用于 NAT。该安全组还需要位于其自己的入站列表中,以便该 SG 内的所有内容都可以相互通信。
  5. 使用curl,尝试拨打外线电话。首先在堡垒主机上,然后在 NAT 上,然后在 Beanstalk 实例上。他们中的任何一个都无法拨打外线电话吗?

我最近花了几个星期尝试开发一个处理这些东西的 CloudFormation 模板。我想大部分还在我的脑海里。我认为。

如果这些故障排除步骤没有帮助,请告诉我,我会深入挖掘。

于 2013-08-03T05:43:42.330 回答
4

当您创建 VPC 时,我假设您是使用向导完成的。在这种情况下,NAT 被配置为接受来自“默认”安全组的呼叫。

当您创建 Elastic beanstalk 环境时,您是否指定您希望新实例位于“默认”安全组中?

在 EC2 管理区域中检查新实例是否属于 VPC 的默认安全组。如果它不是默认安全组的成员,请将此安全组添加到您的 NAT 的入站连接。

于 2013-10-02T11:15:20.747 回答
0

有一个很好的 AWS CloudFormation 模板示例可以使用公共和私有子网以及 NAT 创建 VPC: https ://github.com/awsdocs/elastic-beanstalk-samples/blob/9720e38e9da155752dce132a31d8e13a27364b83/cfn-templates/vpc-privatepublic.yaml

对于那些对此类 VPC 配置有问题的人可能非常有用。

使用 cli 将其部署到您的 AWS:

aws cloudformation deploy --stack-name mystackname --template-file path/to/vpc-privatepublic.yaml

或者,您可以从 CloudFormation UI 仪表板进行部署。

于 2021-02-18T16:27:31.787 回答