

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

# 通过 Amazon Connect Global Resiliency 构建您的座席体验
<a name="overview-agent-distribution"></a>

Amazon Connect Global Resiliency 使您能够通过全局登录、座席分配 API 和座席工作区增强功能为座席提供全局体验。借助此功能组合，您可以：
+ 使您的座席能够在一天开始时登录一次并处理来自其当前活动区域的联系人，而无需随时知道哪个区域处于活动状态。
+ 将座席添加到您的流量分配组并跨 AWS 区域分配座席。
+ 只需刷新页面，即可将新的入站语音联系人重定向到当前活动区域的座席工作区。

**Topics**
+ [将您的 IdP 与 Amazon Connect Global Resiliency SAML 登录端点集成](integrate-idp.md)
+ [将代理与跨多个 AWS 区域的实例关联](associate-agents-across-regions.md)
+ [跨区域更新座席分配](update-agents-across-regions.md)
+ [设置 Agent Workspace](setup-agentworkspace-switchover.md)
+ [跨区域转移座席时避免出现问题的提示](possible-issues-shifting-regions.md)

# 将您的身份提供商（IdP）与 Amazon Connect Global Resiliency SAML 登录端点集成
<a name="integrate-idp"></a>

要使您的代理能够登录一次并登录到两个 AWS 区域以处理来自当前活动区域的联系人，您需要将 IAM 设置配置为使用全局登录 SAML 终端节点。

## 开始前的准备工作
<a name="before-idp"></a>

您必须为 Amazon Connect 实例启用 SAML，才能使用 Amazon Connect Global Resiliency。有关 IAM 联合身份验证入门的信息，请参阅[使 SAML 2.0 联合身份用户能够访问 AWS 管理控制台](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-saml.html)。

