扩展 Session Manager - Amazon DCV 会话管理器

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

扩展 Session Manager

为了实现高可用性并提高性能,您可以将 Session Manager 配置为使用多个 Agent 和 Broker。如果您确实打算使用多个代理和代理,我们建议您仅安装和配置一个代理和代理主机,从这些主机创建 Amazon Machines Images (AMI),然后从启动其余主机AMIs。

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

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

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

您必须将实例配置文件附加到授予其使用 Elastic Load Balancing 权限的代理和代理主机APIs。有关更多信息,请参阅IAM《亚马逊EC2用户指南》EC2中的亚马逊角色

要创建实例配置文件
  1. 创建一个 AWS 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. 创建一个新的实例配置文件。有关更多信息,请参阅《AWS CLI 命令参考create-instance-profile中的。

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

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

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

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

准备SSL证书
  1. 创建私有证书颁发机构 (CA) Certif AWS ice Manager 私有证书颁发机构 (ACMPCA)。有关更多信息,请参阅《Certif ice Manager 私有 AWS 证书颁发机构用户指南》中的创建 CA 的程序

  2. 安装该 CA。有关更多信息,请参阅 Certificate Manager 私有 AWS 证书颁发机构用户指南中的安装根 CA 证书

  3. 申请由该 CA 签名的新私有证书。对于域名,请使用 *.region.elb.amazonaws.com 并指定您打算在其中创建负载均衡器的区域。有关更多信息,请参阅 Cer tificate Manager 私有 AWS 证书颁发机构用户指南中的申请私有证书。

步骤 3:创建 Broker Application Load Balancer

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

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

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

  2. 对于步骤 1:配置负载均衡器,执行以下操作:

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

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

    3. 对于 Load Balancer 协议 HTTPS,选择,在 Loa d Balancer 端口中输入8443

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

    5. 选择下一步

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

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

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

    3. 选择下一步

  4. 对于步骤 3:配置安全组,创建一个新的安全组,或者选择一个现有的安全组,该安全组允许您的前端客户端和代理之间通过端口 8443 进行入站和出站流量。HTTPS

    选择下一步

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

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

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

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

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

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

    6. 选择下一步

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

  7. 选择创建

步骤 4:启动 Broker

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

启动 Broker
  1. 启动并配置初始 Broker 主机。有关安装和配置 Broker 的更多信息,请参阅第 2 步:设置 Amazon DCV 会话管理器代理

    注意

    由于我们使用 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,输入与 ARN Broker 负载均衡器关联的目标组的。

    4. 保存并关闭文件。

  3. 停止 Broker 实例。

  4. AMI从已停止的 Broker 实例中创建。有关更多信息,请参阅《亚马逊 Linux AMI 实例EC2用户指南》中的通过实例创建 Linux

  5. 使用启动AMI其余经纪商。

  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. 对于步骤 1:配置负载均衡器,执行以下操作:

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

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

    3. 对于 Load Balancer 协议 HTTPS,选择,在 Loa d Balancer 端口中输入8445

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

    5. 选择下一步

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

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

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

    3. 选择下一步

  4. 对于步骤 3:配置安全组,创建一个新的安全组,或者选择允许代理和代理的入站和出站流量HTTPS以及端口 8445 的现有安全组。

    选择下一步

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

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

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

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

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

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

    6. 选择下一步

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

  7. 选择创建

步骤 6:启动 Agent

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

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

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

  3. 安装并配置 Agent。有关安装和配置 Agent 的更多信息,请参阅步骤 3:设置 Amazon DCV 会话管理器代理

    重要

    在修改 Agent 配置文件时:

    • broker_host参数中,输入代理负载均衡器的 DNS

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

  4. 将 Amazon DCV 服务器配置为使用代理作为身份验证服务器。有关更多信息,请参阅 步骤 4:将 Amazon DCV 服务器配置为使用代理作为身份验证服务器

    重要

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

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

    • 对于auth-token-verifier参数,请使用代理负载均衡器DNS的 broker_ip_or_dns

  5. 停止 Agent 实例。

  6. AMI从已停止的代理实例创建。有关更多信息,请参阅《亚马逊 Linux AMI 实例EC2用户指南》中的通过实例创建 Linux

  7. 使用启动AMI其余代理并将您创建的实例配置文件分配给所有代理。

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