我有一个运行Tomcat + Java 8的Elastic Beanstalk Web服务。我还有一个API网关,它将包含一个指向VPC链接的端点。我在使用我认为应该使用的设置部署Beanstalk时遇到问题。我的目标是只允许通过API网关端点访问Beanstalk Web服务,因此没有外部用户/服务可以直接访问xyz.us-east-2.elasticbeanstalk.com URL。
为实现这一目标,我通过使用10.0.0.0/16
IPv4块的控制台创建了一个VPC。
我还创建了两组子网,“EC2Subnets”使用10.0.0.0/24
,“ELBSubnets”使用10.0.1.0/24
。
从ebcli,我跑:
$eb create MyApp --elb-type network --vpc
提示输入一些信息:
Enter the VPC ID: vpc-myvpcID
Do you want to associate a public IP address? (Y/n): y
Enter a comma-separated list of Amazon EC2 subnets: subnet-myec2subnetID
Enter a comma-separated list of Amazon ELB subnets: subnet-myelbsubnetID
Enter a comma-separated list of Amazon VPC security groups:
Do you want the load balancer to be public? (Select no for internal) (Y/n): n
执行此操作会导致将EC2实例添加到Beanstalk时出现挂起,并最终导致错误:“由于VPC的配置问题或EC2实例失败,EC2实例无法与AWS Elastic Beanstalk通信。”您的VPC配置并尝试再次启动环境。“
我做错了什么?显然我的网络出了问题,但我很难看到它究竟是什么。
编辑:管理好了解; VPC需要在其路由表中添加Internet网关。为此,我创建了一个Internet Gateway,将其连接到VPC,然后进入该VPC的路由表并添加新创建的网关以对应0.0.0.0/0
。
答案 0 :(得分:1)
管理好弄清楚; VPC需要在其路由表中添加Internet网关。为此,我创建了一个Internet网关,将其连接到VPC,然后进入该VPC的路由表并添加新创建的网关以对应0.0.0.0/0
。