本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
扩展 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中的亚马逊角色。
要创建实例配置文件
-
创建一个 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 主机。有关更多信息,请参阅 Amazon EC2 用户指南中的将IAM角色附加到实例。
步骤 2:为负载均衡器准备SSL证书
当您使用HTTPS负载均衡器侦听器时,必须在负载均衡器上部署SSL证书。负载均衡器先使用此证书终止连接,然后解密来自客户端的请求,最后再将请求发送到目标。
准备SSL证书
-
创建私有证书颁发机构 (CA) Certif AWS ice Manager 私有证书颁发机构 (ACMPCA)。有关更多信息,请参阅《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:配置负载均衡器,执行以下操作:
-
对于名称,输入负载均衡器的描述性名称。
-
对于模式,选择面向互联网。
-
对于 Load Balancer 协议 HTTPS,选择,在 Loa d Balancer 端口中输入
8443
。 -
对于 VPC,选择VPC要使用的,然后选择其中的所有子网。VPC
-
选择下一步。
-
-
对于步骤 2: 配置安全设置,请执行以下操作:
-
对于证书类型,选择从中选择证书ACM。
-
对于证书名称,选择您以前申请的私有证书。
-
选择下一步。
-
-
对于步骤 3:配置安全组,创建一个新的安全组,或者选择一个现有的安全组,该安全组允许您的前端客户端和代理之间通过端口 8443 进行入站和出站流量。HTTPS
选择下一步。
-
对于步骤 4: 配置路由,请执行以下操作:
-
对于目标组,选择新建目标组。
-
对于名称,输入目标组的名称。
-
对于目标类型,选择实例。
-
对于协议,选择 HTTPS。对于端口,输入
8443
。对于协议版本,选择HTTP1。 -
对于运行状况检查协议,选择HTTPS,在路径中输入
/health
。 -
选择下一步。
-
-
对于步骤 5: 注册目标,选择下一步。
-
选择创建。
步骤 4:启动 Broker
创建初始代理并将其配置为使用负载均衡器,AMI从代理创建一个,然后使用启动AMI其余代理。这确保所有 Broker 都配置为使用相同的 CA 和相同的负载均衡器配置。
启动 Broker
-
启动并配置初始 Broker 主机。有关安装和配置 Broker 的更多信息,请参阅第 2 步:设置 Amazon DCV 会话管理器代理。
注意
由于我们使用 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
,输入与 ARN Broker 负载均衡器关联的目标组的。 -
保存并关闭文件。
-
-
停止 Broker 实例。
-
AMI从已停止的 Broker 实例中创建。有关更多信息,请参阅《亚马逊 Linux AMI 实例EC2用户指南》中的通过实例创建 Linux。
-
使用启动AMI其余经纪商。
-
将您创建的实例配置文件分配给所有 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:配置负载均衡器,执行以下操作:
-
对于名称,输入负载均衡器的描述性名称。
-
对于模式,选择面向互联网。
-
对于 Load Balancer 协议 HTTPS,选择,在 Loa d Balancer 端口中输入
8445
。 -
对于 VPC,选择VPC要使用的,然后选择其中的所有子网。VPC
-
选择下一步。
-
-
对于步骤 2: 配置安全设置,请执行以下操作:
-
对于证书类型,选择从中选择证书ACM。
-
对于证书名称,选择您以前申请的私有证书。
-
选择下一步。
-
-
对于步骤 3:配置安全组,创建一个新的安全组,或者选择允许代理和代理的入站和出站流量HTTPS以及端口 8445 的现有安全组。
选择下一步。
-
对于步骤 4: 配置路由,请执行以下操作:
-
对于目标组,选择新建目标组。
-
对于名称,输入目标组的名称。
-
对于目标类型,选择实例。
-
对于协议,选择 HTTPS。对于端口,输入
8445
。对于协议版本,选择HTTP1。 -
对于运行状况检查协议,选择 HTTPS,在路径中输入
/health
。 -
选择下一步。
-
-
对于步骤 5: 注册目标,选择所有 Broker 实例并选择添加到已注册。选择下一步:审核。
-
选择创建。
步骤 6:启动 Agent
创建初始代理并将其配置为使用负载均衡器,AMI从代理创建一个,然后使用启动AMI其余代理。这确保所有 Agent 都配置为使用相同的负载均衡器配置。
启动 Agent
-
准备 Amazon DCV 服务器。有关更多信息,请参阅 第 1 步:准备 Amazon DCV 服务器。
-
放置在步骤 2:为负载均衡器准备SSL证书中创建的 CA 公有密钥的副本。选择或创建一个任何用户都可以读取的目录。CA 公有密钥文件也必须可供任何用户读取。
-
安装并配置 Agent。有关安装和配置 Agent 的更多信息,请参阅步骤 3:设置 Amazon DCV 会话管理器代理。
重要
在修改 Agent 配置文件时:
-
在
broker_host
参数中,输入代理负载均衡器的 DNS -
对于
ca_file
参数,输入在上一步中创建的 CA 公有密钥文件的路径
-
-
将 Amazon DCV 服务器配置为使用代理作为身份验证服务器。有关更多信息,请参阅 步骤 4:将 Amazon DCV 服务器配置为使用代理作为身份验证服务器。
重要
修改 Amazon DCV 服务器配置文件时:
-
对于
ca-file
参数,输入上一步中使用的 CA 公有密钥文件的相同路径 -
对于
auth-token-verifier
参数,请使用代理负载均衡器DNS的broker_ip_or_dns
-
-
停止 Agent 实例。
-
AMI从已停止的代理实例创建。有关更多信息,请参阅《亚马逊 Linux AMI 实例EC2用户指南》中的通过实例创建 Linux。
-
使用启动AMI其余代理并将您创建的实例配置文件分配给所有代理。
-
分配一个安全组,以允许将 Agent 到负载均衡器的网络流量传输到所有 Agent 实例。有关网络端口的更多信息,请参阅 Agent 配置文件。