

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Elastic チャネルを使用して Amazon Chime SDK ミーティングでライブイベントをホストする
<a name="elastic-channels"></a>

Elastic チャネルは、最大 100 万人が参加する大規模なチャットエクスペリエンスをサポートします。代表的な用途として、スポーツイベントや政治イベントのウォッチパーティーなどがあります。Elastic チャネルは米国東部 (バージニア北部) リージョンでのみ使用できます。

Elastic チャネルは、共通の設定の 1 つのチャネルと、さまざまな (つまり伸縮自在な) 数のサブチャネルで構成されます。この設定には、サブチャネル内のメンバー数の下限および上限も含まれています。

例えば、100 のサブチャネルを含む Elastic チャネルを作成し、そのサブチャネルに対してメンバー数の下限を 500 人、上限を 10,000 人に設定したとします。このサンプルチャネルにユーザーが参加すると、メンバー数が 10,000 人を超えるまで、システムはユーザーを 1 つのサブチャネルに自動的に割り当てます。メンバー数が 10,000 人を超えると、システムは新しいサブチャネルを作成し、そこに新しいメンバーを追加します。ユーザーが退室すると、システムはサブチャネルを削除し、残りのサブチャネルにメンバーを配分します。

視聴者をサブチャネルに分割すると、参加者が会話をフォローしやすくなります。モデレーターは一部のサブチャネルを見るだけで済むため、ワークロードも軽減されます。さらに、モデレーターは Elastic チャネルが提供する組み込みツールを使用できます。例えば、モデレーターは[ユーザーによるチャンルへのアクセスを禁止](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_messaging-chime_CreateChannelBan.html)したり、[モデレーターを作成](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_messaging-chime_CreateChannelModerator.html)したり、[チャネルフロー](https://docs.aws.amazon.com/chime-sdk/latest/dg/using-channel-flows.html)を使用してチャネル内のすべてのメッセージを自動的にモデレートしたりできます。

Amazon Chime SDK メッセージングクォータの詳細については、「*Amazon Chime SDK General Reference*」の「[Messaging Quotas](https://docs.aws.amazon.com/general/latest/gr/chime-sdk.html)」を参照してください。

**Topics**
+ [

## 前提条件
](#elastic-prereqs)
+ [

## Elastic チャネルの概念
](#elastic-concepts)
+ [

## サポートされる追加の機能
](#additional-features)
+ [

# Amazon Chime SDK ミーティングの Elastic チャネルの作成
](create-elastic-channel.md)
+ [

# Amazon Chime SDK ミーティングで Elastic チャネルメンバーを管理する
](manage-elastic-members.md)
+ [

# Amazon Chime SDK ミーティングでの Elastic チャネルメッセージの送信
](send-messages-elastic.md)
+ [

# Amazon Chime SDK ミーティングの Elastic チャネルでの WebSocket システムメッセージについて
](websocket-messages-elastic.md)
+ [

# Kinesis ストリームを使用して Amazon Chime SDK ミーティングでシステムメッセージを受信する
](elastic-onboard-streams.md)
+ [

# デモアプリケーションで Amazon Chime SDK ミーティングの Elastic チャネルをテストする
](elastic-testing.md)

## 前提条件
<a name="elastic-prereqs"></a>

Elastic チャネルを使用するには、以下が必要です。
+ Amazon Chime SDK メッセージング機能 (チャネルの管理、メッセージの送受信など) に関する知識。
+ Amazon Chime SDK メッセージング API を呼び出す機能。

## Elastic チャネルの概念
<a name="elastic-concepts"></a>

Elastic チャネルを効果的に使用するには、これらの概念を理解する必要があります。

**サブチャネル**  
Elastic チャネルは、メンバーをサブチャネルと呼ばれる論理コンテナに分割します。Elastic チャネルに `AppInstanceUser` を追加すると、ユーザーはサブチャネルのメンバーになります。そのユーザーはメッセージを送受信できますが、そのサブチャネルの他のメンバーとのみメッセージを送受信できます。システムは、あるサブチャネルからのメッセージを他のサブチャネルに表示することを許可しません。

**スケーリング**  
ユーザーエンゲージメントをサポートするには、すべてのサブチャネルがメンバーシップの最低要件を満たしている必要があります。Elastic チャネルを作成するときに、その値を指定します。ユーザーがイベントに参加したりイベントから退出したりすると、システムはメンバーをさまざまなサブチャネルに移管します。これにより、チャネル全体が「伸縮自在」になります。サブチャネルは以下のスケーリングアクションを実行します。  
+ **SCALE\$1OUT** — 新しい Elastic チャネルメンバーシップリクエストが受信され、すべてのサブチャネルが満杯になると、システムは新しいサブチャネルを作成し、既存のサブチャネルから新しいサブチャネルにメンバーシップを移管することによってスケールアウトします。
+ **SCALE\$1IN** — サブチャネルのメンバーシップ数が最小要件を下回り、別のサブチャネルに最初のサブチャネルのメンバー全員を収容できる容量がある場合、`SCALE_IN` イベントはそれらのメンバーシップを移管し、サブチャネルおよびすべてのメッセージを削除します。
削除されたチャネルのメッセージにアクセスする必要がある場合は、まずメッセージストリーミングを有効にする必要があります。詳細については、[Amazon Chime SDK メッセージングでのメッセージングデータのストリーミング](streaming-export.md) を参照してください。

**メンバーの移管**  
メンバーの移管は、メンバーシップバランシングによって `AppInstanceUser` があるサブチャネルから別のサブチャネルに移動する際に発生します。`AppInstanceUser` は移管後も Elastic チャネルに属します。ただし、新しいサブチャネルには異なるメンバーシップおよびメッセージが含まれているため、移管後に `AppInstanceUser` によって送信されたメッセージはそれらの異なるメンバーに送信されます。メンバーシップバランシングはモデレーターメンバーシップには影響しません。

**注記**  
 Elastic チャネルは、非表示のメンバーシップ、メンバーシップ設定、既読メッセージのタイムスタンプをサポートしていません。

## サポートされる追加の機能
<a name="additional-features"></a>

Elastic チャネルはこれらのメッセージング機能もサポートしています。
+ [プリフェッチ](websockets.md#prefetch)
+ [チャネルフロー](using-channel-flows.md)

# Amazon Chime SDK ミーティングの Elastic チャネルの作成
<a name="create-elastic-channel"></a>

[https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_messaging-chime_CreateChannel.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_messaging-chime_CreateChannel.html) API の `ElasticChannelConfiguration` フィールドを使用して Elastic チャネルを作成します。Elastic チャネルを作成したら、チャネルメンバーシップを作成します。

**注記**  
非 Elastic チャネルの場合、チャネルを作成した `AppInstanceUser` がメンバーおよびモデレーターとしてそのチャネルに自動的に追加されます。Elastic チャネルの場合、チャネル作成者はモデレーターとしてのみ追加されます。
いったん設定した `ElasticChannelConfiguration` を更新することはできません。
チャネルを Elastic から非 Elastic に、またはその逆に更新することはできません。
[https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_messaging-chime_CreateChannel.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_messaging-chime_CreateChannel.html) API リクエストにメンバー ARN のリストを含めることはできません。ただし、モデレーター ARN のリストを含めることはできます。
`UNRESTRICTED` タイプの Elastic チャネルは作成できません。

# Amazon Chime SDK ミーティングで Elastic チャネルメンバーを管理する
<a name="manage-elastic-members"></a>

Elastic チャネルのメンバーを管理するには、[https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_messaging-chime_CreateChannelMembership.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_messaging-chime_CreateChannelMembership.html) API、[https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_messaging-chime_CreateChannelModerator.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_messaging-chime_CreateChannelModerator.html) API、[https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_messaging-chime_CreateChannelBan.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_messaging-chime_CreateChannelBan.html) API を使用します。以下の情報は、これらの使用方法を説明しています。

**チャネルメンバーシップ**  
`CreateChannelMembership` API はサブチャネルレベルでメンバーシップを作成します。サブチャネルにはモデレーターおよび一般メンバーを含めることができます。  
+ **モデレーター** — モデレーターを複数のサブチャネルに追加できます。これにより、モデレーターは自分が属する各サブチャネルでメッセージを送信できます。サブチャネルにモデレーターを追加するときは、`SubChannelId` を指定する必要があります。

  モデレーターを新しいサブチャネルに自動的に割り当てる場合は、[メッセージストリーミングを有効](streaming-export.md)にし、サブチャネル作成イベントをリッスンして、それらのイベントに応じてモデレーターメンバーシップを作成できます。

  最後に、特定のサブチャネルまたはすべてのサブチャネルからモデレーターを削除できます。どちらの場合も [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_messaging-chime_DeleteChannelMembership.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_messaging-chime_DeleteChannelMembership.html) API を使用します。特定のサブチャネルからモデレーターを削除するには、`SubChannelId` を指定します。サブチャネルの ID を指定しない場合、システムはそのモデレーターをすべてのサブチャネルから削除します。最後に、[https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_messaging-chime_ListSubChannels](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_messaging-chime_ListSubChannels) API を使用して、サブチャネルおよび各サブチャネルのメンバー数を一覧表示できます。
+ **一般メンバー** — 一般メンバーはチャネルメンバーシップの大半を占めます。一般メンバーは 1 つのサブチャネルにのみ追加できます。また、どのサブチャネルでメンバーシップが作成されるかはシステムが制御するため、チャネルメンバーシップを作成または削除するときに `SubChannelId` を渡すことはできません。

**チャネルモデレーター**  
`CreateChannelModerator` API は Elastic チャネルレベルでモデレーターを作成します。モデレーターはすべてのサブチャネルのすべてのメッセージを表示できます。一般メンバーをチャネルモデレーターに昇格させると、システムはそのメンバーの既存のチャネルメンバーシップをすべて削除します。モデレーターを降格させた場合も同様です。

**チャネルへのアクセス禁止**  
`CreateChannelBan` API は Elastic チャネルレベルでアクセス禁止を作成します。アクセスを禁止された `AppInstanceUser` はどのサブチャネルにも属することができません。メンバーをアクセス禁止にすると、システムはそのメンバーのチャネルメンバーシップをすべて削除します。

# Amazon Chime SDK ミーティングでの Elastic チャネルメッセージの送信
<a name="send-messages-elastic"></a>

[https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_messaging-chime_SendChannelMessage.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_messaging-chime_SendChannelMessage.html) API はサブチャネルレベルでメッセージを作成します。メッセージを送信するには、`subChannelId` が必要です。[https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_messaging-chime_UpdateChannelMessage.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_messaging-chime_UpdateChannelMessage.html) API、および [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_messaging-chime_RedactChannelMessage.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_messaging-chime_RedactChannelMessage.html) API を使用してメッセージを編集したり削除したりすることもできますが、いずれの場合も、`subChannelId` が必要です。

**注記**  
メッセージ送信者がメッセージを編集または秘匿化できるのは、メッセージの送信先のサブチャネルに属している場合のみです。メンバーシップバランシングがメンバーを別のサブチャネルに移管した場合、そのメンバーは、その新しいサブチャネルで送信したメッセージのみを編集または秘匿化できます。

# Amazon Chime SDK ミーティングの Elastic チャネルでの WebSocket システムメッセージについて
<a name="websocket-messages-elastic"></a>

Amazon Chime SDK は、チャネル内で発生するイベントのシステムメッセージを接続しているすべてのクライアントに送信します。以下のリストは、Elastic チャネルのシステムメッセージについて説明しています。

**メッセージイベント**  
Elastic チャネルのイベントペイロードには `subChannelId` フィールドが含まれます。非 Elastic チャネルのペイロードは変わりません。

**メンバーシップイベント**  
`CREATE_CHANNEL_MEMBERSHIP` および `DELETE_CHANNEL_MEMBERSHIP` イベントのペイロードに `subChannelId` フィールドが含まれるようになりました。  
Elastic チャネルは `BATCH_CREATE_CHANNEL_MEMBERHSIP` イベントをサポートしていません。[https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_messaging-chime_BatchCreateChannelMembership.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_messaging-chime_BatchCreateChannelMembership.html) API を呼び出すと、システムは個別の `CREATE_CHANNEL_MEMBERSHIP` イベントを送信します。  
これで、`UPDATE_CHANNEL_MEMBERSHIP` イベントタイプを使用してメンバーシップ情報の変更を通知できるようになりました。例えば、あるサブチャネルから別のサブチャネルへのメンバー移管中に、システムが `SubChannelId` ペイロードに新しい内容を含む `UPDATE_CHANNEL_MEMBERSHIP` イベントを送信して、メンバーが移管されたことを示します。  
システムは移管されたメンバーにのみ `UPDATE_CHANNEL_MEMBERSHIP` イベントを送信し、サブチャネルの他のメンバーには送信しません。このため、WebSocket ではなく [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_messaging-chime_ListChannelMemberships.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_messaging-chime_ListChannelMemberships.html) API を使用してチャネルメンバーシップ一覧にデータを入力することをお勧めします。詳細については、[WebSockets を使用して Amazon Chime SDK メッセージングでメッセージを受信する](websockets.md) を参照してください。

# Kinesis ストリームを使用して Amazon Chime SDK ミーティングでシステムメッセージを受信する
<a name="elastic-onboard-streams"></a>

データをストリーム形式で受信するように `AppInstance` を設定できます。例えば、ストリームにはメッセージ、サブチャネルイベント、およびチャネルイベントを含めることができます。

その一環として、`CREATE_SUB_CHANNEL` および `DELETE_SUB_CHANNEL` イベントもサポートしています。メンバーシップバランシングの一環として、サブチャネルがいつ作成または削除されたかを示します。データストリームの受信について詳しくは、「[Amazon Chime SDK メッセージングでのメッセージングデータのストリーミング](streaming-export.md)」を参照してください。

# デモアプリケーションで Amazon Chime SDK ミーティングの Elastic チャネルをテストする
<a name="elastic-testing"></a>

Amazon Chime SDK メッセージング機能はすべて GitHub ([https://github.com/aws-samples/amazon-chime-sdk/tree/main/apps/chat](https://github.com/aws-samples/amazon-chime-sdk/tree/main/apps/chat)) でテストできます。