扩展 Session Manager - NICE DCV Session Manager
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

扩展 Session Manager

为了实现高可用性并提高性能,您可以将 Session Manager 配置为使用多个 Agent 和 Broker。如果您确实打算使用多个 Agent 和 Broker,我们建议您仅安装并配置一个 Agent 和 Broker 主机,从这些主机中创建亚马逊机器映像 (AMI),然后通过该 AMI 启动其余主机。

默认情况下,Session Manager 支持使用多个 Agent,而无需进行任何额外的配置。不过,如果您打算使用多个 Broker,您必须使用负载均衡器均衡前端客户端和 Broker 之间的流量以及 Broker 和 Agent 之间的流量。负载均衡器的设置和配置完全由您拥有和管理。

下一节介绍了如何配置 Session Manager 以将多个主机与 Application Load Balancer 一起使用。

步骤 1:创建实例配置文件

您必须将实例配置文件附加到 Broker 和 Agent 主机,以授予它们使用 Elastic Load Balancing API 的权限。有关更多信息,请参见适用于 Linux 实例的 Amazon EC2 用户指南中的 Amazon EC2 的 IAM 角色

创建实例配置文件
  1. 创建一个 Amazon Identity and Access Management (IAM) 角色以定义在实例配置文件中使用的权限。使用以下信任策略:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

    然后,附加以下策略:

    { "Version": "2012-10-17", "Statement": [ { "Action": [ "ec2:DescribeInstances" ], "Effect": "Allow", "Resource": "*" }, { "Action": [ "elasticloadbalancing:DescribeTargetHealth" ], "Effect": "Allow", "Resource": "*" } ] }

    有关更多信息,请参阅《IAM 用户指南》中的创建 IAM 角色

  2. 创建一个新的实例配置文件。有关更多信息,请参阅《Amazon CLI 命令参考》中的 create-instance-profile

  3. 将 IAM 角色添加到实例配置文件。有关更多信息,请参阅《Amazon CLI 命令参考》中的 add-role-to-instance-profile

  4. 将该实例配置文件附加到 Broker 主机。有关更多信息,请参阅《适用于 Linux 实例的 Amazon EC2 用户指南》中的将 IAM 角色附加到实例

步骤 2:为负载均衡器准备 SSL 证书

当您对负载均衡器侦听器使用 HTTPS 时,必须在负载均衡器上部署 SSL 证书。负载均衡器先使用此证书终止连接,然后解密来自客户端的请求,最后再将请求发送到目标。

准备 SSL 证书
  1. 在 Amazon Certificate Manager Private Certificate Authority (ACM PCA) 中创建一个私有证书颁发机构 (CA)。有关更多信息,请参阅 Amazon Certificate Manager Private Certificate Authority User Guide 中的 Procedures for Creating a CA

  2. 安装该 CA。有关更多信息,请参阅 Amazon Certificate Manager Private Certificate Authority User Guide 中的 Installing a Root CA Certificate

  3. 申请由该 CA 签名的新私有证书。对于域名,请使用 *.region.elb.amazonaws.com 并指定您打算在其中创建负载均衡器的区域。有关更多信息,请参阅 Amazon Certificate Manager Private Certificate Authority User Guide 中的 Requesting a Private Certificate

步骤 3:创建 Broker Application Load Balancer

创建一个 Application Load Balancer 以均衡前端客户端和 Broker 之间的流量。

创建负载均衡器
  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

    在导航窗格中,选择负载均衡器,然后选择创建负载均衡器。对于负载均衡器类型,选择 Application Load Balancer

  2. 对于 Step 1: Configure Load Balancer,执行以下操作:

    1. 对于名称,输入负载均衡器的描述性名称。

    2. 对于模式,选择面向互联网

    3. 对于负载均衡器协议,选择 HTTPS;对于负载均衡器端口,输入 8443

    4. 对于 VPC,选择要使用的 VPC,然后选择该 VPC 中的所有子网。

    5. 选择 Next(下一步)。

  3. 对于步骤 2: 配置安全设置,请执行以下操作:

    1. 对于证书类型,选择从 ACM 中列表中选择证书

    2. 对于证书名称,选择您以前申请的私有证书。

    3. 选择 Next(下一步)。

  4. 对于步骤 3: 配置安全组,创建新的安全组或选择现有的安全组,以允许在前端客户端和 Broker 之间通过 HTTPS 和端口 8443 传输入站和出站流量。

    选择 Next(下一步)。

  5. 对于步骤 4: 配置路由,请执行以下操作:

    1. 对于目标组,选择新建目标组

    2. 对于名称,输入目标组的名称。

    3. 对于目标类型,选择实例

    4. 对于协议,选择 HTTPS。对于端口,输入 8443。对于协议版本,选择 HTTP1

    5. 对于运行状况检查协议,选择 HTTPS;对于路径,输入 /health

    6. 选择 Next(下一步)。

  6. 对于步骤 5: 注册目标,选择下一步

  7. 选择 Create(创建)。

步骤 4:启动 Broker

创建一个初始 Broker 并将其配置为使用负载均衡器,从该 Broker 中创建一个 AMI,然后使用该 AMI 启动其余 Broker。这确保所有 Broker 都配置为使用相同的 CA 和相同的负载均衡器配置。

