You need to enable JavaScript to run this app.
导航

Flink 访问公网

最近更新时间2023.04.20 17:34:39

首次发布时间2023.03.21 18:04:14

在特殊场景下,需要 Flink 访问公网。比如 Flink 任务中使用了其他云域的公网 MySQL 实例,为保证正常访问,需要 Flink 能访问公网。本文为您介绍如何实现 Flink 公网访问。

流程介绍

图片
Flink 资源池默认关联一个 VPC。可以按照以下步骤,让 Flink 具备访问公网的能力。

  1. 在 Flink 资源池中开发任务,并在 Flink 参数配置中声明需要访问外部网络。
  2. 您可以在 Flink 资源池关联的 VPC 下创建一个 NAT 网关,并为网关绑定一个公网 IP 地址,然后通过创建 SNAT 规则实现访问公网。
  3. 为了能正常访问其他云域的云资源,一般还需要在被访问的云资源控制台配置访问白名单,即将 NAT 网关绑定的 EIP(或者网段+掩码的方式)配置到白名单中。

前提条件

您在操作前,请先提前完成以下准备工作:

  • 准备私有网络和子网。相关文档,请参见创建私有网络创建子网
  • 提前创建 Flink 资源池,并为其关联已创建的 VPC。相关文档,请参见资源池管理
  • 提前购买一个与 Flink 资源池相同地域的公网 IP,用于和 NAT 网关绑定。相关文档,请参见申请公网IP

在 Flink 资源池中开发任务,并在任务配置参数中声明使用外部网络。

  1. 根据业务场景开发 Flink 任务。

  2. 在任务参数配置中声明使用外部网络。
    图片

    Key

    Value

    kubernetes.jobmanager.annotations.gro.openstudio/network-policy

    external-internet

    kubernetes.taskmanager.annotations.gro.openstudio/network-policy

    external-internet

步骤二:使用SNAT规则访问公网

  1. 登录NAT网关控制台
  2. 在顶部导航栏选择目标地域。
  3. 创建 NAT 网关。
    1. 在左侧导航栏选择NAT网关,然后单击创建NAT网关

    2. 创建NAT网关页面,设置网关关键参数,然后单击确认订单
      图片

      参数

      说明

      计费类型

      选择 NAT 网关的计费类型。如需了解 NAT 网关的计费详情,请参见计费概览

      地域

      选择 NAT 网关所在地域,与 Flink 资源池地域相同。

      名称

      输入 NAT 网关的名称。

      描述

      输入 NAT 网关的描述语句。

      规格

      选择 NAT 网关的规格。

      私有网络

      选择预先准备的私有网络,与 Flink 资源池关联的 VPC 相同。

      子网

      选择预先准备的子网,与 Flink 资源池所属子网相同。
      子网内至少有一个可用的私网 IP。系统自动生成的 NAT 网关网卡将占用该子网一个私网 IP。

    3. 详情页面,确认 NAT 网关配置信息,然后同意并勾选相关条款,再单击立即购买

  4. 为 NAT 网关配置公网 IP。
    1. 在左侧导航栏选择NAT网关,然后单击目标网关后方的配置公网IP
    2. 公网IP页签下,单击绑定公网IP,然后选择目标 IP 并单击确定
      图片
  5. 为NAT网关创建 SNAT 规则。
    1. 在左侧导航栏选择NAT网关,然后单击目标网关后方的配置SNAT规则

    2. SNAT规则页签下,单击创建SNAT规则

    3. 创建SNAT规则对话框,设置规则关键参数,然后单击确定
      图片

      参数

      说明

      名称

      输入 SNAT 规则的名称。

      粒度

      本文选择粒度为子网,然后选择目标子网。含义为当前子网内所有未绑定公网 IP 的机器均可通过 SNAT 规则访问公网。
      如需了解其他粒度,请参见管理SNAT规则

      公网IP

      选择 NAT 网关已绑定的公网 IP。

  6. SNAT规则页签下,查看并获取 NAT 网关绑定的公网 IP。
    图片

步骤三:配置白名单

本文假设的是在 Flink 任务中使用其他云域的公网 MySQL 实例。所以,您需要将 NAT 网关绑定的 EIP(或网段+掩码)配置到 MySQL 实例的白名单中。如何添加白名单,请查看对应云资源产品的文档。
配置白名单时,您可以选择以下两种方式:

  • 添加固定 IP:仅将 NAT 网关绑定的 EIP 添加到白名单,如180.*.*.*
  • 添加网段:将 NAT 网关绑定的 EIP 所属网段和掩码添加到白名单,如180.*.*.*/16