## 需要了解的重要事项
<a name="important-integrate-idp"></a>
+ 仅在使用全局登录端点时才支持代理故障转移。
+ 要执行本主题中的步骤，您需要使用您的实例 ID。有关其查找方法的说明，请参阅[找到您的 Amazon Connect 实例 ID 或 ARN](find-instance-arn.md)。
+ 此外，还需要知道您的 Amazon Connect 实例的源区域。有关其查找方法的说明，请参阅[如何查找您的 Amazon Connect 实例的源区域](create-replica-connect-instance.md#how-to-find-source-region-of-instances)。
+ 如果您要在内嵌框架中嵌入 Connect 应用程序，则必须确保您的域出现在源实例和副本实例的 Approved Origins 列表中，这样才能正常运行全局登录。

  要在实例级别配置 Approved Origins，请按照 [使用 Amazon Connect 中的集成应用程序的允许列表](app-integration.md) 中的步骤操作。
+ 座席必须已*同时* 在您的源和副本 Amazon Connect 实例中创建，并且其用户名必须与身份提供商（IdP）中的角色会话名称相同。否则，您将收到 `UserNotOnboardedException` 异常，并有失去实例之间的座席冗余功能的风险。
+ 在座席尝试登录之前，您必须将座席与流量分配组相关联。否则，座席登录将失败，并显示 `ResourceNotFoundException`。有关如何设置您的流量分配组以及如何将座席与其关联的信息，请参阅[将代理关联到多个 AWS 区域的 Amazon Connect 实例](associate-agents-across-regions.md)。
+ 当您的座席使用新的 SAML 登录 URL 向 Amazon Connect 进行联合身份验证时，无论在流量分配组中如何配置 `SignInConfig`，Amazon Connect Global Resiliency 都会尝试将座席记录到您的源和副本区域/实例中。您可以通过检查 CloudTrail 日志来验证这一点。
+ 默认流量通讯组中的`SignInConfig`分布仅决定 AWS 区域 哪个用于简化登录。无论您的 `SignInConfig` 分配是如何配置的，Amazon Connect 都会始终尝试将座席登录到您的 Amazon Connect 实例所在的两个区域。
+ 复制 Amazon Connect 实例后，只会为您的实例生成一个 SAML 登录端点。此端点的 URL AWS 区域 中始终包含来源。
+ 在将个性化 SAML 登录 URL 与 Amazon Connect Global Resiliency 结合使用时，您无需配置中继状态。

## 如何集成身份提供者
<a name="howto-integrate-idp"></a>

1. 当您使用 [ReplicateInstance](https://docs.aws.amazon.com/connect/latest/APIReference/API_ReplicateInstance.html)API 创建 Amazon Connect 实例的副本时，系统会为您的 Amazon Connect 实例生成一个个性化的 SAML 登录网址。生成的 URL 采用以下格式：

   `https://instance-id.source-region.sign-in.connect.aws/saml`

   1. *instance-id*是您的实例组中任一实例的实例 ID。源区域和副本区域中的实例 ID 相同。

   1. *source-region*对应于调[ReplicateInstance](https://docs.aws.amazon.com/connect/latest/APIReference/API_ReplicateInstance.html)用 API 的源 AWS 区域。

1. 将以下信任策略添加到您的 IAM 联合身份验证角色中。使用全局登录 SAML 端点的 URL，如以下示例中所示。

------
#### [ JSON ]

****  

   ```
   {
      "Version":"2012-10-17",		 	 	 
      "Statement":[
         {
            "Effect":"Allow",
            "Principal":{
               "Federated":[
                 "arn:aws:iam::111122223333:saml-provider/MySAMLProvider"
               ]
            },
            "Action":"sts:AssumeRoleWithSAML",
            "Condition":{
               "StringLike":{
                  "SAML:aud":[
                     "https://instance-id.source-region.sign-in.connect.aws/saml*"
                  ]
               }
            }
         }
      ]
   }
   ```

------
**注意**  
`saml-provider-arn` 是在 IAM 中创建的身份提供者资源。

1. 为您的 IAM 联合身份验证角色上的 `InstanceId` 授予对 `connect:GetFederationToken` 的访问权限。例如：

------
#### [ JSON ]

****  

   ```
   {
   "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "GetFederationTokenAccess",
               "Effect": "Allow",
               "Action": "connect:GetFederationToken",
               "Resource": "*",
               "Condition": {
                   "StringEquals": {
                       "connect:InstanceId": "your-instance-id"
                   }
               }
           }
       ]
   }
   ```

------

1. 使用以下属性和值字符串向您的身份提供者应用程序添加属性映射。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/connect/latest/adminguide/integrate-idp.html)

1. 将身份提供者的断言消费者服务 (ACS) URL 配置为指向您的个性化 SAML 登录 URL。对 ACS URL 使用以下示例：

   ```
   https://instance-id.source-region.sign-in.connect.aws/saml?&instanceId=instance-id&accountId=your AWS account ID&role=saml-federation-role&idp=your SAML IDP&destination=optional-destination
   ```

1. 在 URL 参数中设置以下字段：
   + `instanceId`：Amazon Connect 实例的标识符。有关如何查找实例 ID 的说明，请参阅[找到您的 Amazon Connect 实例 ID 或 ARN](find-instance-arn.md)。
   + `accountId`：Amazon Connect 实例所在的 AWS 账户 ID。
   + `role`：设置为用于 Amazon Connect 联合身份验证的 SAML 角色的名称或 Amazon 资源名称 (ARN)。
   + `idp`：设置为 IAM 中 SAML 身份提供商的名称或 Amazon 资源名称 (ARN)。
   + `destination`：设置为座席在登录后将在其中登录实例的可选路径（例如：`/agent-app-v2`）。

# 将代理关联到多个 AWS 区域的 Amazon Connect 实例
<a name="associate-agents-across-regions"></a>

要允许您的代理登录两个区域 AWS 区域 并处理来自任一地区的联系人，您必须先将他们分配到流量分配组。

1. 如果您尚未设置流量分配组，请立即设置。有关说明，请参阅[为 Amazon Connect 实例创建流分配组](setup-traffic-distribution-groups.md)。

1. 成功创建流量分配组后（`Status` 为 `ACTIVE`），您可以为其分配座席。始终将用户与源区域中的流量分配组关联。

   将座席分配给未处于 `ACTIVE` 状态的流量分配组会导致 `ResourceNotFoundException`。使用 [DescribeTrafficDistributionGroup](https://docs.aws.amazon.com/connect/latest/APIReference/API_DescribeTrafficDistributionGroup.html)API 确定它是否已成功创建（`Status`必须`ACTIVE`）。

1. 您可以通过调用 [AssociateTrafficDistributionGroupUser](https://docs.aws.amazon.com/connect/latest/APIReference/API_AssociateTrafficDistributionGroupUser.html)API 将代理分配到流量分配组。

## 示例
<a name="examples-associate"></a>

以下`associate-traffic-distribution-group-user`示例命令显示了如何将代理关联到多个区域并在多个 AWS 区域中使用。

```
aws connect associate-traffic-distribution-group-user 
  --traffic-distribution-group-id UUID
  --user-id UUID
  --instance-id
```

以下[AssociateTrafficDistributionGroupUser](https://docs.aws.amazon.com/connect/latest/APIReference/API_AssociateTrafficDistributionGroupUser.html)示例将代理与流量分配组相关联。

```
PUT /traffic-distribution-group/trafficDistributionGroupId/user HTTP/1.1
Content-type: application/json
 
{
   "UserId": "string"
}
```

以下 `disassociate-traffic-distribution-group-user` 命令示例将座席与流量分配组相关联。

```
aws connect disassociate-traffic-distribution-group-user 
 --instance-id your instance ID
 --traffic-distribution-group-id UUID 
  --user-id UUID
```

以下[DisassociateTrafficDistributionGroupUser](https://docs.aws.amazon.com/connect/latest/APIReference/API_DisassociateTrafficDistributionGroupUser.html)示例取消代理与流量通讯组的关联。

```
DELETE /traffic-distribution-group/trafficDistributionGroupId/user/UserId HTTP/1.1
```

## 为什么通 AssociateTrafficDistributionGroupUser 话失败
<a name="why-association-fails"></a>

在以下情况下，[AssociateTrafficDistributionGroupUser](https://docs.aws.amazon.com/connect/latest/APIReference/API_AssociateTrafficDistributionGroupUser.html)API 调用将`ResourceNotFoundException`失败，并显示为：

1. 指定的流量分配组不存在。

1. 流量分配组的状态不是 `ACTIVE`。

1. `user-id UUID` 不是来自源 Amazon Connect 实例的用户。

# 更新您的 Amazon Connect 代理工作区中跨 AWS 区域的代理分布
<a name="update-agents-across-regions"></a>

正如您可以使用 `UpdateTrafficDistribution` API [跨区域分配电话流量](update-telephony-traffic-distribution.md)一样，您也可以使用它跨 AWS 区域分配座席，无论是全部还是逐步分配，这都是常规运营准备情况测试的一部分。例如，您可以将 40% 的代理留在一个 AWS 区域以完成活跃的联系，然后将剩余的代理转移到副本区域。

**注意**  
当您转移电话流量时，还要转移 and/or 代理的登录信息，以确保他们可以处理其他区域的呼叫。如果您不转移座席，语音通话将转至已转移的区域，但没有任何座席可以接听通话。

将代理添加到流量分配组后，使用 [UpdateTrafficDistribution](https://docs.aws.amazon.com/connect/latest/APIReference/API_UpdateTrafficDistribution.html)API 以 10% 的增量在给定流量分布组中的关联实例之间分配代理。您的座席将能够在转移区域之前完成活动语音联系人。

**注意**  
如果座席在转移区域之前尝试结束联系时出现错误，则他们需要刷新座席工作区页面。有关更多信息，请参阅 [设置 Amazon Connect 代理工作区以支持代理跨 AWS 区域移动](setup-agentworkspace-switchover.md)。

**Topics**
+ [要求](#update-agent-traffic-distribution-requirements)
+ [在常规操作期间启用这两个区域](#change-signin-weights)
+ [如何跨 AWS 区域转移所有电话流量和代理](#shift-all-traffic)
+ [区域交换机界面横幅](#regional-switch-ui-banner)

## 要求
<a name="update-agent-traffic-distribution-requirements"></a>

如果不满足以下要求，则您的 [UpdateTrafficDistribution](https://docs.aws.amazon.com/connect/latest/APIReference/API_UpdateTrafficDistribution.html)API 调用将失败，并显示`InvalidRequestException`：

1. 指定的流量分配组必须存在。

1. 流量分配组的状态必须为 `ACTIVE`。

1. 如果要更改 `SignInConfig` 分配，只能对默认流量分配组执行此操作。在创建副本 Amazon Connect 实例时会创建默认的流量分配组。参见[TrafficDistributionGroup](https://docs.aws.amazon.com/connect/latest/APIReference/API_TrafficDistributionGroup.html)数据类型中的`IsDefault`参数。

当您从源 AWS 区域调用 `UpdateTrafficDistribution` 时，可以使用流量分配组 ID 或 Amazon 资源名称（ARN）。在副本区域中调用 `UpdateTrafficDistribution` 时，必须使用流量分配组 ARN。

## AWS 区域 在常规操作期间同时启用两者
<a name="change-signin-weights"></a>

`UpdateTrafficDistribution` API 包含一个称为 `SignInConfig` 的分配。它允许您选择使用哪些后端登录服务器来方便座席登录到其实例组。无论您的流量分配组中设置了什么 `SignInConfig`，座席都将登录到流量分配组中的两个实例。

为了获得最佳体验，我们建议在常规操作期间同时启用两个 AWS 区域。要实现此目的，请将 `true` 传递至两个 `SignInConfig` 分配。如果您需要将全部电话流量和代理转移到一个 AWS 区域，我们建议将`SignInConfig`要`false`转移流量的区域更改为。

例如，以下调用会导致座席有 50% 的几率使用 us-west-2 登录服务器和 50% 的几率使用 us-east-1 登录服务器从身份提供者那里进行给定登录调用。

```
aws connect update-traffic-distribution \
--id traffic distribution group ID or ARN \
--cli-input-json \
'{
   "SignInConfig":{
      "Distributions":[
         {
            "Region":"us-west-2",
            "Enabled":true
         },
         {
            "Region":"us-east-1",
            "Enabled":true
         }
      ]
   }
}'
```

相反，以下登录分配会路由登录端点上 100% 的流量，以使用 us-east-1 登录服务器。

```
aws connect update-traffic-distribution \
--id traffic distribution group ID or ARN \
--cli-input-json \
'{
   "SignInConfig":{
      "Distributions":[
         {
            "Region":"us-west-2",
            "Enabled":false
         },
         {
            "Region":"us-east-1",
            "Enabled":true
         }
      ]
   }
}'
```

此分配仅控制使用登录服务器的哪个区域，以便于座席能够登录到其实例组中的两个实例。它不会影响由 `UpdateTrafficDistribution` API 的 `AgentConfig` 部分控制的座席的分配。

**重要**  
如果在座席登录期间登录端点无响应，并且您的 `SignInConfig` 分配被跨区域拆分，则可以通过将分配更改为单个 AWS 区域来纠正错误。或者，如果您的 `SignInConfig` 在一个区域上加权并且它无响应，您可以尝试将 `SignInConfig` 转移到禁用区域。无论您的 `SignInConfig` 如何配置，座席仍将受益于在源区域和副本区域中均处于活动状态的会话，因为它们将尝试在这两个区域中登录到其 Amazon Connect 实例。

## 如何跨 AWS 区域转移所有电话流量和代理
<a name="shift-all-traffic"></a>

要将所有新的入站语音联系人、座席登录分配和座席分配从 us-west-2 转移到 us-east-1，请使用以下代码片段。

```
aws connect update-traffic-distribution \
--id traffic distribution group ID or ARN \
--cli-input-json \
'{
   "SignInConfig":{
      "Distributions":[
         {
            "Region":"us-west-2",
            "Enabled":false
         },
         {
            "Region":"us-east-1",
            "Enabled":true
         }
      ]
   },
   "AgentConfig":{
      "Distributions":[
         {
            "Region":"us-west-2",
            "Percentage":0
         },
         {
            "Region":"us-east-1",
            "Percentage":100
         }
      ]
   },
   "TelephonyConfig":{
      "Distributions":[
         {
            "Region":"us-west-2",
            "Percentage":0
         },
         {
            "Region":"us-east-1",
            "Percentage":100
         }
      ]
   }
}
'
```

当您从源 AWS 区域调用 `UpdateTrafficDistribution` 时，可以使用流量分配组 ID 或 Amazon 资源名称 (ARN)。在副本区域中调用 `UpdateTrafficDistribution` 时，必须使用流量分配组 ARN。

## 区域交换机界面横幅
<a name="regional-switch-ui-banner"></a>

代理工作区和 CCP 将提供一个突出显示区域切换的用户界面横幅。

如果客服人员因流量分配组 (TDG) 调整而导致其区域发生变化时正在**联系**人中，他们将看到类似于下方的横幅。他们完成语音联系并关闭 ACW 状态后，座席将自动更新到新区域，无需执行任何操作。如果代理在关闭联系人时遇到问题，他们可以选择 Contin **ue in** Backup，将出现一个弹出窗口，要求确认切换到备用区域。

我们建议您调整操作手册和代理培训指南以反映这一点

![\[代理工作区用户界面显示横幅，突出显示 TDG 调整期间的区域故障转移。\]](http://docs.aws.amazon.com/zh_cn/connect/latest/adminguide/images/acgr-failover-banner.png)


![\[代理选择 “在 Backup 中继续” 时出现的确认弹出窗口。\]](http://docs.aws.amazon.com/zh_cn/connect/latest/adminguide/images/acgr-failover-confirmation.png)


# 设置 Amazon Connect 代理工作区以支持代理跨 AWS 区域移动
<a name="setup-agentworkspace-switchover"></a>

执行以下步骤，让 Amazon Connect Agent Workspace 能够将联系人控制面板从副本 AWS 区域嵌入到源区域，并随着代理活动区域的变化在它们之间切换。

如果您尚未创建源 Amazon Connect 实例的副本或尚未设置流量分配组，请参阅[开始使用 Amazon Connect Global Resiliency](get-started-connect-global-resiliency.md)。

1. 前往 AWS Amazon Connect 控制台检索您的源实例的**访问网址**。记下 URL。

1. 在副本区域中， AWS Amazon Connect 控制台用于检索您的副本实例的**访问网址**。记下 URL。

1. 在您的副本 Amazon Connect 实例的同一窗口的左侧窗格中，选择**已批准的源**。

1. 为源实例**访问 URL** 添加您在步骤 1 中记录的域。
**注意**  
请勿在访问 URL 中包含尾随 **/**。

1. 对源实例重复上述步骤：转至**已批准的源**，添加副本实例的访问 URL。

**注意**  
在跨区域转移座席后，座席必须将其状态设置为**可用**。

# 在跨区域转移 Amazon Connect 实例中的座席时避免出现问题的提示
<a name="possible-issues-shifting-regions"></a>
+ 每当您更新座席的流量分配时，请务必同时更新入站语音联系人的流量分配。否则，您可能最终会遇到这样一种情况：一个区域的座席较多，而另一个区域则电话流量较多。
+ 在将用户关联到流分配组之前，请确保源和副本 Amazon Connect 实例中存在相同的用户名。否则，当您将用户与流量分配组关联但副本区域中不存在具有该用户名的用户时，您将收到一个 `InvalidRequestException` 错误。
+ 您必须调用 [AssociateTrafficDistributionGroupUser](https://docs.aws.amazon.com/connect/latest/APIReference/API_AssociateTrafficDistributionGroupUser.html)API 将代理与来源区域中的流量分配组关联起来。如果您在副本区域尝试执行此操作，则您将收到一个 `ResourceNotFoundException` 错误。