

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

# 什么是 Amazon DCV Session Manager？
<a name="what-is-sm"></a>

**注意**  
Amazon DCV 以前称为 NICE DCV。

Amazon DCV Session Manager 是一组可安装的软件包（Agent 和 Broker）和一个应用程序编程接口（API），使开发人员和独立软件供应商（ISV）可以轻松构建前端应用程序，从而以编程方式创建和管理一组 Amazon DCV 服务器中的 Amazon DCV 会话的生命周期。

本指南介绍了如何使用 Session Manager API 管理 Amazon DCV 会话的生命周期。有关如何安装和配置 Session Manager Broker 和 Agent 的更多信息，请参阅《Amazon DCV Session Manager 管理员指南》。**

**先决条件**  
在开始使用 Session Manager API 之前，请确保您熟悉 Amazon DCV 和 Amazon DCV 会话。有关更多信息，请参阅[《Amazon DCV 管理员指南》](https://docs.aws.amazon.com/dcv/latest/adminguide/what-is-dcv.html)。

**Topics**
+ [Session Manager 的工作方式](#how)
+ [特征](#features)

## Session Manager 的工作方式
<a name="how"></a>

下图简要显示了 Session Manager 组件。

![\[Amazon DCV Session Manager 组件\]](http://docs.aws.amazon.com/zh_cn/dcv/latest/sm-dev/images/components.png)


****代理****  
Broker 是一个托管并公开 Session Manager API 的 Web 服务器。它接收并处理来自*客户端*的 *API* 请求以管理 Amazon DCV 会话，然后将指令传送到相关的 *Agent*。Broker 必须安装在独立于 Amazon DCV 服务器的主机上，但客户端必须可以访问 Broker，并且 Broker 必须能够访问 Agent。

****Agent****  
Agent 安装在一组 Amazon DCV 服务器中的每个服务器上。Agent 从 *Broker* 接收指令，并在相应的 Amazon DCV 服务器上运行这些指令。Agent 还监控 Amazon DCV 服务器的状态，并将定期状态更新发回到 Broker。

****API****  
Session Manager 公开一组 REST 应用程序编程接口（API），这些 API 可用于管理一组 Amazon DCV 服务器上的 Amazon DCV 会话。这些 API 在 *Broker* 上托管并由 Broker 公开。开发人员可以构建调用这些 API 的自定义会话管理*客户端*。

**** 客户端** **  
客户端是您开发的前端应用程序或门户，用于调用 *Broker* 公开的 Session Manager *API*。最终用户使用客户端以管理一组 Amazon DCV 服务器上托管的会话。

****访问令牌****  
要发出 API 请求，您必须提供访问令牌。可以通过注册的客户端 API 从 Broker 或外部授权服务器中请求令牌。要请求和访问令牌，客户端 API 必须提供有效的凭证。

****客户端 API****  
客户端 API 是使用 Swagger Codegen 从 Session Manager API 定义 YAML 文件中生成的。客户端 API 用于发出 API 请求。

****Amazon DCV 会话****  
Amazon DCV 会话是 Amazon DCV 服务器能够接受来自客户端的连接的一段时间。您必须先在 Amazon DCV 服务器上创建 Amazon DCV 会话，然后您的客户端才能连接到 Amazon DCV 会话。Amazon DCV 支持控制台和虚拟会话，并且每个会话都有指定的所有者和一组权限。您可以使用 Session Manager API 管理 Amazon DCV 会话的生命周期。Amazon DCV 会话可以处于以下状态之一：  
+ `CREATING` - Broker 正在创建会话。
+ `READY` - 会话准备好接受客户端连接。
+ `DELETING` - 正在删除会话。
+ `DELETED` - 已删除会话。
+ `UNKNOWN` - 无法确定会话的状态。Broker 和 Agent 可能无法通信。

********  


## 特征
<a name="features"></a>

DCV Session Manager 提供以下功能：
+ **提供 Amazon DCV 会话信息** - 获取有关在多个 Amazon DCV 服务器上运行的会话的信息。
+ **管理多个 Amazon DCV 会话的生命周期** - 使用一个 API 请求为多个 Amazon DCV 服务器中的多个用户创建或删除多个会话。
+ **支持标签** - 在创建会话时，使用自定义标签定位一组 Amazon DCV 服务器。
+ **管理多个 Amazon DCV 会话的权限** - 使用一个 API 请求修改多个会话的用户权限。
+ **提供连接信息** - 检索 Amazon DCV 会话的客户端连接信息。
+ **支持云和本地** - 在 AWS、本地或其他基于云的服务器上使用 Session Manager。