本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
为了实现高可用性并提高性能,您可以将 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。有关更多信息,请参阅《亚马逊 EC2 用户指南》 EC2中的 Amazon IAM 角色。
创建实例配置文件
-
创建一个 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 角色。
-
创建一个新的实例配置文件。有关更多信息,请参阅 AWS CLI 命令参考 中的 create-instance-profile。
-
将 IAM 角色添加到实例配置文件。有关更多信息,请参阅《AWS CLI 命令参考》中的 add-role-to-instance-pro file。
将该实例配置文件附加到 Broker 主机。有关更多信息,请参阅 A mazon EC2 用户指南中的将 IAM 角色附加到实例。
步骤 2:为负载均衡器准备 SSL 证书
当您对负载均衡器侦听器使用 HTTPS 时,必须在负载均衡器上部署 SSL 证书。负载均衡器先使用此证书终止连接,然后解密来自客户端的请求,最后再将请求发送到目标。
准备 SSL 证书
-
创建私有证书颁发机构 (CA) Certif AWS ice Manager 私有证书颁发机构 (ACM PCA)。有关更多信息,请参阅《Certif ice Manager 私有 AWS 证书颁发机构用户指南》中的创建 CA 的程序。
-
安装该 CA。有关更多信息,请参阅 Certificate Manager 私有 AWS 证书颁发机构用户指南中的安装根 CA 证书。
-
申请由该 CA 签名的新私有证书。对于域名,请使用
*.
并指定您打算在其中创建负载均衡器的区域。有关更多信息,请参阅 Cer tificate Manager 私有 AWS 证书颁发机构用户指南中的申请私有证书。region
.elb.amazonaws.com
步骤 3:创建 Broker Application Load Balancer
创建一个 Application Load Balancer 以均衡前端客户端和 Broker 之间的流量。
创建负载均衡器
-
打开 Amazon EC2 控制台,网址为https://console.aws.amazon.com/ec2/
。 在导航窗格中,选择负载均衡器,然后选择创建负载均衡器。对于负载均衡器类型,选择 Application Load Balancer。
-
对于步骤 1:配置负载均衡器,执行以下操作:
-
对于名称,输入负载均衡器的描述性名称。
-
对于模式,选择面向互联网。
-
对于负载均衡器协议,选择 HTTPS;对于负载均衡器端口,输入
8443
。 -
对于 VPC,选择要使用的 VPC,然后选择该 VPC 中的所有子网。
-
选择下一步。
-
-
对于步骤 2: 配置安全设置,请执行以下操作:
-
对于证书类型,选择从 ACM 中列表中选择证书。
-
对于证书名称,选择您以前申请的私有证书。
-
选择下一步。
-
-
对于步骤 3: 配置安全组,创建新的安全组或选择现有的安全组,以允许在前端客户端和 Broker 之间通过 HTTPS 和端口 8443 传输入站和出站流量。
选择下一步。
-
对于步骤 4: 配置路由,请执行以下操作:
-
对于目标组,选择新建目标组。
-
对于名称,输入目标组的名称。
-
对于目标类型,选择实例。
-
对于协议,选择 HTTPS。对于端口,输入
8443
。对于协议版本,选择HTTP1。 -
对于运行状况检查协议,选择 HTTPS;对于路径,输入
/health
。 -
选择下一步。
-
-
对于步骤 5: 注册目标,选择下一步。
-
选择创建。
步骤 4:启动 Broker
创建一个初始 Broker 并将其配置为使用负载均衡器,从该 Broker 中创建一个 AMI,然后使用该 AMI 启动其余 Broker。这确保所有 Broker 都配置为使用相同的 CA 和相同的负载均衡器配置。
启动 Broker
-
启动并配置初始 Broker 主机。有关安装和配置 Broker 的更多信息,请参阅步骤 2:设置 Amazon DCV Session Manager Broker。
注意
由于我们使用 Application Load Balancer,因此,不需要使用 Broker 的自签名证书。
-
连接到 Broker,使用常用的文本编辑器打开
/etc/dcv-session-manager-broker/session-manager-broker.properties
,然后执行以下操作:-
在行首放置井号(#)以注释掉
broker-to-broker-discovery-addresses
参数。 -
对于
broker-to-broker-discovery-aws-region
,输入您在其中创建 Application Load Balancer 的区域。 -
对于
broker-to-broker-discovery-aws-alb-target-group-arn
,输入与 Broker 负载均衡器关联的目标组的 ARN。 -
保存并关闭文件。
-
-
停止 Broker 实例。
-
从停止的 Broker 实例中创建一个 AMI。有关更多信息,请参阅亚马逊 Linux 实例 EC2 用户指南中的通过实例创建 Linux AMI。
-
使用该 AMI 启动其余 Broker。
-
将您创建的实例配置文件分配给所有 Broker 实例。
-
分配一个安全组,以允许将 Broker 到 Broker 的网络流量以及 Broker 到负载均衡器的网络流量传输到所有 Broker 实例。有关网络端口的更多信息,请参阅 Broker 配置文件。
-
将所有 Broker 实例注册为 Broker 负载均衡器的目标。有关更多信息,请参阅《Application Load Balancer 用户指南》中的向您的目标组注册目标。
步骤 5:创建 Agent Application Load Balancer
创建一个 Application Load Balancer 以均衡 Agent 和 Broker。
创建负载均衡器
-
打开 Amazon EC2 控制台,网址为https://console.aws.amazon.com/ec2/
。 在导航窗格中,选择负载均衡器,然后选择创建负载均衡器。对于负载均衡器类型,选择 Application Load Balancer。
-
对于步骤 1:配置负载均衡器,执行以下操作:
-
对于名称,输入负载均衡器的描述性名称。
-
对于模式,选择面向互联网。
-
对于负载均衡器协议,选择 HTTPS;对于负载均衡器端口,输入
8445
。 -
对于 VPC,选择要使用的 VPC,然后选择该 VPC 中的所有子网。
-
选择下一步。
-
-
对于步骤 2: 配置安全设置,请执行以下操作:
-
对于证书类型,选择从 ACM 中列表中选择证书。
-
对于证书名称,选择您以前申请的私有证书。
-
选择下一步。
-
-
对于步骤 3: 配置安全组,创建新的安全组或选择现有的安全组,以允许在 Agent 和 Broker 之间通过 HTTPS 和端口 8445 传输入站和出站流量。
选择下一步。
-
对于步骤 4: 配置路由,请执行以下操作:
-
对于目标组,选择新建目标组。
-
对于名称,输入目标组的名称。
-
对于目标类型,选择实例。
-
对于协议,选择 HTTPS。对于端口,输入
8445
。对于协议版本,选择HTTP1。 -
对于运行状况检查协议,选择 HTTPS;对于路径,输入
/health
。 -
选择下一步。
-
-
对于步骤 5: 注册目标,选择所有 Broker 实例并选择添加到已注册。选择 下一步: 审核。
-
选择创建。
步骤 6:启动 Agent
创建一个初始 Agent 并将其配置为使用负载均衡器,从该 Agent 中创建一个 AMI,然后使用该 AMI 启动其余 Agent 这确保所有 Agent 都配置为使用相同的负载均衡器配置。
启动 Agent
-
准备 Amazon DCV 服务器。有关更多信息,请参阅 步骤 1:准备 Amazon DCV 服务器。
-
放置在步骤 2:为负载均衡器准备 SSL 证书中创建的 CA 公有密钥的副本。选择或创建一个任何用户都可以读取的目录。CA 公有密钥文件也必须可供任何用户读取。
-
安装并配置 Agent。有关安装和配置 Agent 的更多信息,请参阅步骤 3:设置 Amazon DCV Session Manager Agent。
重要
在修改 Agent 配置文件时:
-
对于
broker_host
参数,输入 Agent 负载均衡器的 DNS -
对于
ca_file
参数,输入在上一步中创建的 CA 公有密钥文件的路径
-
-
配置 Amazon DCV 服务器以将 Broker 作为身份验证服务器。有关更多信息,请参阅 步骤 4:配置 Amazon DCV 服务器以将 Broker 作为身份验证服务器。
重要
在修改 Amazon DCV 服务器配置文件时:
-
对于
ca-file
参数,输入上一步中使用的 CA 公有密钥文件的相同路径 -
对于
auth-token-verifier
参数,请使用代理负载均衡器的 DNSbroker_ip_or_dns
-
-
停止 Agent 实例。
-
从停止的 Agent 实例中创建一个 AMI。有关更多信息,请参阅亚马逊 Linux 实例 EC2 用户指南中的通过实例创建 Linux AMI。
-
使用该 AMI 启动其余 Agent,并将您创建的实例配置文件分配给所有这些 Agent。
-
分配一个安全组,以允许将 Agent 到负载均衡器的网络流量传输到所有 Agent 实例。有关网络端口的更多信息,请参阅 Agent 配置文件。