-1

我在这里的情况是,我必须使用 1 个 IP(白名单问题)通过我的各种 docker 连接公共 API,因此使用 NAT 网关。同时,Docker 还需要连接到 RDS(来自另一个 VPC)并进行一些读/写操作。

ew如何实现这一点?是否可以通过 NAT 网关进行公共流量路由,通过 VPC 对等互连将私有流量路由到另一个 VPC?

提前致谢。

4

1 回答 1

0

我花了两天时间得到这个答案,因此将它发布给有类似用例的人。

执行:

  1. 为 Dockers 创建了“新 VPC”以进行衍生
  2. 创建“新 Internet 网关”并将其附加到“新 VPC”
  3. 创建了一个“Nat Gateway”并关联了一个弹性 IP 地址,该地址在“External API”上被列入白名单
  4. 创建了“新 VPC”请求并被“默认 VPC”接受的“VPC 对等连接”
  5. 在“新 VPC”中创建了 2 个子网,1 个用于私有,1 个用于公共(现在是公共的,以便我可以连接到测试,对于无人值守的 docker,私有就足够了)
  6. 对于“公共子网”,将指向 0.0.0.0/0 的路由修改为“新 Internet 网关”,将 172.xx.0.0/16 修改为指向“VPC 对等连接”
  7. 对于“私有子网”,将指向 0.0.0.0/0 的路由修改为“NAT 网关”,以便所有流量都通过特定 IP。

测试:

  • 我从“NewVPC”->“私有子网”上创建的实例访问了“外部 API”,
  • 我 netcat 托管在“默认 VPC”上的“RDS 端口 - 3306”

结果:

  • 在“外部 API”的日志中,它显示了与“Nat Gateway”关联的 IP
  • “默认 VPC”上托管的“RDS 端口 - 3306”正在解析为“新 VPC”上的实例
于 2019-11-15T15:00:58.370 回答