配置代理持久性 - NICE DCV 会话管理器
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

配置代理持久性

Session Manager 经纪人支持与外部数据库的集成。外部数据库允许 Session Manager 保留状态数据和密钥,以便之后可用。事实上,代理数据分布在集群上,如果主机需要重新启动或集群终止,则很容易丢失数据。启用此功能后,您可以添加和删除经纪商节点。此外,您可以停止集群并重新启动它,而无需重新生成密钥或丢失关于哪个 NICE DCV Server 处于打开或关闭状态的信息。

以下类型的信息可设置为持久保留:

  • 用于设置会话以建立与客户端连接的密钥

  • 在行中会话数据

  • NICE DCV 服务器状态

NICE DCV 会话管理器支持 DynamoDB、MariaDB 和 MySQL 数据库。您必须设置和管理其中一个数据库才能使用此功能。如果您的经纪机器托管在 Amazon EC2 上,我们建议使用 DynamoDB 作为外部数据库,因为它不需要任何额外的设置。

注意

运行外部数据库时,可能会产生额外费用。要查看有关 DynamoDB 定价的信息,请参阅预置容量的定价.

将经纪商配置为持续在 DynamoDB 上

配置经纪商以开始在 DynamoDB 上存储数据:

  1. 打开/etc/dcv-session-manager-broker/session-manager-broker.properties使用您常用的文本编辑器并进行以下编辑:

    • Set enable-persistence = true

    • Set persistence-db = dynamodb

    • 适用于dynamodb-region指定要存储包含代理数据的表的 &aws; 区域。有关支持的区域列表,请参阅DynamoDB 服务终端节点.

    • 适用于dynamodb-table-rcu指定每个表支持的读取容量单位 (RCU) 的数量。有关 RCU 的更多信息,请参阅DynamoDB 预置容量.

    • 适用于dynamodb-table-wcu指定每个表支持的写入容量单位 (WCU) 的数量。有关 WCU 的更多信息,请参阅DynamoDB 预置容量.

    • 对于 dynamodb-table 名称前缀,请指定添加到每个 DynamoDB 表的前缀(有助于区分使用同一账户的多个经纪商集群)。只允许使用字母数字字符、点、短划线和下划线。

  2. 停止集群中的所有代理。对于每个代理,运行以下命令:

    sudo systemctl stop dcv-session-manager-broker
  3. 确保集群中的所有经纪商都已停止,然后重新启动所有经纪商。通过运行以下命令启动每个代理:

    sudo systemctl start dcv-session-manager-broker

代理主持人必须拥有调用 DynamoDB API 的权限。在 Amazon EC2 实例上,使用 Amazon EC2 元数据服务自动检索凭证。如果需要指定不同的凭据,可以使用受支持的凭据检索技术之一(例如 Java 系统属性或环境变量)对其进行设置。有关更多信息,请参阅 。提供和检索 &aws; 凭证.

将经纪商配置为在 MariaDB/MySQL 上持续存在

注意

这些区域有:/etc/dcv-session-manager-broker/session-manager-broker.properties文件包含敏感数据。默认情况下,其写入访问权限限制为 root 用户,其读取访问权限仅限于 root 用户和运行 Broker 的用户。默认情况下为dcvsmbroker用户。Broker 在启动时检查文件是否具有预期的权限。

配置经纪商以开始在 MariaDB/MySQL 上保留他们的数据:

  1. 打开/etc/dcv-session-manager-broker/session-manager-broker.properties使用您常用的文本编辑器进行以下编辑:

    • Set enable-persistence = true

    • Set persistence-db = mysql

    • Set jdbc-connection-url = jdbc:mysql://<db_endpoint>:<db_port>/<db_name>?createDatabaseIfNotExist=true

      在此配置中,<db_endpoint>是数据库终端节点,<db_port>是数据库端口,<db_name>是数据库名称。

    • 适用于jdbc-user指定有权访问数据库的用户的名称。

    • 适用于jdbc-password指定有权访问数据库的用户的密码。

  2. 停止集群中的所有代理。对于每个代理,运行以下命令:

    sudo systemctl stop dcv-session-manager-broker
  3. 确保集群中的所有经纪商都已停止,然后重新启动所有经纪商。对于每个代理,运行以下命令:

    sudo systemctl start dcv-session-manager-broker