AWS Fargate ALB DNS无法解析

时间:2018-09-28 19:17:00

标签: amazon-web-services amazon-ecs aws-fargate aws-load-balancer

我构建了以下基础结构以与AWS Fargate结合使用。

ECS管理私有子网中的容器,流量通过公共子网通过面向Internet的ALB路由到它们。

通过NAT网关控制对专用子网中容器的Internet访问。

我创建了一个git repo来演示手头的问题
https://github.com/GreenyMcDuff/aws-fargate-public

警告:运行此操作将花费您金钱

需要Terraform v0.11.7或更高版本

enter image description here

以下是安全组规则:

alb-sg

+----------------+----------+------+------------+
| Ingress/Egress | Protocol | Port |   Source   |
+----------------+----------+------+------------+
| Ingress        | TCP      | 80   | 0.0.0.0/0  |
| Egress         | All      | All  | 0.0.0.0/0  |
+----------------+----------+------+------------+

ecs-tasks-sg

+----------------+----------+---------+-----------+
| Ingress/Egress | Protocol |  Port   |  Source   |
+----------------+----------+---------+-----------+
| Ingress        | TCP      | 80      | 0.0.0.0/0 |
| Ingress        | TCP      | 1-65535 | alb-sg-id |
| Egress         | All      | All     | 0.0.0.0/0 |
+----------------+----------+---------+-----------+

这是路由表

公共路线表

+-------------+--------+
| Destination | Target |
+-------------+--------+
| 10.0.0.0/16 | local  |
| 0.0.0.0/0   | igw-id |
+-------------+--------+

专用路由表

+-------------+--------+
| Destination | Target |
+-------------+--------+
| 10.0.0.0/16 | local  |
| 0.0.0.0/0   | nat-id |
+-------------+--------+

因此,几乎所有事情似乎都在起作用。我正在启动的容器是来自docker hub的httpd:2.4映像。

  • 图像下载成功
  • 容器启动并进入RUNNING状态。
  • 肘部健康检查通过
  • 我已经在公共子网中启动了Windows EC2实例,并对其进行了RDP处理,并在Internet Explorer中浏览了ip容器,然后按预期方式获得了页面

由于上述几点,我正在假设这是路由或安全组问题。

问题是,当我尝试浏览在容器上运行的站点时,通过单击应用程序负载平衡器DNS名称(xxxx.AWS_REGION.elb.amazonaws.com),出现“无法访问此站点”错误。

对于为什么会发生这种情况的任何解释都将得到好评。

请让我知道是否有更多信息会有所帮助,我会尽力提供。

0 个答案:

没有答案