启动 Broker
  1. 启动并配置初始 Broker 主机。有关安装和配置 Broker 的更多信息,请参阅步骤 2:设置 NICE DCV Session Manager Broker

    注意

    由于我们使用 Application Load Balancer,因此,不需要使用 Broker 的自签名证书。

  2. 连接到 Broker,使用常用的文本编辑器打开 /etc/dcv-session-manager-broker/session-manager-broker.properties,然后执行以下操作:

    1. 在行首放置井号 (#) 以注释掉 broker-to-broker-discovery-addresses 参数。

    2. 对于 broker-to-broker-discovery-aws-region,输入您在其中创建 Application Load Balancer 的区域。

    3. 对于 broker-to-broker-discovery-aws-alb-target-group-arn,输入与 Broker 负载均衡器关联的目标组的 ARN。

    4. 保存并关闭该文件。

  3. 停止 Broker 实例。

  4. 从停止的 Broker 实例中创建一个 AMI。有关更多信息,请参阅《适用于 Linux 实例的 Amazon EC2 用户指南》中的从实例创建 Linux AMI

  5. 使用该 AMI 启动其余 Broker。

  6. 将您创建的实例配置文件分配给所有 Broker 实例。

  7. 分配一个安全组,以允许将 Broker 到 Broker 的网络流量以及 Broker 到负载均衡器的网络流量传输到所有 Broker 实例。有关网络端口的更多信息,请参阅 Broker 配置文件

  8. 将所有 Broker 实例注册为 Broker 负载均衡器的目标。有关更多信息,请参阅《Application Load Balancer 用户指南》中的向您的目标组注册目标

步骤 5:创建 Agent Application Load Balancer

创建一个 Application Load Balancer 以均衡 Agent 和 Broker。

创建负载均衡器
  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

    在导航窗格中,选择负载均衡器,然后选择创建负载均衡器。对于负载均衡器类型,选择 Application Load Balancer

  2. 对于 Step 1: Configure Load Balancer,执行以下操作:

    1. 对于名称,输入负载均衡器的描述性名称。

    2. 对于模式,选择面向互联网

    3. 对于负载均衡器协议,选择 HTTPS;对于负载均衡器端口,输入 8445

    4. 对于 VPC,选择要使用的 VPC,然后选择该 VPC 中的所有子网。

    5. 选择 Next(下一步)。

  3. 对于步骤 2: 配置安全设置,请执行以下操作:

    1. 对于证书类型,选择从 ACM 中列表中选择证书

    2. 对于证书名称,选择您以前申请的私有证书。

    3. 选择 Next(下一步)。

  4. 对于步骤 3: 配置安全组,创建新的安全组或选择现有的安全组,以允许在 Agent 和 Broker 之间通过 HTTPS 和端口 8445 传输入站和出站流量。

    选择 Next(下一步)。

  5. 对于步骤 4: 配置路由,请执行以下操作:

    1. 对于目标组,选择新建目标组

    2. 对于名称,输入目标组的名称。

    3. 对于目标类型,选择实例

    4. 对于协议,选择 HTTPS。对于端口,输入 8445。对于协议版本,选择 HTTP1

    5. 对于运行状况检查协议,选择 HTTPS;对于路径,输入 /health

    6. 选择 Next(下一步)。

  6. 对于步骤 5: 注册目标,选择所有 Broker 实例并选择添加到已注册。选择 Next: Review(下一步: 审核)

  7. 选择 Create(创建)。

步骤 6:启动 Agent

创建一个初始 Agent 并将其配置为使用负载均衡器,从该 Agent 中创建一个 AMI,然后使用该 AMI 启动其余 Agent 这确保所有 Agent 都配置为使用相同的负载均衡器配置。

启动 Agent
  1. 准备 NICE DCV 服务器。有关更多信息,请参阅步骤 1:准备 NICE DCV 服务器

  2. 放置在步骤 2:为负载均衡器准备 SSL 证书中创建的 CA 公有密钥的副本。选择或创建一个任何用户都可以读取的目录。CA 公有密钥文件也必须可供任何用户读取。

  3. 安装并配置 Agent。有关安装和配置 Agent 的更多信息,请参阅步骤 3:设置 NICE DCV Session Manager Agent

    重要

    在修改 Agent 配置文件时:

    • 对于 broker_host 参数,输入 Agent 负载均衡器的 DNS

    • 对于 ca_file 参数,输入在上一步中创建的 CA 公有密钥文件的路径

  4. 配置 NICE DCV 服务器以将 Broker 作为身份验证服务器。有关更多信息,请参阅步骤 4:配置 NICE DCV 服务器以将 Broker 作为身份验证服务器

    重要

    在修改 NICE DCV 服务器配置文件时:

    • 对于 ca-file 参数,输入上一步中使用的 CA 公有密钥文件的相同路径

    • 对于 auth-token-verifier 参数,将 Agent 负载均衡器的 DNS 作为 broker_ip_or_dns

  5. 停止 Agent 实例。

  6. 从停止的 Agent 实例中创建一个 AMI。有关更多信息,请参阅《适用于 Linux 实例的 Amazon EC2 用户指南》中的从实例创建 Linux AMI

  7. 使用该 AMI 启动其余 Agent,并将您创建的实例配置文件分配给所有这些 Agent。

  8. 分配一个安全组,以允许将 Agent 到负载均衡器的网络流量传输到所有 Agent 实例。有关网络端口的更多信息,请参阅 Agent 配置文件