VPC 实例访问外网

目前 VPC 只能在华东 1 可用域 B 中进行创建,以容器服务为例描述 VPC 的使用。

使用网易云官方 nginx 镜像在 classic 网络下新建有状态服务 A 并绑定公网,在 VPC 子网中新建无状态容器服务 B,无状态容器服务B通过 VPC 中的 SNAT 网关实现对外网服务容器 A 的访问。VPC 子网内容器 B 访问外网容器服务 A 成功则可在容器服务 A 的 access.log 中查看到访问来源 IP 为 SNAT 网关的 IP 地址,且两个 SNAT 网关的 IP 轮询访问。

操作步骤

新建 VPC 服务

进入网易云控制台,定位到 VPC 标签,点击新建 VPC 实例后进入 VPC 新建页面,填写 VPC 名称,选择网段,选择当前 VPC 是否是默认 VPC,点击「立即创建」即可完成 VPC 服务的创建:

新建子网

进入新建的 VPC 实例,点击标签「子网管理」进入子网管理页面,点击「创建子网」进入子网新建页面,填写子网名称、网段,选择需要关联的路由表,默认路由表为系统路由表 main_route_table, 此处以默认路由表为例:

开启 SNAT 服务

SNAT 网关服务可为用户子网提供两个对外的出口 IP,两个 IP 进行负载均衡。

登录 控制台,定位到「NAT网关」标签,进入 SNAT 管理页面

点击「创建 SNAT 网关」 标签:

根据需要选择实例的计费方式、SNAT 服务的规格:

此时在 SNAT 服务的详情页中可以查看到为当前 SNAT 网关服务分配的两个公网 IP:

VPC添加路由

在VPC「路由管理」页面添加自定义路由,增加下一跳为 SNAT 网关的路由

新建子网内实例

在 VPC 实例新建的子网中新建容器服务实例。

从网易云控制台进入容器服务模块,点击「创建服务」开始容器服务的新建,选择可用区 B,选择上述步骤中新建的 VPC 实例和子网,服务状态选择无状态:

选择需要的容器镜像,此处以 centos6.7-tools 镜像为例,选择容器规格,填写端口映射后点击「立即创建」即可完成 VPC 子网内内容器服务的新建:

新建外网实例

以网易云官方镜像 nginx 为例新建有状态服务并绑定外网,具体新建过程可参考创建有状态服务管理有状态服务

子网实例访问外网

进入 VPC 子网中的无状态服务实例,curl 访问外网有状态服务,查看外网有状态服务中 /var/log/nginx/access.log 中访问日志,可以查看到来源 IP 为 SNAT 网关的外网 IP: