Openflow BYOC – 设置自定义入口

本主题介绍了在您自己的 AWS 账户中设置 Openflow BYOC 部署并使用自定义入口解决方案时需要考虑的事项和所需步骤。

优势

Openflow BYOC 部署的自定义入口为您的组织提供以下优势:

  • 更强的安全性,通过网络级限制,可将访问权限仅限于您的 VPN 或私有网络。

  • 完全控制用于访问 Openflow 的 URL 和 TLS 证书,以满足您的安全与合规要求。

注意事项

使用 Snowflake 托管的入口时,Openflow 会为您的 BYOC 部署中的 Openflow 运行时创建必要的 DNS 记录、公共负载均衡器,并管理 TLS 证书。

当您启用自定义入口时,Openflow 将不再自动管理外部 DNS 记录,不会自动创建公共负载均衡器,也将不再管理 Openflow 运行时的证书。您必须在您自己的 AWS 账户中管理这些资源。

Openflow 托管入口与自定义入口的对比,重点说明了 DNS、负载均衡器和证书方面的额外要求。

在 Snowflake Openflow 中配置自定义入口

  1. 在部署创建过程中启用自定义入口。

    • 在部署创建过程中,启用 Custom ingress 选项并在 Hostname 字段中指定首选完全限定域名 (FQDN)。

    • 您必须能够管理此 DNS 记录并为此 FQDN 创建 TLS 证书。不要使用 snowflakecomputing.cn 的子域。

    • FQDN 中不得包含协议 https:// 或尾部斜杠 /

    • 例如,如果您指定 openflow01.your-domain.org,您将通过 https://openflow01.your-domain.org/my-runtime/nifi/ 访问名为“My Runtime”的运行时。

  2. 下载 CloudFormation 模板。此文件包含 Openflow 作为自定义入口域运行所需的所有设置。

在 AWS 中配置自定义入口

备注

{deployment-key} 表示 Openflow 为特定部署创建并托管的云资源所使用的 Openflow 唯一标识符。

该信息位于 CloudFormation 模板的 DataPlaneKey 参数中,也可以通过 Openflow 中部署的 View Details 菜单选项查看。

  1. 将以下标签添加到 Openflow 部署的专用子网中:

    • 键:kubernetes.io/role/internal-elb

    • 值:1

  2. 如果您的私有子网被其他 EKS 集群使用,您还必须使用 Openflow 集群的名称来标记它们。这允许 Openflow 与其他负载均衡器一起创建负载均衡器。

    • 键:kubernetes.io/cluster/{deployment-key}

    • 值:1

  3. 上传 CloudFormation 模板。等待大约 30 分钟,让 Openflow 创建内部网络负载均衡器。

    • 您可以在 AWS 控制台中的 EC2 » Load Balancers 下找到内部网络负载均衡器。

    • 负载均衡器将被命名为 runtime-ingress-{deployment-key}

  4. 获取 Openflow 管理的 AWS 内部网络负载均衡器的内部 IP 地址。

    • EC2 » Load Balancers 下,进入详情页面并复制负载均衡器的 DNS name

    • 登录代理 EC2 实例(标识为 openflow-agent-{deployment-key}),并运行命令 nslookup {openflow-load-balancer-dns-name}

    • 复制 Openflow 管理的 AWS 内部网络负载均衡器的 IP 地址。这些是您将在后续步骤中创建的负载均衡器目标组的目标。

  5. 提供 TLS 证书。

    • 为负载均衡器获取 TLS 证书,该负载均衡器将处理 Openflow 运行时 UIs 的流量。您可以使用 AWS 证书管理器 (ACM) 生成证书或导入现有的证书。

  6. 创建一个网络负载均衡器,用于将流量路由到 Openflow 管理的 AWS 内部网络负载均衡器。

    1. 在 AWS 账户中,使用以下配置创建网络负载均衡器:

      • 名称:我们推荐的命名约定是 custom-ingress-external-{deployment-key},其中 {deployment-key} 是 Openflow 部署的关键。

      • 类型:Network Load Balancer

      • 方案:InternalInternet-facing,具体取决于您的要求。

      • VPC:选择部署的 VPC

      • 可用区:选择 Openflow 部署正在运行的两个可用区。

      • 子网:为 Internal 负载均衡器选择您的 VPC 的私有子网,或为 Internet-facing 负载均衡器选择您的 VPC 的公共子网。

      • 安全组:选择或创建允许流量经过端口 443 的安全组

      • 默认 SSL/TLS 服务器证书:导入 SSL/TLS 证书

      • 目标组:使用以下设置创建新的目标组:

        • 目标类型:IP addresses

        • 协议:TLS

        • 端口:443

        • VPC:验证 VPC 是否与您的部署匹配

        • 将上一步中获取的 Openflow 创建的内部网络负载均衡器的 IP 地址作为目标输入,并选择 Include as pending below

    2. 创建负载均衡器后,复制要在下一步中使用的负载均衡器的 DNS 名称。

    3. 有关如何创建网络负载均衡器的更多信息,请参阅 创建网络负载均衡器 (https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-network-load-balancer.html)。

  7. 创建一个 DNS CNAME 记录,将您的自定义入口 FQDN 映射到 AWS 负载均衡器的 DNS 名称。

    • 有关 Route 53 中的详细 DNS 配置说明,请参阅 在 Route 53 中创建记录 (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resource-record-sets-creating.html)。

验证

  1. Openflow 部署在 Deployments 页面中显示状态为 Active

  2. 在 Openflow 部署中创建运行时。

  3. 一旦运行时状态为 Active,点击运行时名称或使用 View canvas 菜单选项即可访问该运行时的 UI。

  4. Openflow 会将您定向到具有在创建部署期间指定的主机名的运行时。例如 https://openflow01.your-domain.org/my-runtime/nifi/

语言: 中文