Como usar regiões de reunião - SDK do Amazon Chime

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Como usar regiões de reunião

As reuniões do SDK do Amazon Chime têm regiões de controle e regiões de mídia. As regiões de controle têm um endpoint de API usado para criar, atualizar e excluir reuniões. As regiões de mídia hospedam as reuniões reais.

Normalmente, seu serviço de aplicativo usa o AWS SDK da para assinar e chamar APIs em regiões de controle. Seu cliente de aplicativo usa as bibliotecas de cliente do Amazon Chime SDK para JavaScriptiOS ou Android para se conectar à reunião em regiões de mídia.

Uma região de controle pode criar uma reunião em qualquer região de mídia na mesma AWS partição. No entanto, você só pode atualizar uma reunião na região de controle usada para criá-la. Para encontrar a região de mídia mais próxima de um cliente, ligue para https://nearest-media-region.l.chime.aws.

Eventos de reunião, como AttendeeJoined chamada EventBridge, Amazon Simple Queue Service (SQS) ou Amazon Simple Notification Service (SNS) na região de controle da reunião.

Para obter uma lista das regiões de mídia e controle de reuniões disponíveis do SDK do Amazon Chime, consulte Regiões disponíveis neste guia.

Este diagrama mostra o fluxo típico de dados pelas regiões de controle e mídia.

Diagrama mostrando o fluxo típico de dados pelas regiões de controle e mídia do SDK do Amazon Chime.

Como escolher uma região de controle

Lembre-se desses fatores ao escolher uma região de controle para uma reunião do SDK do Amazon Chime:

  • Requisitos regulatórios. Seu aplicativo precisa estar dentro de uma fronteira geopolítica ou usar um endpoint com módulos criptográficos validados pelo FIPS 140-2?

  • Latência da API. Usar a região de controle mais próxima da AWS região do seu serviço de aplicativos pode ajudar a reduzir a latência da rede das APIs. Por sua vez, isso ajuda a reduzir o tempo necessário para criar reuniões e permite que os usuários participem das reuniões mais rapidamente.

  • Alta disponibilidade. Você pode usar várias regiões de controle para implementar arquiteturas de alta disponibilidade. No entanto, cada região de controle opera de forma independente. Além disso, você só pode atualizar uma reunião na região de controle usada para criá-la. Além disso, você deve usar essa mesma região para consumir eventos de reunião com EventBridge o Amazon Simple Queue Service (SQS) ou o Amazon Simple Notification Service (SNS).

Como escolher uma região de mídia

nota

Recomendamos que você sempre especifique um valor no MediaRegion parâmetro na ação da CreateMeetingAPI. Para obter mais informações sobre as regiões, consulte Regiões disponíveis.

Ao escolher uma região de mídia para usar em sua reunião do SDK do Amazon Chime, considere estes fatores comuns:

Requisitos regulatórios

Se suas reuniões do SDK do Amazon Chime estiverem sujeitas a regulamentações que exigem que sejam hospedadas dentro de uma fronteira geopolítica, considere fazer uma codificação rígida da região da reunião com base na lógica fixa da aplicação.

Por exemplo, um aplicativo de telemedicina pode exigir que todas as reuniões sejam hospedadas dentro da jurisdição do médico. Se o aplicativo oferecer suporte a clínicas localizadas na Europa e nos Estados Unidos, você poderá usar o endereço de cada clínica para selecionar uma região dentro de sua jurisdição.

Qualidade da reunião

Quando uma reunião do SDK do Amazon Chime é hospedada em uma região de mídia, o áudio e o vídeo de cada participante são enviados e recebidos dessa região. À medida que a distância entre o participante e a região aumenta, a qualidade da reunião pode ser afetada pela latência da rede. Especificar uma região para sua reunião do SDK do Amazon Chime pode ajudar a melhorar sua qualidade para seus participantes, estejam eles localizados próximos uns dos outros ou distribuídos geograficamente.

Você pode usar um dos métodos a seguir para escolher uma região de mídia para sua reunião do SDK do Amazon Chime:

Faça uma codificação rígida de uma região de mídia

Recomendado se suas reuniões do Amazon Chime SDK forem todas hospedadas em uma região específica. AWS

Escolha a região de mídia mais próxima

Recomendado se os participantes da reunião do Amazon Chime SDK estiverem localizados na mesma AWS região, mas suas reuniões estiverem hospedadas em regiões diferentes.

Como descobrir a região de mídia mais próxima

Para encontrar a região de mídia mais próxima capaz de hospedar uma reunião do Amazon Chime SDK, ligue para https://.l.chime.aws. nearest-media-region Esse endpoint retorna uma única região, como {"region": "us-west-2"}. Chame a URL do seu aplicativo cliente para identificar a região mais próxima do usuário e, em seguida, use o resultado no MediaRegion parâmetro da CreateMeetingAPI para criar a reunião nessa região.

Normalmente, você chama a URL quando o aplicativo cliente é iniciado ou sua conexão de rede é alterada. Ao predeterminar a região mais próxima, você evita adicionar a latência da chamada no momento da criação da reunião.

Encontrando a região de mídia AWS GovCloud (EUA) mais próxima

Para encontrar a região AWS GovCloud (EUA) mais próxima que pode hospedar uma reunião do Amazon Chime SDK, ligue para https://-region.l.chime.aws. nearest-us-gov-media Esse endpoint retorna a região mais próxima, como {"region": "us-gov-west-1"}. Chame a URL do seu aplicativo cliente para identificar o AWS GovCloud (EUA) mais próximo do usuário e use o resultado no MediaRegion parâmetro da CreateMeetingAPI para criar a reunião nessa região.

Normalmente, você chama a URL quando o aplicativo cliente é iniciado ou sua conexão de rede é alterada. Ao predeterminar a região mais próxima, você evita adicionar a latência da chamada no momento da criação da reunião.

JavaScript exemplo

O exemplo a seguir usa HTML JavaScript para retornar a região de mídia e a região de mídia AWS GovCloud (EUA) mais próximas.

<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>

Como verificar o status da região

Chame https://region.status.chime.aws/ para recuperar a integridade do serviço SDK do Amazon Chime em cada região. O resultado mostra as regiões recomendadas. Se uma região de mídia tiver um status diferente de recomendado, o endpoint da região de mídia mais próxima não retornará essa região.

O exemplo a seguir mostra um resultado típico.

{ "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" } }