【发布时间】:2021-06-08 08:44:03
【问题描述】:
我在 VPC 内创建了一个 ECS-Fargate 集群。 如果我想从 Fargate 任务访问上述 AWS 服务,需要做什么? 我从阅读的不同文档中看到以下选项:
- 为每个 AWS 服务创建私有链接
- 创建 NAT 网关
不确定哪个是正确和推荐的选项?
【问题讨论】:
标签: amazon-ecs amazon-vpc aws-fargate
我在 VPC 内创建了一个 ECS-Fargate 集群。 如果我想从 Fargate 任务访问上述 AWS 服务,需要做什么? 我从阅读的不同文档中看到以下选项:
不确定哪个是正确和推荐的选项?
【问题讨论】:
标签: amazon-ecs amazon-vpc aws-fargate
需要明确的是,ECS 集群是一个抽象实体,并不规定您将在其中运行的工作负载连接到何处。如果我们坚持 Fargate 启动类型,这意味着任务可以在私有子网或公共子网上启动:
如果您在公共子网中启动它们(并为任务分配公共 IP),那么这些任务可以到达您提到的服务的公共端点,并且不需要其他任何东西(从网络路由的角度来看)。
如果您在私有子网中启动它们,您有两个选项,即您在问题中提到的选项。
我认为没有什么是最好的黄金法则。决策是多维的(成本、易于设置、功能、可观察性和控制等)。我认为无论您需要添加多少服务,NAT GW 路由都更容易设置,但您可能会失去一些可见性,并且您的所有流量都将超出 VPC(对于某些客户来说这是可以的,对于其他客户它不是)。私人链接会给你更严格的控制,但它们可能需要更多的设置工作(特别是如果你需要访问许多服务)。
【讨论】: