

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

# 与 Amazon DCV Connection Gateway 集成
<a name="configure-gateway-integration"></a>

[Amazon DCV Connection Gateway](https://docs.aws.amazon.com/dcv/latest/gw-admin/what-is-gw.html) 是一个可安装的软件包，使用户能够通过到 LAN 或 VPC 的单个接入点访问一组 Amazon DCV 服务器。

 如果您的基础设施包括可通过 Amazon DCV Connection Gateway 访问的 Amazon DCV 服务器，您可以配置 Session Manager 以集成 Amazon DCV Connection Gateway。通过执行下一节中概述的步骤，Broker 将充当 Connection Gateway 的[会话解析器](https://docs.aws.amazon.com/dcv/latest/gw-admin/session-resolver.html)。换句话说，Broker 将公开一个额外的 HTTP 终端节点。Connection Gateway 对该端点进行 API 调用，以检索将 Amazon DCV 连接路由到 Broker 选择的主机所需的信息。

**Topics**
+ [将 Session Manager Broker 设置为 Amazon DCV Connection Gateway 的会话解析器](#set-up-sm-broker)
+ [可选 - 启用 TLS 客户端身份验证](#enable-tls-client-auth)
+ [Amazon DCV 服务器 - DNS 映射参考](dcv-server-dns-mapping.md)

## 将 Session Manager Broker 设置为 Amazon DCV Connection Gateway 的会话解析器
<a name="set-up-sm-broker"></a>

**Session Manager Broker 端**

1. 使用常用的文本编辑器打开 `/etc/dcv-session-manager-broker/session-manager-broker.properties` 并应用以下更改：
   + Set `enable-gateway = true`
   + 将 `gateway-to-broker-connector-https-port` 设置为空闲 TCP 端口（默认为 8447）
   + 将 `gateway-to-broker-connector-bind-host` 设置为 Broker 为 Amazon DCV Connection Gateway 连接绑定的主机的 IP 地址（默认值为 0.0.0.0） 

1. 然后，运行以下命令以停止并重新启动 Broker：

   ```
   sudo systemctl stop dcv-session-manager-broker
   ```

   ```
   sudo systemctl start dcv-session-manager-broker
   ```

1. 检索 Broker 的自签名证书副本，并将其放置在您的用户目录中。

   ```
   sudo cp /var/lib/dcvsmbroker/security/dcvsmbroker_ca.pem $HOME
   ```

   在下一步中安装 Amazon DCV Connection Gateway 时，您需要使用该证书。

**Amazon DCV Connection Gateway 端**
+ 请按照 Amazon DCV Connection Gateway 文档中的相应[小节](https://docs.aws.amazon.com/dcv/latest/gw-admin/setting-up-configuring.html#configuring-resolver)进行操作。

  由于 Amazon DCV Connection Gateway 对 Broker 进行 HTTP API 调用，如果 Broker 使用自签名证书，您需要将 Broker 证书复制到 Amazon DCV Connection Gateway 主机（在上一步中检索）并在 Amazon DCV Connection Gateway 配置的 `[resolver]` 部分中设置 `ca-file` 参数。

## 可选 - 启用 TLS 客户端身份验证
<a name="enable-tls-client-auth"></a>

在完成上一步后，Session Manager 和 Connection Gateway 可以通过安全通道进行通信，其中 Connection Gateway 可以验证 Session Manager Broker 的身份。如果您要求 Session Manager Broker 还在建立安全通道之前验证 Connection Gateway 身份，您需要按照下一节中的步骤启用 TLS 客户端身份验证功能。

**注意**  
如果会话管理器位于负载均衡器之后，则无法使用具有 TLS 连接终止功能的负载均衡器（例如应用程序负载均衡器 (ALBs) 或网关负载均衡器 ()）启用 TLS 客户端身份验证。GLBs只能支持没有 TLS 终止的负载均衡器，例如网络负载均衡器 () NLBs。如果您使用 ALBs 或 GLBs，则可以强制只有特定的安全组才能联系负载均衡器，从而确保更高的安全级别；有关安全组的更多信息请点击此处：[您的 VPC 的安全组](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html) 

**Session Manager Broker 端**

1. 要为 Session Manager Broker 和 Amazon DCV Connection Gateway 之间的通信启用 TLS 客户端身份验证，请按照以下步骤进行操作：

1.  通过运行生成所需的密钥和证书：命令的输出将告诉您生成凭据的文件夹以及用于创建 TrustStore 文件的密码。

   ```
   sudo /usr/share/dcv-session-manager-broker/bin/gen-gateway-certificates.sh
   ```

1.  将 Amazon DCV Connection Gateway 的私有密钥和自签名证书的副本放置在您的用户目录中。在下一步中在 Amazon DCV Connection Gateway 中启用 TLS 客户端身份验证时，您需要使用这些密钥和证书。

   ```
   sudo cp /etc/dcv-session-manager-broker/resolver-creds/dcv_gateway_key.pem $HOME 
   ```

   ```
   sudo cp /etc/dcv-session-manager-broker/resolver-creds/dcv_gateway_cert.pem $HOME
   ```

1.  然后使用你首选的文本编辑器打开/etc/dcv-session-manager-broker/session-manager-broker.properties 并执行以下操作：
   + 将 `enable-tls-client-auth-gateway` 设置为 `true`
   + 设置`gateway-to-broker-connector-trust-store-file`为在上一步中创建的 TrustStore 文件的路径
   + 设置`gateway-to-broker-connector-trust-store-pass`为上一步中创建 TrustStore 文件时使用的密码

1. 然后，运行以下命令以停止并重新启动 Broker：

   ```
   sudo systemctl stop dcv-session-manager-broker
   ```

   ```
   sudo systemctl start dcv-session-manager-broker
   ```

**Amazon DCV Connection Gateway 端**
+ 请按照 Amazon DCV Connection Gateway 文档中的相应[小节](https://docs.aws.amazon.com/dcv/latest/gw-admin/setting-up-configuring.html)进行操作。
  + 在设置 `[resolver]` 部分中的 `cert-file` 参数时，使用您在上一步中复制的证书文件的完整路径
  + 在设置 `[resolver]` 部分中的 `cert-key-file` 参数时，使用您在上一步中复制的密钥文件的完整路径