了解链接端点和 Satellite
在 Satellite 控制平面中开放 Satellite 端点,以控制和审计 IBM Cloud Satellite® 位置与在位置外运行的服务、服务器或应用程序之间的网络流量。
通过 Satellite 链接端点,您可以允许在 Satellite 位置中运行的任何客户机连接到在该位置外部运行的服务,服务器或应用程序,或者允许连接到 IBM Cloud 专用网络的客户机连接到在该位置中运行的服务,服务器或应用程序。
要建立连接,必须指定目标资源的标准域名 (FQDN) 或 IP 地址,端口,连接协议以及端点中的任何认证方法。 该端点已向您所在位置的 Satellite 控制平面的 Satellite 链接组件注册。 为了帮助您维护企业安全性和审计合规性,Satellite Link 还提供了内置控件,用于限制客户对端点的访问,以及记录和审计流经端点的流量。
体系结构
根据您的用例,您可以创建两种类型的端点: 云端点或位置端点。
- 云端点
- 目标资源在 Satellite 位置外部运行。 云端点允许您从 Satellite 位置中的客户机安全地连接到在该位置外部运行的服务,服务器或应用程序。
- 位置端点
- 目标资源在 Satellite 位置运行。 位置端点允许您从连接到 IBM Cloud 专用网络的客户机安全地连接到在 Satellite 位置中运行的服务器,服务或应用程序。
隧道服务器和连接器代理网络通过 Satellite 位置中的云服务和资源之间的安全 TLS 连接进行流量。 此链路隧道充当因特网上使用 TCP 协议和端口 443 的通信路径,并通过 TLS 对有效内容进行加密。 在 IBM Cloud 中的隧道服务器与位置控制平面节点中的连接器之间创建了三个隧道。 此冗余支持您所在位置的三个可用性专区,并帮助确保在发生单专区故障时进行通信。 但是,这三个隧道将一起编排,以便使用链接端点的客户机可以看到单个连接。 有关 Satellite 链接组件的更多信息,请参阅 Satellite 体系结构。
云端点
缺省情况下,Satellite 位置中的源客户机无法访问在该位置外部运行的目标资源,因为该目标资源的 IP 地址在该位置中不可路由。 请查看以下体系结构图和步骤,这些图和步骤演示了 Satellite Link 如何通过 Satellite 端点实现从 Satellite 位置到在位置外部运行的服务的通信。
-
为目标资源创建端点时,将为 Satellite 控制平面节点上的 Satellite 链接连接器打开一个端口。 将来自 Satellite 位置中的源的请求发送到 Satellite 链接连接器主机名和端口,例如
nae4dce0eb35957baff66-edfc0a8ba65085c5081eced6816c5b9c-c000.us-east.satellite.appdomain.cloud:30819
。 此链接主机名和端口将映射到目标资源的域和端口。 -
Satellite 链接连接器通过安全 TLS 连接将请求转发到 Satellite 管理平面上的 Satellite 链接隧道服务器。
-
Satellite 链路隧道服务器将请求解析为目标的 IP 地址和端口,并将请求转发到目标资源。
位置端点
缺省情况下,连接到 IBM Cloud 专用网络的源客户机无法访问在 Satellite 位置中运行的目标资源,因为目标资源的 IP 地址不可从该位置外部路由。 查看以下体系结构图和步骤,这些图和步骤演示了 Satellite Link 如何通过 Satellite 端点将连接到 IBM Cloud 专用网络的服务与位置进行通信。
-
为在 Satellite 位置中运行的资源创建端点时,将在 Satellite 链路隧道服务器上打开一个端口,并在端点配置中添加该端口。 将来自连接到 IBM Cloud 专用网络的源的请求发送到 Satellite 链路隧道服务器主机名和此端口,例如
c-01.us-east.link.satellite.cloud.ibm.com:30819
。 此链接主机名和端口将映射到目标资源的域和端口。 -
Satellite 链接隧道服务器将请求解析为 Satellite 链接连接器主机名和端点端口,并通过安全 TLS 连接将请求转发到 Satellite 链接连接器。
-
Satellite 链接连接器将请求解析为目标的 IP 地址和端口,并将请求转发到目标资源。
- 如果 Satellite 链接变为不可用,将会发生什么情况?
- 即使位置与 IBM Cloud 的连接不可用,您的位置工作负载也会继续独立运行。 但是,如果任何应用程序使用链接端点与 IBM Cloud通信,那么这些应用程序与 IBM Cloud 之间的通信将中断。 此外,通过 Cloud Identity and Access Management向 IBM 服务添加主机或访问控制请求等对 Satellite 位置进行的任何请求更改都会中断。 连接恢复后,日志和事件会发送到 IBM Cloud Logs 实例。 请注意,Satellite Link 依靠主机本地网络的底层连接来监控和维护 Satellite 位置的托管服务。
外部网络需求和安全性
Satellite 位置基础结构是本地网络 (本地主机) 或其他云提供者的网络的一部分,但通过从 IBM Cloud的安全访问进行远程管理。 查看有关 Satellite 链路网络安全性的以下常见问题。 有关 IBM Cloud Satellite的所有安全性选项的更多信息,请参阅 Satellite 的安全性与合规性。
我是否需要允许通过防火墙从面向因特网的端口到我所在位置的任何唯一入站流量?
否。Satellite Link 使用标准 Web 安全端口从您的位置到 IBM Cloud 进行加密通信以进行位置管理。Satellite 为每个位置创建唯一的公共 DNS 条目,并为 TCP 分配 32768-52768 范围内的端口,以便 IBM Cloud可预测地解析目标地址。 通过 主机的现有出站防火墙策略,允许在 Satellite 位置到 IBM Cloud 之间通过链接端点的通信通道。
如果 IBM 拥有链接隧道,那么如何验证我们的数据是否不可访问? 我的组织的安全策略不允许来自我们网络的隧道。
Satellite Link 使用零信任模型; 缺省情况下,IBM Cloud 无法访问您的工作负载。 位置中由 IBM 基于 Satellite 的站点可靠性工程师启动的任何基础架构管理都将与工作负载以及工作负载所使用的网络连接 (例如链接端点) 隔离。 有关 IBM Cloud 对 Satellite 位置具有哪些类型的访问权的更多信息,请参阅 IBM 操作访问权。 对于应用程序需要的到您所在位置的任何其他连接,您可以使用 Satellite 链接,通过为您所在位置的每个目标资源设置端点来创建层 4 通信。 所有通过端点的连接始终处于您的控制之下,包括完全禁用端点。
如何确保传输中的数据安全?
位置与 IBM Cloud 之间的链接端点通过两个级别的加密进行保护: 从位置的连接器到 IBM 提供的 IBM Cloud 的高安全性加密,以及源和目标资源之间的可选附加加密层。
通过 Satellite 链路传输的所有数据都是使用 TLS 1.3 标准加密的。 此加密级别由 IBM管理。
创建端点时,可以选择通过为客户机源和目标资源之间的端点连接指定 数据加密协议 来提供其他级别的加密。 例如,即使流量未在源端加密,您也可以为通过因特网的连接指定 TLS 加密。 您可以提供自己的签名证书,以确保内部安全性和操作可审计性,而无需公开任何数据内容。IBM 仅传输加密连接,并且必须为您指定的数据加密协议配置资源。
加密协议
通过 Satellite Link 的所有通信都由 IBM加密。 创建端点时,可以选择为客户机源和目标资源之间的端点连接指定附加数据加密协议。 例如,即使流量未在源端加密,您也可以为通过因特网的连接指定自己的额外 TLS 加密。 请注意,必须为您指定的数据加密协议配置资源。
查看有关 Satellite Link 如何处理每种类型的连接协议的以下信息。
如果使用 Satellite 控制台来创建端点,那么将从您选择的源协议继承目标协议。 要指定目标协议,请使用 CLI 创建端点并在 ibmcloud sat endpoint create
命令中包含 --dest-protocol
选项。
TCP 和 TLS
如果目标资源不要求请求带有特定的 HTTP 或 HTTPS 主机名标头,或者可以接受直接向其 IP 地址而非主机名发出的请求,则可使用 TCP 或 TLS 协议。Satellite Link 使用与请求相同的协议将请求数据包传输到目的地。
HTTP 和 HTTPS
如果目的地资源被配置为监听特定的 HTTP 或 HTTPS 主机名报头,请使用 HTTP 或 HTTPS 协议。 通过使用 HTTP 和 HTTPS 标头重映射,Satellite Link 能够通过 TCP 端口 80 ( HTTP ) 和 443 ( HTTPS ) 正确路由多个目标资源请求。
- 云端点
- 从 Satellite 位置向在该位置之外运行的目标资源发出的源请求包含一个 HTTP 头,如
linkconnector_hostname:port
。 当请求从 Satellite Link 连接器发送到 Satellite Link 隧道服务器时,Satellite Link 隧道服务器会将请求的 HTTP 标头改为目标主机名和端口,如dest_hostname:dest_port
。 Satellite Link 隧道服务器会使用目的地的主机名和端口将请求转发到正确的目的地资源。 - 位置端点
- 从位置之外运行的客户端向 Satellite 位置中的目标资源发出的源请求包含 HTTP 标头,如
linkserver_hostname:endpoint_port
。 Satellite Link 隧道服务器会将请求上的 HTTP 标头改为目的地主机名和端口,如dest_hostname:dest_port
,然后将请求发送到 Satellite Link 连接器。 Satellite Link 连接器会使用目的地的主机名和端口将请求发送到正确的目的地资源。
HTTP 隧道
如果希望 TLS 连接不间断地从源端传输到目的地资源,例如将证书传输到目的地进行相互验证,请使用 HTTP 隧道协议。
客户端源向 Satellite Link 隧道服务器或连接器组件发出 HTTP 连接请求,具体取决于目的地是运行在位置之外还是运行在 Satellite 位置之内。 然后,“链接”组件将连接到目标资源。 建立初始连接后,链路组件会不间断地代理源和目标之间的 TCP 连接。
针对加密流量的 TLS 终止不涉及 Satellite 链接组件,因此目标资源必须终止 TLS 连接。 例如,如果目的地资源需要相互验证,HTTP 隧道协议允许客户源将所需的验证证书直接传递给目的地。
服务器端证书验证用于 TLS 和 HTTPS
如果选择 TLS 或 HTTPS 协议,可以选择要求服务器端验证目的地证书。 证书必须对目标的主机名有效,并由可信认证中心签署。
如果目标资源具有证书,那么创建端点时不需要提供证书。 但是,如果您正在测试对仍在开发中的目标资源的访问权,并且您还没有可信证书,那么可以上载自签名证书以进行验证。 此 ssl.crt
文件必须包含资源的主机名的公共 base-64 编码证书,并且不得包含专用 ssl.key
证书密钥。 要使用 OpenSSL, 创建用于测试目的的自签名证书,请参阅本自 签名 SSL 证书教程。
访问和审计控制
Satellite 链接提供内置控件来帮助您限制哪些客户机可以访问端点,并审计用户为链接端点启动的事件。
限制对源列表的访问
缺省情况下,设置端点后,任何客户机都可以通过端点连接到目标资源。 例如,对于位置端点,连接到 IBM Cloud 专用网络的任何客户机都可以使用该端点来连接到在 Satellite 位置中运行的目标资源。 要限制对目标资源的访问,可以 指定源 IP 范围列表,以便只有可信客户机才能访问端点。 请注意,当前只能为类型为 location
的端点创建源列表,而不能为类型为 cloud
的端点创建源列表。
审计用户启动的事件
在为端点设置源列表后,您可以配置审计,以监控链接端点的用户发起事件。IBM Cloud Satellite 与 IBM Cloud Logs 集成,可收集您所在位置所有链接端点的审计事件并将其发送到 IBM Cloud Logs 实例。 要开始审计,请参阅 审计端点操作的事件。
用例
查看以下 Satellite 链接端点的常规用例和示例用例列表。
我能否使用链接端点
- 要连接同一 Satellite 位置中的资源吗?
- 编号 无法在同一位置的资源之间创建链接端点。 相反,资源可以直接访问彼此。 例如,在 Satellite 中的 Red Hat OpenShift 集群中运行的应用程序不需要通过 Satellite 链接进行通信以访问同一位置中存在的数据库,而是可以通过该位置的专用网络直接访问该数据库。
- 公开在 Satellite中的 Red Hat OpenShift 集群中运行的应用程序或服务?
- 要查看可用选项,请参阅 在 Satellite 集群中公开应用程序。
- IBM Cloud 公用网络中的网桥网络,例如 VPC 生成?
- 编号 请改为使用建议用于网络设置的桥接解决方案。 例如,您可以使用 Virtual Private Network (VPN) for VPC 或 IBM Cloud® Direct Link。
- 连接到其他公共云?
- 需要。 通过 Satellite 链接,您可以为在其他公共云中运行的资源创建
cloud
端点。
示例: 从 Satellite 位置连接到另一个云提供者中的服务
您希望将数据从在 Satellite 位置的主机上运行的服务器发送到在 Amazon Web Services中运行的服务。 该服务必须可公开访问,以便在 IBM Cloud 网络中终止的 Satellite 链路隧道可以访问 AWS 网络中的服务。
要建立此连接,请首先创建 cloud
端点。 指定在 AWS 中运行的服务作为目标资源。 然后,位置主机上的服务器将直接连接到位置的控制平面节点上的 Satellite 链路连接器的主机名。Satellite 链接将此请求转发到您为在 AWS中运行的服务创建的云端点。
示例: 启用和审计从 IBM Cloud 对 Satellite 位置的有限访问权
您在 Satellite 位置而不是 IBM Cloud中运行数据库,因为该数据库具有在特定国家或地区的本地数据中心中运行的法律要求。 但是,您仍需要从 IBM Cloud 专用网络连接到 Satellite 位置中的数据库。
要建立此连接,请首先创建 location
端点。 指定在 Satellite 位置中运行的数据库作为目标资源。 然后,IBM Cloud 专用网络中的客户机直接连接到 Satellite 链路隧道服务器的主机名。Satellite 链接将此请求转发到您为位置数据库创建的位置端点。
最后,要维护企业安全性和审计合规性,请指定源 IP 范围的列表,以便只有公共云中的可信客户机才能通过端点访问您的位置数据库。 然后,设置 IBM Cloud Logs 实例,以便自动收集 Satellite 位置所有端点的审计日志。