通过 Cloud Internet Services (CIS) 配置对应用程序的访问权
在本教程中,您使用 IBM Cloud Internet Services (CIS) 通过因特网访问部署在 VSI 上的 VPC landing zone 可部署体系结构中的应用程序。 您可以设置所需的基础结构,并了解如何配置 CIS 以访问部署在可部署体系结构中的应用程序。
CIS 提供全局负载均衡器,高速缓存,Web 应用程序防火墙和页面规则,以保护应用程序并增强其可靠性和性能。
目标
- 为操作员分配访问 VPC 环境所需的访问权,包括在工作负载 VPC 中的 VSI 上部署应用程序。
- 通过 VPC 负载均衡器向因特网公开应用程序,以便任何人都可以访问应用程序。 负载均衡器可以在 VPC (在工作负载 VSI 中) 中运行的多个应用程序服务器实例之间分发流量,并且仅通过将流量转发到正常工作的实例。
- 使用 IBM Cloud Secrets Manager 来管理所有入局 HTTPS 请求的传输层安全性 (TLS) 证书。
- 配置 Cloud Internet Services (CIS) 以访问应用程序。IBM Cloud Internet Services(由 Cloudflare 提供支持) 在 IBM Cloud上提供快速,高性能,可靠且安全的因特网服务。
- 在区域之间使用全局负载均衡器,以实现高可用性,提高弹性并缩短等待时间。
准备工作
- 部署 VPC landing zone 可部署体系结构的实例。 有关更多信息,请参阅 部署登录区域可部署体系结构。
- 确保登录区域可部署体系结构具有有效的虚拟服务器 (VSI)。
- 创建 Cloud Internet Services (CIS) 的实例,并使用活动域名对其进行配置。 您可以使用 CIS Terraform 模块 来创建和配置实例。
分配操作员访问权
由于锁定了对 VPC landing zone 拓扑的网络访问权,因此需要通过管理 VPC 为操作员分配对 VSI 的访问权。
-
查看 选项 以分配操作员访问权。
-
完成下列其中一种方法:
在本教程中,您将管理 VPC 中的某个 VSI 公开为 " jump-box"。 您可以访问工作负载 VPC,并在工作负载 VPC 中的工作负载 VSI 中部署应用程序。
将操作员访问权分配给要在其中部署应用程序的每个 VSI。
在工作负载 VSI 中部署应用程序
-
通过管理 VPC 访问工作负载 VSI (例如,<your_prefix>-workload-server-001)。
- 访问工作负载 VPC 的 ACL,并创建 入站和出站规则 以针对管理 VPC 启用 SSH 通信 (端口 22)。
- 同样,创建入站和出站规则以在工作负载 VPC 的管理 VPC 的 ACL 中启用 SSH。
- 将 SSH 密钥 (用于登录到管理 VSI) 从系统复制到管理服务器。
- 登录到管理服务器,并使用先前复制的保留 IP 和 SSH 密钥对工作负载 VSI 执行 SSH 操作。
- 验证您是否已登录到工作负载 VSI。
-
部署该应用程序。
有关部署应用程序的更多信息,请参阅“跨多个位置和区域部署隔离的工作负载”中的 在虚拟服务器实例上安装和配置 Web 服务器。 该教程引用了 nginx,但您在端口
80
上的工作负载 VSI 上部署了 Apache 服务器。-
运行以下命令以安装 Apache 服务器:
apt-get update
apt-get install apache2 --yes
-
运行以下命令以验证安装:
curl http://localhost:80
-
-
重复这些步骤以在其他工作负载 VSI 上部署应用程序。
在 Secrets Manager 中创建证书
-
IBM Cloud Secrets Manager 用于订购或导入然后管理域的证书。 遵循 Secure with HTTPS 中的步骤来创建和授权 Secrets Manager 实例。
-
添加认证中心和 DNS 提供程序:
- 打开 Secrets Manager 服务,并在“密钥引擎”下选择
Public Certificates
。 - 使用 Let 's Encrypt 认证中心引擎配置认证中心。
- 在 DNS 提供者下,选择 CIS 实例。
- 打开 Secrets Manager 服务,并在“密钥引擎”下选择
-
在 Secrets Manager中订购公用证书,如 备用 1 中所述: 代理,流量流经 CIS。
连接公共 VPC 负载均衡器
现在,您的应用程序已部署在工作负载 VSI 上,请配置负载均衡器以允许通过公共因特网访问应用程序。
-
创建公共 Application Load Balancer for VPC。
- 遵循此 教程 以连接公共 VPC 负载均衡器。
- 对于前端侦听器,请使用侦听器协议
HTTPS
端口443
,并连接 Secrets Manager 实例和您在上一步中创建的公用证书。 - 对于端口
80
和端口443
,请遵循 更新安全性以允许外部流量 中的步骤。
-
验证访问权。
- 检索负载均衡器的主机名。
- 转至 VPC 基础结构> 负载均衡器
- 选择负载均衡器
- 复制 Hostname 的值
- 将
https://<hostname>
粘贴到浏览器中,并检查应用程序是否响应。
- 检索负载均衡器的主机名。
在 CIS 实例中配置 DNS 记录
创建 DNS CNAME 记录以允许客户机查找域 (例如,example.com
) 并解析 xxx-REGION.lb.appdomain.cloud
。
-
在 CIS中,打开 可靠性 页面并选择 DNS。
-
滚动到 DNS 记录并创建记录。
- 类型: CNAME
- 名称: vpc-lb
- TTL: 自动
- 别名域名: VPC 负载均衡器主机名。
- 为 vpc-lb 添加 DNS CNAME 记录
-
重复这些步骤以添加其他区域的 DNS 记录。
通过 CIS 通过 HTTPS 访问应用程序
要通过因特网验证应用程序是否可用,请在浏览器中转至 https://vpc-lb.<your_domain>
(例如 https://vpc-lb.example.com
)。
创建全局负载均衡器
在此部分中,配置 CIS 以在区域之间分配负载。 在 CIS 实例中配置全局负载均衡器以使用新的 CNAME 记录。
在创建全局负载均衡器之前,请配置运行状况检查以验证应用程序的可用性,并定义指向 VPC 负载均衡器的源池。
配置运行状况检查
运行状况检查有助于深入了解池的可用性,以便可以将流量路由到运行正常的池。 这些检查会定期发送 HTTPS 请求并监视响应。
- 在 CIS 仪表板中,转至 可靠性 > 全局负载均衡器。
- 选择 运行状况检查,然后单击 创建。
- 将 名称 设置为
vpc-lb
。 - 针对 监视器类型选择
HTTPS
。 - 将 端口 设置为缺省值。
- 将 路径 设置为
/
。 - 单击创建。
定义源池
池是一组源 VSI 或负载均衡器,当连接到全局负载均衡器时,会智能地将流量路由到这些 VSI 或负载均衡器。 您可以定义基于位置的池,并配置 CIS 以根据用户请求的地理位置将用户重定向到最近的 VPC 负载均衡器。
- 选择 源池,然后单击 创建。
- 输入池的名称:
vpc-lb
。 - 将 源名称 设置为
vpc-lb
。 - 将 源地址 设置为先前指定的新 CNAME 记录。
- 选择 现有运行状况检查,然后选择刚刚创建的运行状况检查。
- 选择靠近您所在位置的 运行状况检查区域。
- 单击保存。
- 对其他区域重复这些步骤。
等待几秒钟,直到源池的运行状态显示为 healthy
。
配置全局负载均衡器
现在已定义源池,您可以完成负载均衡器的配置。
- 选择 负载均衡器,然后单击 创建。
- 保留 Enable (
On
) 和 Proxy (Off
) 的缺省值。 - 将全局负载均衡器的名称指定为
vpc-lb-glb
。 此名称构成子域中用于访问应用程序的初始字符 (例如,https://vpc-lb-glb
.<your_domain>
)。 - 将 TTL,流量指导和 会话亲缘关系 设置为适用于应用程序的设置。
- 单击 添加路径。
- 选择 区域:
Default
。 - 选择刚创建的源池。
- 单击添加。
- 单击创建。
- 在浏览器中访问
https://vpc-lb-glb.<your_domain>
(例如,example.com
) 以验证全局负载均衡器是否可用。
扩展教程
您通过 CIS访问了部署在登录区域中的工作负载。
您可以在 CIS 中配置 更多功能 (例如 WAF 和 DDoS ) 以使其更安全。 有关更多信息,请阅读以下主题: