Amazon Chime SDK ミーティングの会議リージョンの使用
Amazon Chime SDK ミーティングには、コントロールリージョンとメディアリージョンがあります。コントロールリージョンには、会議の作成、更新、削除に使用される API エンドポイントがあります。メディアリージョンは、実際の会議をホストします。
通常、アプリケーションサービスは AWS SDK
コントロールリージョンでは、同じ AWS パーティション内の任意のメディアリージョンで会議を作成できます。ただし、会議の更新は、その会議の作成に使用されたコントロールリージョン内でしか行うことができません。お客様に最も近いメディアリージョンを確認するには、https://nearest-media-region.l.chime.aws
AttendeeJoined
などの会議イベントは、会議コントロールリージョンで EventBridge、Amazon Simple Queue Service (SQS)、または Amazon Simple Notification Service (SNS) を呼び出します。
利用可能な Amazon Chime SDK ミーティングコントロールリージョンとメディアリージョンのリストについては、本ガイドの「Amazon Chime SDK で利用可能な AWS リージョン」を参照してください。
この図は、コントロールリージョンとメディアリージョンを介した一般的なデータフローを示しています。
コントロールリージョンの選択
Amazon Chime SDK ミーティングのコントロールリージョンを選択する際には、以下の要素に留意してください。
-
規制要件。アプリケーションは地政学的な境界内にある必要があるか、あるいは FIPS 140-2 で検証済みの暗号化モジュールを備えたエンドポイントを使用する必要があるか。
-
API のレイテンシー。アプリケーションサービスの AWS リージョンに最も近いコントロールリージョンを使用すると、API のネットワークレイテンシーを低減できます。その結果、会議の作成に必要な時間が短縮され、ユーザーはより迅速に会議に参加できるようになります。
-
高可用性。複数のコントロールリージョンを使用して、高可用性アーキテクチャを実装できます。ただし、各コントロールリージョンは独立して動作します。また、会議の更新は、その会議の作成に使用されたコントロールリージョン内でしか行うことができません。さらに、EventBridge、Amazon Simple Queue Service (SQS)、または Amazon Simple Notification Service (SNS) で会議イベントを処理するには、同じリージョンを使用する必要があります。
メディアリージョンの選択
注記
CreateMeeting API アクションの MediaRegion
パラメータには常に値を指定することをお勧めします。リージョンの詳細については、「Amazon Chime SDK で利用可能な AWS リージョン」を参照してください。
Amazon Chime SDK ミーティングに使用するメディアリージョンを選択する際には、以下の一般的な要素を考慮してください。
- 規制要件
-
Amazon Chime SDK ミーティングが、地政学的な境界内でホストすることを義務付ける規制の対象となる場合は、固定のアプリケーションロジックに基づいて会議リージョンをハードコーディングすることを検討してください。
例えば、遠隔医療アプリケーションでは、すべての会議を医師の管轄区域でホストすることが義務付けられている場合があります。アプリケーションがヨーロッパと米国の両方にある診療所をサポートしている場合は、各診療所の住所を使用して、その管轄区域内のリージョンを選択できます。
- 会議の品質
-
Amazon Chime SDK ミーティングがメディアリージョンでホストされた場合、各参加者の音声と動画はそのリージョンで送受信されます。参加者とリージョンの間の距離が長くなると、会議の品質はネットワークレイテンシーの影響を受ける可能性があります。Amazon Chime SDK ミーティングのリージョンを指定すると、参加者が相互に地理的に近くにいるか分散しているかにかかわらず、会議の品質を向上させることができます。
Amazon Chime SDK ミーティングのメディアリージョンを選択する際には、以下のいずれかの方法を使用できます。
- メディアリージョンをハードコーディングする
-
すべての Amazon Chime SDK ミーティングが特定の AWS リージョン内でホストされる場合に推奨されます。
- 最も近いメディアリージョンを選択する
-
Amazon Chime SDK ミーティングの参加者が同じ AWS リージョンにいるが、会議が別のリージョンでホストされている場合に推奨されます。
最も近いメディアリージョンを見つける
Amazon Chime SDK ミーティングをホストできる最も近いメディアリージョンを見つけるには、https://nearest-media-region.l.chime.aws{"region": "us-west-2"}
など) を返します。クライアントアプリケーションから URL を呼び出してユーザーに最も近いリージョンを特定し、その結果を CreateMeeting API の MediaRegion
パラメータで使用して、そのリージョンで会議を作成します。
通常、URL を呼び出すのは、クライアントアプリケーションの起動時か、またはネットワーク接続の変更時です。最も近いリージョンを事前に確認しておくことで、会議の作成時に呼び出しのレイテンシーが増えるのを防ぐことができます。
最も近い AWS GovCloud (US) メディアリージョンを見つける
Amazon Chime SDK ミーティングをホストできる最も近い AWS GovCloud (US) リージョンを見つけるには、https://nearest-us-gov-media-region.l.chime.aws{"region": "us-gov-west-1"}
など) を返します。クライアントアプリケーションから URL を呼び出してユーザーに最も近い AWS GovCloud (US) を特定し、その結果を CreateMeeting API の MediaRegion
パラメータで使用して、そのリージョンで会議を作成します。
通常、URL を呼び出すのは、クライアントアプリケーションの起動時か、またはネットワーク接続の変更時です。最も近いリージョンを事前に確認しておくことで、会議の作成時に呼び出しのレイテンシーが増えるのを防ぐことができます。
JavaScript 例
次の例では、HTML と JavaScript を使用して、最も近いメディアリージョンと AWS GovCloud (US) メディアリージョンを返します。
<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>
リージョンステータスを確認する
https://region.status.chime.aws/
次の例は一般的な結果を示しています。
{ "MeetingsControlRegions": { "us-east-1": "recommended", "us-west-2": "recommended", "ap-southeast-1": "recommended", "eu-central-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-east-2": "recommended", "us-west-1": "recommended", "us-west-2": "recommended" }, "MediaPipelineControlRegions": { "ap-southeast-1": "recommended", "eu-central-1": "recommended", "us-east-1": "recommended", "us-west-2": "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-east-2": "recommended", "us-west-1": "recommended", "us-west-2": "recommended" } }