AWS - 通过 NAT 网关发送 Internet 流量并将私有流量发送到另一个 VPC

AWS - Sending traffic for internet via NAT Gateway and for private to another VPC

我现在的情况是我必须使用 1 个 IP(白名单问题)通过我的各种码头连接 public API,因此使用 NAT 网关。同时Docker还需要连接RDS(从另一个VPC),做一些read/write.

ew 是如何做到这一点的?是否有可能 public 流量路由通过 NAT 网关和私人流量通过 VPC 对等 - 到另一个 VPC?

提前致谢。

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

实施:

  1. 为 Dockers 创建 "New VPC" 分拆
  2. 已创建 "New Internet Gateway" 并将其附加到 "New VPC"
  3. 创建了一个 "Nat Gateway" 并关联了一个在 "External API"
  4. 上列入白名单的弹性 IP 地址
  5. 创建了 "VPC Peering Connection" "New VPC" 请求并被 "Default VPC"
  6. 接受
  7. 在 "New VPC" 中创建了 2 个子网,1 个用于私有,1 个用于 public(Public 现在只是为了让我可以连接到测试,对于无人值守的码头工人,私有将是够了)
  8. 对于"Public Subnet"修改路由指向0.0.0.0/0到"New Internet Gateway"和172.xx.0.0/16指向"VPC Peering Connection"
  9. 对于 "Private Subnet" 修改了指向 0.0.0.0/0 到 "NAT Gateway" 的路由,以便所有流量都通过特定 IP。

测试:

  • 我从 "NewVPC"->"Private Subnet"、
  • 上创建的实例访问了 "External API"
  • 我在 "Default VPC"
  • 上托管了 "RDS Port - 3306"

结果:

  • 在 "External API" 的日志中显示与 "Nat Gateway"
  • 关联的 IP 在 "Default VPC" 上托管的
  • "RDS Port - 3306" 正在解析到 "New VPC"
  • 上的实例