

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

# 使用 Amazon Chime SDK 会议的会议区域
<a name="chime-sdk-meetings-regions"></a>

Amazon Chime SDK 会议具有*控制*区域和*媒体*区域。控制区域提供用于创建、更新和删除会议的 API 终端节点。媒体区域主持实际会议。

通常，您的应用程序服务使用 [AWS SDK](https://aws.amazon.com/tools/) 对控制区域进行[签名和调用](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html) APIs 。您的应用程序客户端使用适用于 [JavaScript](js-sdk-intro.md)iO [S](sdk-for-ios.md) 或 [Andro](sdk-for-android.md) id 的 Amazon Chime 软件开发工具包客户端库连接到媒体区域的会议。

控制区域可以在同一 AWS 分区内的任何媒体区域中创建会议。但是，您只能在用于创建会议的控制区域中更新会议。要查找离客户最近的媒体区域，请致电 [https://nearest-media-region.l.chime.aw](https://nearest-media-region.l.chime.aws) s。

会议控制[区域中的会议活动](https://docs.aws.amazon.com/chime-sdk/latest/ag/automating-chime-with-cloudwatch-events.html#sdk-events)，例如`AttendeeJoined`通话[EventBridge、亚马逊简单队列服务 (SQS) 或亚马逊简单通知服务 (SNS) Simple Notification](https://docs.aws.amazon.com/chime-sdk/latest/dg/mtgs-sdk-notifications.html) Service。

 有关可用的 Amazon Chime SDK 会议控制和媒体区域的列表，请参阅本指南中的 [Amazon Chime SDK 可用的 AWS 区域](sdk-available-regions.md)。

此图表显示了通过控制区域和媒体区域的典型数据流。

![\[显示通过 Amazon Chime SDK 控制区域和媒体区域的数据流的图表。\]](http://docs.aws.amazon.com/zh_cn/chime-sdk/latest/dg/images/control-media-regions.png)


## 选择控制区域
<a name="choose-meeting-region"></a>

在为 Amazon Chime SDK 会议选择控制区域时，请记住以下因素：
+ **监管要求**。您的应用程序是否需要在地缘政治边界内，或者使用带有 FIPS 140-2 验证的加密模块的终端节点？
+ **API 延迟**。使用离应用程序服务区域最近的控制 AWS 区域可以帮助减少 APIs “网络延迟”。反过来，这有助于减少创建会议所需的时间，让用户更快地加入会议。
+ **高可用性**。您可以使用多个控制区域来实现高可用性架构。但是，每个控制区域都是独立运行的。而且，您只能在用于创建会议的控制区域中更新会议。此外，您必须使用同一区域使用[亚马逊简单队列服务 (SQS) 或亚马逊简单通知服务 (SNS) Simple Notification S](https://docs.aws.amazon.com/chime-sdk/latest/dg/mtgs-sdk-notifications.html) ervice 来处理会议活动。 EventBridge

## 选择媒体区域
<a name="choose-media-region"></a>

**注意**  
我们建议您始终在 [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_CreateMeeting.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_CreateMeeting.html) API 操作的 `MediaRegion` 参数中指定一个值。有关“区域”的更多信息，请参阅 [Amazon Chime SDK 可用的 AWS 区域](sdk-available-regions.md)。

在为您的 Amazon Chime SDK 会议选择媒体区域时，考虑以下常见因素：

**监管要求**  
如果您的 Amazon Chime SDK 会议需要根据法规要求在地缘政治边界内托管，则考虑根据固定的应用程序逻辑对会议区域进行硬编码。  
例如，远程医疗应用程序可能需要将所有会议托管在执业医生的管辖范围内。如果应用程序支持位于欧洲和美国的诊所，则您可以通过每家诊所的地址选择其管辖范围内的区域。

**会议质量**  
在媒体区域托管 Amazon Chime SDK 会议时，每个与会者的音频和视频都从该地区发送和接收。随着与会者与区域之间距离的增加，会议质量可能会受到网络延迟的影响。为您的 Amazon Chime SDK 会议指定区域有助于提高与会者的会议质量，无论他们彼此靠近还是分布在不同的地理位置。

您可以使用以下任一方法为 Amazon Chime SDK 会议选择媒体区域：

**对媒体区域进行硬编码**  
如果您的 Amazon Chime SDK 会议全部在特定 AWS 区域托管，则建议采用这种方法。

**选择最近的媒体区域**  
如果您的 Amazon Chime SDK 会议与会者处于同一 AWS 区域，但您的会议在不同区域托管，则建议采用这种方法。

## 查找最近的媒体区域
<a name="choose-nearest-media-region"></a>

要查找能够举办 Amazon Chime SDK 会议的最近媒体区域，请致电 [https://nearest-media-region](https://nearest-media-region.l.chime.aws).l.chime.aws。此终端节点返回单个区域，例如 `{"region": "us-west-2"}`。从您的客户端应用程序中调用 URL 标识距离用户最近的区域，然后使用 [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_meeting-chime_CreateMeeting.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_meeting-chime_CreateMeeting.html) API 的 `MediaRegion` 参数中的结果在该区域创建会议。

通常在客户端应用程序启动或其网络连接更改时调用 URL。通过预先确定最近的区域，可以避免在创建会议时增加调用的延迟。

## 寻找最近的 AWS GovCloud （美国）媒体区域
<a name="choose-gov-cloud-region"></a>

要查找可以举办 Amazon Chime SDK 会议的最近 AWS GovCloud （美国）地区，请致电 [https://nearest-us-gov-media](https://nearest-us-gov-media-region.l.chime.aws)-region.l.chime.aws。此终端节点返回最近区域，例如 `{"region": "us-gov-west-1"}`。从您的客户端应用程序中调用 URL 以确定最接近用户的 AWS GovCloud （美国），然后使用 [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_meeting-chime_CreateMeeting.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_meeting-chime_CreateMeeting.html)API `MediaRegion` 参数中的结果在该区域创建会议。

通常在客户端应用程序启动或其网络连接更改时调用 URL。通过预先确定最近的区域，可以避免在创建会议时增加调用的延迟。

## JavaScript 示例
<a name="region-javascript"></a>

以下示例使用 HTML 和 JavaScript 返回最近的媒体区域和 AWS GovCloud （美国）媒体区域。

```
<html>
<head>
  <title>Amazon Chime SDK - Nearest Media Region</title>
  <script>

async function getNearestMediaRegion(partition)  {

    console.log('Nearest media region partition: ' + partition);

    const url = ('aws-us-gov' == partition) ? 'https://nearest-us-gov-media-region.l.chime.aws' : 'https://nearest-media-region.l.chime.aws';
    let result = ('aws-us-gov' == partition) ? 'us-gov-west-1' : 'us-west-2';

    try { //Find the nearest media region
        console.log('Nearest media region URL: ' + url);
        const response = await fetch(url, {method: 'GET'} );
        const body = await response.json();
        result = body.region;
    } catch (error) {
        console.log(error.message);
    } finally {
        console.log('Nearest media region found: ' + result);
        return result;
    }
}

async function findRegions(partition) {
  aws.innerText = await getNearestMediaRegion();
  awsusgov.innerText = await getNearestMediaRegion('aws-us-gov');
}
  </script>
</head>
<body>
  <h3>Nearest media region, by AWS partition</h3>
  <table>
    <tr><th>Partition</th><th>Media Region</th></tr>
    <tr><td>aws</td><td id="aws">Finding...</td></tr>
    <tr><td>aws-us-gov</td><td id="awsusgov">Finding...</td></tr>
  </table>
  <script>
    findRegions();
  </script>
</body>
</html>
```

## 检查区域状态
<a name="region-status"></a>

登录 [https://region.status.chime.aws/](https://region.status.chime.aws/) 检索每个区域中 Amazon Chime SDK 服务的运行状况。结果显示推荐区域。如果媒体区域的状态不是**推荐**，则最近的媒体区域终端节点将不会返回该区域。

以下示例显示典型结果。

```
{
  "MeetingsControlRegions": {
    "us-east-1": "recommended",
    "us-west-2": "recommended",
    "eu-central-1": "recommended",
    "eu-west-2": "recommended",
    "ap-south-1": "recommended",
    "ap-southeast-1": "recommended",
    "ap-southeast-2": "recommended",
    "ap-northeast-1": "recommended",
    "ap-northeast-2": "recommended",
    "il-central-1": "recommended",
    "ca-central-1": "recommended",
    "af-south-1": "recommended"
  },
  "MeetingsMediaRegions": {
    "af-south-1": "recommended",
    "ap-northeast-1": "recommended",
    "ap-northeast-2": "recommended",
    "ap-south-1": "recommended",
    "ap-southeast-1": "recommended",
    "ap-southeast-2": "recommended",
    "ca-central-1": "recommended",
    "eu-central-1": "recommended",
    "eu-north-1": "recommended",
    "eu-south-1": "recommended",
    "eu-west-1": "recommended",
    "eu-west-2": "recommended",
    "eu-west-3": "recommended",
    "sa-east-1": "recommended",
    "us-east-1": "recommended",
    "us-west-2": "recommended",
    "us-east-2": "recommended",
    "us-west-1": "recommended",
    "il-central-1": "recommended"
  },
  "MediaPipelineControlRegions": {
    "us-east-1": "recommended",
    "us-west-2": "recommended",
    "eu-central-1": "recommended",
    "eu-west-2": "recommended",
    "ap-south-1": "recommended",
    "ap-southeast-1": "recommended",
    "ap-southeast-2": "recommended",
    "ap-northeast-1": "recommended",
    "ap-northeast-2": "recommended",
    "ca-central-1": "recommended"
  },
  "MediaPipelineDataRegions": {
    "af-south-1": "recommended",
    "ap-northeast-1": "recommended",
    "ap-northeast-2": "recommended",
    "ap-south-1": "recommended",
    "ap-southeast-1": "recommended",
    "ap-southeast-2": "recommended",
    "ca-central-1": "recommended",
    "eu-central-1": "recommended",
    "eu-north-1": "recommended",
    "eu-south-1": "recommended",
    "eu-west-1": "recommended",
    "eu-west-2": "recommended",
    "eu-west-3": "recommended",
    "sa-east-1": "recommended",
    "us-east-1": "recommended",
    "us-west-2": "recommended",
    "us-east-2": "recommended",
    "us-west-1": "recommended"
  }
}
```