VPC设置将Elastic Beanstalk URL的访问权限限制为仅限API网关?

时间:2018-05-14 14:24:04

标签: amazon-web-services amazon-ec2 elastic-beanstalk amazon-vpc

我有一个运行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

1 个答案:

答案 0 :(得分:1)

管理好弄清楚; VPC需要在其路由表中添加Internet网关。为此,我创建了一个Internet网关,将其连接到VPC,然后进入该VPC的路由表并添加新创建的网关以对应0.0.0.0/0