使用网桥模式的ECS无法访问Internet

时间:2019-01-22 10:46:49

标签: amazon-web-services docker amazon-ecs

我有一个Java应用程序在ECS的Docker容器中运行。最近,对它访问外部Internet提出了新要求。在我们的开发环境中,这不是问题,但是一旦投入使用,Docker实例便无法访问Internet。

深入研究后,我将网络模式从“网桥”更改为“主机”,从而解决了该问题。问题是,我不想使用桥接模式。

我无法确定的是为什么环境之间会有所不同。它们的任务定义等完全相同。

我已经检查了安全组。实际上,我已经检查了主机EC2是否可以访问Internet。无论如何,所有这些被它在“主机”模式下工作的事实所消除。另外,EC2实例是从与其他环境相同的AMI中产生的。

1 个答案:

答案 0 :(得分:0)

能否请您检查是否已将NAT网关(VPC-> NAT网关)分配给与EC2实例(私有子网)相同的子网,并将Internet网关分配给公共子网?

专用子网的路由表应如下所示:

| Destination   | Target      |
| 10.20.0.0/16  | local       |
| 0.0.0.0/0     | nat-00d.... | 

公共子网的路由表应如下所示:

| Destination   | Target      |
| 10.20.0.0/16  | local       |
| 0.0.0.0/0     | igw-046.... | 

..假设10.20.8.0/21是您的公共子网,而10.20.16.0/21是您的私有子网。

然后,您应该在新娘网络模式下的ECS服务上连接互联网。