创建和管理链接端点
创建您的 Satellite 端点,以管理 IBM Cloud Satellite 站点与运行在该站点之外的服务、服务器或应用程序之间的网络连接。
创建 cloud 端点以连接到位置外部的资源
创建一个类型为“cloud”的端点,以便位于 Satellite 位置中的数据源能够连接到该位置之外运行的服务、服务器或应用。
开始之前,请确保您已备齐以下物品。
- 源客户机
- Satellite 集群或连接到您所在位置的主机。 有关如何创建 Satellite 集群的更多信息,请参阅 创建 Satellite 集群。 要使用主机,请 将主机连接到您的位置,但不要将主机分配给 Satellite 控制平面或 Satellite 集群。 分配主机将启动引导过程,以除去对主机的 SSH 访问权。
- 目标资源
- 在位置外部运行但可从 IBM Cloud中访问的服务,服务器或应用程序。 例如,您可以将专用服务端点用于 IBM Cloud 服务,因为该专用服务端点可从 IBM Cloud 网络中路由。 如果要连接到在 IBM Cloud外部运行的服务,那么必须可以从 IBM Cloud 网络中访问此服务。
- 许可权
- IBM Cloud Satellite中 链接 资源的 管理员 IBM Cloud IAM 平台角色。 有关更多信息,请参阅 检查用户许可权。
使用控制台创建云端点
使用控制台创建一个云端点,以便您位于 Satellite 位置中的数据源能够连接到该位置之外运行的服务、服务器或应用程序。
- 从 Satellite 位置 仪表板 中,单击位置的名称。
- 从 概述 选项卡中,验证您所在位置是否处于 正常 状态。
- 从 链接端点 选项卡中,单击 创建端点。
- 选择 云 为在该位置外部运行的服务,服务器或应用程序创建端点。
- 输入端点名称,目标资源的标准域名 (FQDN) 或 IP 地址,以及目标资源侦听入局请求的端口。 IP 地址或 FQDN 必须解析为公共 IP 地址或可在 IBM Cloud中访问的专用 IP 地址,例如专用服务端点。
- 选择源必须用于连接到目标 FQDN 或 IP 地址的协议。 此协议必须与目标资源的端口匹配。 有关更多信息,请参阅 端点协议。
- 如果您选择了 TLS 或 HTTPS 协议,并且希望对目标证书进行服务器端身份验证,请选中 “验证目标证书”复选框。
- 如果您选择了 TLS 或 HTTPS 协议,但目标资源仍处于开发阶段,您可以点击 “上传证书”以添加您的自签名证书文件。 此
ssl.crt文件必须包含您资源主机名的公开证书( base-64 编码),且不得包含私有证书密钥(ssl.key)。 若要使用 OpenSSL, 创建用于测试目的的自签名证书,请参阅此 自签名 SSL 证书教程。 - 如果您选择了 TLS 或 HTTPS 协议,并且希望允许在资源连接的 TLS 握手过程中提供单独的主机名,请输入服务器名称指示符(SNI)。
- 配置可选连接设置,例如设置不活动超时。 请选择1至600秒之间的数值。 默认值为
60秒。 - 单击创建。 等待几分钟,以便 Satellite 链接连接器组件向端点分配端口。
- 在端点的表行中,复制 Satellite 链接连接器的主机名以及 地址 字段中端点的端口。
- 使用地址 从位置中的源连接到目标。
使用 CLI 创建云端点
使用命令行界面 (CLI) 创建一个端点,以便位于 Satellite 位置中的数据源能够连接到该位置之外运行的服务、服务器或应用程序。
-
获取 Satellite 位置的标识,并验证您的位置是否具有 正常 状态。
ibmcloud sat location ls示例输出
Name ID Status Ready Created Hosts (used/total) Managed From port-antwerp brlono42051up3k4htu0 normal yes 2 weeks ago 6 / 7 London -
创建一个
cloud端点。ibmcloud sat endpoint create --location <location_ID> --name <endpoint_name> --dest-type cloud --dest-hostname <FQDN_or_IP> --dest-port <port> [--dest-protocol <destination_protocol>] --source-protocol <source_protocol> [--sni <sni>]了解 API 请求 组件 描述 --location <location_ID>输入先前检索到的 Satellite 位置的标识。 --name <endpoint_name>输入 Satellite 端点的名称。 --dest-type cloud输入 cloud以指示目标资源在该位置外部运行。--dest-hostname <FQDN_or_IP>请输入您要连接的目标的完全合格域名 (FQDN) 或可从外部访问的 IP 地址。 对于云端点,该值必须解析为一个公共 IP 地址,或解析为可在 IBM Cloud 范围内访问的私有 IP 地址(例如私有云服务端点)。 --dest-port <port>请输入目标资源用于监听传入请求的端口。 确保端口与目标协议匹配。 --dest-protocol <destination-protocol>可选: 输入目标资源的协议。 如果未指定此选项,那么将从源协议继承目标协议。 受支持的协议包括 tcp和tls。 有关更多信息,请参阅 端点协议。--source-protocol <source-protocol>输入源必须用于连接到目标资源的协议。 受支持的协议包括 tcp,tls,http,https和http-tunnel。 有关更多信息,请参阅 端点协议。--sni <sni>可选。 如果您指定了 tls或https源协议,并且希望在 TLS 握手过程中添加一个单独的主机名,请包含服务器名称指示符。 -
等待几分钟,以便 Satellite 链接连接器组件向端点分配端口。
-
请确认您的端点已创建。 在输出中,在 地址 字段中复制 Satellite 链接连接器的主机名和端点的端口。
ibmcloud sat endpoint ls --location <location_ID>示例输出
ID Name Destination Type Address Status c0mnbnkw0jl8si22djkg_cEomQ openshift-api-c0mpnn4w0bv28oq2dks0 location TCP c-02.us-east.link.satellite.cloud.ibm.com:32823 enabled c0mnbnkw0jl8si22djkg_6UTZd satellite-healthcheck-c0mnbnkw0jl8si22djkg location HTTP c-02.us-east.link.satellite.cloud.ibm.com:32822 enabled c0mnbnkw0jl8si22djkg_GzstO test-endpoint cloud TLS nae4dce0eb35957baff66-edfc0a8ba65085c5081eced6816c5b9c-c000.us-east.satellite.appdomain.cloud:30819 enabled -
使用地址 从位置中的源连接到目标。
通过云端点测试连接
使用分配给您端点的 Satellite 链接连接器的主机名和端口,从您所在位置的源连接到目标资源。 该源可以是您之前创建的 Satellite 集群,也可以是您分配给该位置的主机。
用于测试来自未分配主机的连接的示例
-
登录您的主机。 提示时输入用于访问主机的密码。
ssh root@<ip_address> -
使用 Satellite 链接连接器主机名和端口来测试与目标资源的连接。
curl http://<linkconnector_hostname>:<port>
用于测试来自 Satellite 集群的连接的示例
-
以集群为目标。 如果未连接到位置主机网络,请包含
--endpoint link选项。ibmcloud oc cluster config --cluster <cluster_name> --admin [--endpoint link] -
将样本应用程序部署到集群。 要测试从您的位置到端点的连接,必须连接到 Satellite 集群所连接到的网络。 您可以通过部署应用程序,登录到应用程序,然后对端点运行 curl 请求来连接到网络。 以下示例将
nginx部署到集群中。- 为您的部署创建一个配置文件。
apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment spec: replicas: 1 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginxinc/nginx-unprivileged ports: - containerPort: 80 ``` 2. 将应用程序部署到您的集群中。 ```sh {: pre} oc apply -f deployment.yaml ``` 3. 验证 `nginx` 应用程序是否已成功部署到集群中。 ```sh {: pre} oc get pods ``` 示例输出 ```sh {: screen} NAME READY STATUS RESTARTS AGE nginx-deployment-85ff79dd56-6lrpg 1/1 Running 0 11s ``` -
登录到 pod。
oc exec <pod_name> -it bash -
使用 Satellite 链接连接器主机名和端口来测试与目标资源的连接。
curl http://<linkconnector_hostname>:<port>
创建 location 端点以连接到位置中的资源
创建一个类型为“location”的端点,以便连接到 IBM Cloud 私有网络的源能够连接到您 Satellite 位置中的服务、服务器或应用。
开始之前,请确保您已备齐以下物品。
- 源客户机
-
可以访问 IBM Cloud 专用网络的服务,服务器或应用程序。 目标资源
-
在 Satellite 集群或连接到您所在位置的主机中运行的服务,服务器或应用程序。 有关如何创建 Satellite 集群的更多信息,请参阅 创建 Satellite 集群。 要使用主机,请 将主机连接到您的位置,但不要将主机分配给 Satellite 控制平面或 Satellite 集群。 分配主机将启动引导过程,以除去对主机的 SSH 访问权。
- 许可权
-
IBM Cloud Satellite中 链接 资源的 管理员 IBM Cloud IAM 平台角色。 有关更多信息,请参阅 检查用户许可权。
使用控制台创建位置端点
使用控制台创建一个端点,以便连接到 IBM Cloud 私有网络的源能够连接到您 Satellite 位置中的服务、服务器或应用。
-
从 Satellite 位置 仪表板 中,单击位置的名称。
-
从 概述 选项卡中,验证您所在位置是否处于 正常 状态。
-
从 链接端点 选项卡中,单击 创建端点。
-
选择 Satellite 位置 以在 Satellite 位置中为服务,服务器或应用程序创建端点。
-
输入端点名称,目标资源的标准域名 (FQDN) 或 IP 地址,以及目标资源侦听入局请求的端口。 FQDN 或 IP 地址必须从 Satellite 位置的控制平面主机解析并可从这些主机访问,或者从代理程序针对 Satellite 连接器运行的位置解析 FQDN 或 IP 地址。
-
选择源必须用于连接到目标 FQDN 或 IP 地址的协议。 此协议必须与目标资源的端口匹配。 有关更多信息,请参阅 端点协议。
- 如果您选择了 TLS 或 HTTPS 协议,并且希望对目标证书进行服务器端身份验证,请选中 “验证目标证书”复选框。
- 如果您选择了 TLS 或 HTTPS 协议,但目标资源仍处于开发阶段,您可以点击 “上传证书”以添加您的自签名证书文件。 此
ssl.crt文件必须包含您资源主机名的公开证书( base-64 编码),且不得包含私有证书密钥(ssl.key)。 若要使用 OpenSSL, 创建用于测试目的的自签名证书,请参阅此 自签名 SSL 证书教程。 - 如果您选择了 TLS 或 HTTPS 协议,并且希望允许在资源连接的 TLS 握手过程中提供单独的主机名,请输入服务器名称指示符(SNI)。
-
配置可选连接设置,例如设置不活动超时。 请选择1至600秒之间的数值。 默认值为
60秒。 -
单击创建。 等待几分钟,以便 Satellite 链接连接器组件向端点分配端口。
-
在端点的表行中,复制 Satellite 链路隧道服务器的主机名以及 地址 字段中端点的端口。
-
从 IBM Cloud 专用网络中的源客户机,通过使用地址来测试与 Satellite 端点的连接。 例如,根据源客户机,您可以向端点发送 curl 请求:
curl http://<linkserver_hostname>:<port>
使用 CLI 创建位置端点
使用命令行界面 (CLI) 创建一个端点,以便连接到“IBM Cloud”私有网络的源能够连接到您在“Satellite”位置中的服务、服务器或应用。
-
获取 Satellite 位置的标识,并验证您的位置是否具有 正常 状态。
ibmcloud sat location ls示例输出
Name ID Status Ready Created Hosts (used/total) Managed From port-antwerp brlono42051up3k4htu0 normal yes 2 weeks ago 6 / 7 London -
创建一个
location端点。ibmcloud sat endpoint create --location <location_ID> --name <endpoint_name> --dest-type location --dest-hostname <FQDN_or_IP> --dest-port <port> [--dest-protocol <destination_protocol>] --source-protocol <source_protocol>了解 API 请求 组件 描述 --location <location_ID>输入先前检索到的 Satellite 位置的标识。 --name <endpoint_name>输入 Satellite 端点的名称。 --dest-type cloud输入 cloud以指示目标资源在该位置外部运行。--dest-hostname <FQDN_or_IP>请输入您要连接的目标的完全合格域名 (FQDN) 或可从外部访问的 IP 地址。 对于位置端点,该值必须能够从控制平面主机解析出来,并且从控制平面主机可访问该位置(适用于 Satellite 位置),或者从代理运行的位置可访问(适用于 Satellite Connector)。 --dest-port <port>请输入目标资源用于监听传入请求的端口。 确保端口与目标协议匹配。 --dest-protocol <destination-protocol>可选: 输入目标资源的协议。 如果未指定此选项,那么将从源协议继承目标协议。 受支持的协议包括 tcp和tls。 有关更多信息,请参阅 端点协议。--source-protocol <source-protocol>输入源必须用于连接到目标资源的协议。 受支持的协议包括 tcp,tls,http,https和http-tunnel。 有关更多信息,请参阅 端点协议。--sni <sni>可选。 如果您指定了 tls或https源协议,并且希望在 TLS 握手过程中添加一个单独的主机名,请包含服务器名称指示符。 -
等待几分钟,以便 Satellite 链接连接器组件向端点分配端口。
-
请确认您的端点已创建。 在输出中,复制 Satellite 链路隧道服务器的主机名以及 地址 字段中端点的端口。
ibmcloud sat endpoint ls --location <location_ID>示例输出
ID Name Destination Type Address c0mnbnkw0jl8si22djkg_cEomQ openshift-api-c0mpnn4w0bv28oq2dks0 location TCP c-02.us-east.link.satellite.cloud.ibm.com:32823 c0mnbnkw0jl8si22djkg_6UTZd satellite-healthcheck-c0mnbnkw0jl8si22djkg location HTTP c-02.us-east.link.satellite.cloud.ibm.com:32822 -
从 IBM Cloud 专用网络中的源客户机,通过使用地址来测试与 Satellite 端点的连接。 例如,根据源客户机,您可以向端点发送 curl 请求。
curl http://<linkserver_hostname>:<port>
设置访问控制列表以限制对端点的访问
通过为端点创建访问控制列表,控制哪些客户端可以访问目标资源。
如果未配置任何源,那么任何客户机都可以使用端点来连接到目标资源。 例如,对于位置端点,连接到 IBM Cloud 专用网络的任何客户机都可以使用该端点来连接到在 Satellite 位置中运行的目标资源。 您可以通过仅将特定客户机的 IP 地址或子网 CIDR 添加到端点的源列表来限制对目标资源的访问。
目前,只能为类型为 location 的端点创建源列表。 无法为类型为 cloud 的端点创建源列表。
使用控制台创建访问控制列表
完成以下步骤,从控制台为端点创建访问控制列表。
- 从 Satellite 位置 仪表板 中,单击位置的名称。
- 选择 访问控制列表选项卡,然后单击 创建规则。
- 在 ACL 规则页面上,请完成以下步骤。
- 输入规则名称。
- 输入允许连接到端点的客户端的 IP 地址。 此值可以是单个 IP 地址、CIDR 块或逗号分隔列表。 该值必须完全包含在以下 CIDR 中:10.0.0.0/8, 161.26.0.0/16, 166.8.0.0/14, 172.16.0.0/12.
- 选择该规则应控制访问的端点(或多个端点)。 只有使用规则中指定范围内 IP 地址的客户端,才允许通过端点向目的地传输网络流量。 将阻止来自通过端点发送到目标资源的其他客户机的网络流量。
- 单击创建。
- 要修改现有 ACL 规则,请在规则右端的溢出菜单中选择 编辑,更新字段值,完成后按 保存。
使用 CLI 创建访问控制列表
完成以下步骤,从 CLI 为端点创建访问控制列表。
-
运行以下命令为一个或多个子网创建 ACL 规则,并可选择绑定到一个或多个端点。
ibmcloud sat acl create --location LOCATION --name NAME --subnet SUBNET [--subnet SUBNET ...] [--endpoint ENDPOINT ...]--location LOCATION- 请输入您的 Satellite 位置的名称或ID。
--name NAME- 请输入访问控制列表(ACL)的名称。
--subnet SUBNET- 输入此 ACL 允许的 IP 或 CIDR 块。 值必须完全包含在以下 CIDR 中:10.0.0.0/8, 161.26.0.0/16, 166.8.0.0/14, 172.16.0.0/12. 您可以重复此参数以提供多个值。
--endpoint ENDPOINT- 可选择输入要为此 ACL 启用的端点名称或 ID。 您可以重复此参数以提供多个值。
-
请确认已创建访问控制列表(ACL)。
ibmcloud sat acl ls --location LOCATION -
您还可以为现有 ACL 添加或删除端点或子网。
ibmcloud sat acl endpoint add --location LOCATION --acl-id ID --endpoint ENDPOINT [--endpoint ENDPOINT ...] ibmcloud sat acl endpoint rm --location LOCATION --acl-id ID --endpoint ENDPOINT [--endpoint ENDPOINT ...] ibmcloud sat acl subnet add --location LOCATION --acl-id ID --subnet SUBNET [--subnet SUBNET ...] ibmcloud sat acl subnet rm --location LOCATION --acl-id ID --subnet SUBNET [--subnet SUBNET ...]
启用和禁用端点
设置端点后,可以随时通过启用或禁用端点来控制通过端点的网络流量。
- 从 "位置" 仪表板中,选择创建 Satellite 端点的位置。
- 选择 链接端点 选项卡,并查找要启用或禁用的端点。
- 使用该开关来启用或禁用该端点。 禁用端点后,将阻止所有源的位置与目标服务器,服务或应用程序之间的网络流量。