在特殊场景下,需要 Flink 访问公网。比如 Flink 任务中使用了其他云域的公网 MySQL 实例,为保证正常访问,需要 Flink 能访问公网。本文为您介绍如何实现 Flink 公网访问。
Flink 资源池默认关联一个 VPC。可以按照以下步骤,让 Flink 具备访问公网的能力。
您在操作前,请先提前完成以下准备工作:
在 Flink 资源池中开发任务,并在任务配置参数中声明使用外部网络。
根据业务场景开发 Flink 任务。
在任务参数配置中声明使用外部网络。
Key | Value |
---|---|
kubernetes.jobmanager.annotations.gro.openstudio/network-policy | external-internet |
kubernetes.taskmanager.annotations.gro.openstudio/network-policy | external-internet |
在左侧导航栏选择NAT网关,然后单击创建NAT网关。
在创建NAT网关页面,设置网关关键参数,然后单击确认订单。
参数 | 说明 |
---|---|
计费类型 | 选择 NAT 网关的计费类型。如需了解 NAT 网关的计费详情,请参见计费概览。 |
地域 | 选择 NAT 网关所在地域,与 Flink 资源池地域相同。 |
名称 | 输入 NAT 网关的名称。 |
描述 | 输入 NAT 网关的描述语句。 |
规格 | 选择 NAT 网关的规格。 |
私有网络 | 选择预先准备的私有网络,与 Flink 资源池关联的 VPC 相同。 |
子网 | 选择预先准备的子网,与 Flink 资源池所属子网相同。 |
在详情页面,确认 NAT 网关配置信息,然后同意并勾选相关条款,再单击立即购买。
在左侧导航栏选择NAT网关,然后单击目标网关后方的配置SNAT规则。
在SNAT规则页签下,单击创建SNAT规则。
在创建SNAT规则对话框,设置规则关键参数,然后单击确定。
参数 | 说明 |
---|---|
名称 | 输入 SNAT 规则的名称。 |
粒度 | 本文选择粒度为子网,然后选择目标子网。含义为当前子网内所有未绑定公网 IP 的机器均可通过 SNAT 规则访问公网。 |
公网IP | 选择 NAT 网关已绑定的公网 IP。 |
本文假设的是在 Flink 任务中使用其他云域的公网 MySQL 实例。所以,您需要将 NAT 网关绑定的 EIP(或网段+掩码)配置到 MySQL 实例的白名单中。如何添加白名单,请查看对应云资源产品的文档。
配置白名单时,您可以选择以下两种方式:
180.*.*.*
。180.*.*.*/16
。