如何使用 ip 白名单策略让 ECS Fargate 计划作业访问 API?

How to have ECS Fargate scheduled job access API with a ip whitelist policy?

我正在尝试使用 ECS 设置计划任务 Fargate.Task 已被码头化,将 运行 通过带有 Fargate 的 AWS ECS。不幸的是,我想要 运行 的服务需要访问需要将 IP 列入白名单的合作伙伴的 API。我看到每次使用 Fargate 执行任务时,都会分配一个具有不同 IP 的新 ENI。

如何将静态 IP 分配给 AWS ECS Fargate 任务?

为了在您的 AWS Fargate 任务上分配一个静态 IP,您必须创建一个静态 IP 地址(AWS 称之为弹性 IP),它将作为从网络外部点发起您的 VPC 的流量的原始地址看法。要实现这一点:

您需要以下内容

  • 一个VPC
  • 1x 私有子网
  • 1x Public 子网
  • 连接到 public 子网的 1 个互联网网关
  • 弹性IP(将作为私有子网内所有资源的静态IP)
  • 1 个 NAT 网关
  • 附加到 private 子网的路由 table,路由 0.0.0.0/0 指向 NAT 网关
  • 附加到 public 子网的路由 table,路由 0.0.0.0/0 指向互联网网关

然后您需要确保:

  • 您的 ECS Fargate 任务正在使用上述 VPC
  • 并且选择上述私有子网作为 service task placement

如果我的解释仍然令人困惑,您可以尝试阅读此 guide