View a markdown version of this page

Use IPv6 com o Kinesis Video Streams - Amazon Kinesis Video Streams

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

Use IPv6 com o Kinesis Video Streams

Você pode configurar o Kinesis Video Streams para usar IPv6 nas operações do plano de controle e do plano de dados. Isso permite que seus aplicativos se comuniquem com os serviços do Kinesis Video Streams usando endereços IPv6 por meio de endpoints de pilha dupla.

nota

O suporte ao IPv6 requer versões específicas do SDK e definições de configuração. Certifique-se de que seu SDK e suas versões de AWS SDK do Kinesis Video Streams sejam compatíveis com endpoints IPv6 de pilha dupla. Dual-stack os endpoints oferecem suporte ao tráfego IPv4 e IPv6 e estão disponíveis para alguns serviços em algumas regiões.

O Kinesis Video Streams oferece suporte a IPv6 por meio de endpoints de pilha dupla para aplicativos de produtores e consumidores. Você pode configurar seus aplicativos para usar IPv6 para chamadas de API do plano de controle e operações de streaming do plano de dados.

Configurar o AWS SDK para IPv6

Se você estiver usando o AWS SDK para chamar as APIs do plano de controle do Kinesis Video Streams em sua configuração de produção, você pode habilitar o IPv6 configurando endpoints de pilha dupla. O AWS SDK fornece vários métodos padronizados para habilitar endpoints de pilha dupla.

Importante

Quando os endpoints de pilha dupla estão habilitados, o SDK tenta usar pontos de extremidade de pilha dupla para fazer solicitações de rede. Se não existir um endpoint de pilha dupla para o serviço ou a região, a solicitação falhará.

Use variáveis de ambiente

Defina a seguinte variável de ambiente para habilitar endpoints IPv6 de pilha dupla:

export AWS_USE_DUALSTACK_ENDPOINT=true

Use o comando AWS Arquivo de configuração do  

Adicione a seguinte configuração ao seu arquivo AWS de configuração (~/.aws/config):

[default] use_dualstack_endpoint = true

Use as propriedades do sistema JVM (somente SDKs Java e Kotlin)

Para aplicativos Java e Kotlin, defina a seguinte propriedade do sistema JVM:

-Daws.useDualstackEndpoint=true

Ou programaticamente em seu código Java:

System.setProperty("aws.useDualstackEndpoint", "true");

Compatibilidade com o SDK

Os seguintes AWS SDKs oferecem suporte à configuração de endpoint de pilha dupla:

SDK Compatível Métodos de configuração
AWS CLI v2 Sim Variável de ambiente, arquivo de configuração
SDK para C++ Sim Variável de ambiente, arquivo de configuração
SDK para Go V2 (1.x) Sim Variável de ambiente, arquivo de configuração
SDK para Java 2.x Sim Variável de ambiente, arquivo de configuração, propriedade JVM
SDK para Java 1.x Não Não compatível
SDK para 3.x JavaScript Sim Variável de ambiente, arquivo de configuração
SDK para Python (Boto3) Sim Variável de ambiente, arquivo de configuração

Depois de configurar os endpoints de pilha dupla, o AWS SDK usa automaticamente os endpoints IPv6 ao chamar as APIs do plano de controle do Kinesis Video Streams.

Configurar o SDK do Kinesis Video Streams Producer para IPv6

O SDK do Kinesis Video Streams Producer fornece opções de configuração IPv6 para operações de plano de controle e plano de dados. Essas configurações funcionam com a configuração de endpoint de AWS pilha dupla do SDK.

Configurar o SDK do C/C ++ Producer

Os endpoints padrão e a cadeia de resolução de DNS são implementados pelo KVS Producer-C SDK versão 1.6.0. Ele verifica sequencialmente cada local onde você pode definir a configuração desses parâmetros e, em seguida, seleciona o primeiro que você definir. A sequência predefinida é a seguinte:

Para obter mais informações sobre os SDKs do Produtor, consulte os tópicos relacionados ao SDK do Produtor para C, SDK do Produtor para C++ e SDK do Produtor.

Configuração do endpoint

  1. O controlPlaneUrl parâmetro paracreateAbstractDefaultCallbacksProvider.

  2. Parâmetros CMake de configuração do endpoint: (-DAWS_KVS_USE_LEGACY_ENDPOINT_ONLY=TRUE,) -DAWS_KVS_USE_DUAL_STACK_ENDPOINT_ONLY=TRUE

  3. Variáveis de ambiente: (export AWS_USE_DUALSTACK_ENDPOINT=TRUE)

    • Se AWS_USE_DUALSTACK_ENDPOINT for TRUE (sem distinção entre maiúsculas e minúsculas), o endpoint de pilha dupla será usado.

  4. Caso contrário, o endpoint legado será construído e usado.

Com 2, 3 e 4, o endpoint será construído com base na região fornecida. createAbstractDefaultCallbacksProvider

Filtragem de DNS

O SDK do KVS Producer definirá o CURLOPT_IPRESOLVE parâmetro apropriado, dependendo da configuração:

  1. Parâmetros CMake de resolução de DNS: (-DAWS_KVS_IPV4_ONLY=TRUE,,-DAWS_KVS_IPV6_ONLY=TRUE) -DAWS_KVS_IPV4_AND_IPV6_ONLY=TRUE

  2. Variáveis de ambiente (export AWS_KVS_USE_IPV4=TRUE,export AWS_KVS_USE_IPV6=TRUE)

  3. Caso contrário, nenhuma filtragem ocorrerá. Os endereços IP IPv4 e IPv6, se retornados pelo DNS, podem ser usados.

nota

Se as configurações do filtro DNS estiverem definidas para filtrar endereços IP IPV6, mas a configuração do SDK for para usar o endpoint legado ( IPV4-only endereços de retorno), a solicitação falhará.

O C++ Producer SDK versão 3.5.0 usa o Producer-C SDK 1.6.0 para as chamadas da API KVS.

Configurar o plugin GStreamer

O plug-in GStreamer usa o SDK C Producer subjacente, então a configuração do IPv6 é feita automaticamente quando você configura o SDK C para IPv6, conforme descrito anteriormente.

Não é necessário modificar o código, basta criar o SDK com os parâmetros do CMake ou definir as variáveis de ambiente apropriadas conforme descrito na seção anterior.

Resolução do endpoint do plano de dados

Para operações de plano de dados, use a GetDataEndpoint API para recuperar o endpoint apropriado do plano de dados de pilha dupla. O serviço retorna o endpoint correspondente, dependendo da URL da solicitação.

Exemplo:

  • Se a solicitação de GetDataEndpoint API for feita para o endpoint legado que termina em.amazonaws.com, o Kinesis Video Streams retornará os endpoints do plano de dados legado que terminam com. .amazonaws.com

  • Se a solicitação de GetDataEndpoint API for feita para o endpoint de pilha dupla que termina em, o Kinesis .api.aws Video Streams retornará o endpoint do plano de dados de pilha dupla que termina com. .api.aws

Configurar o AWS CLI para IPv6

Se você estiver usando as operações do Kinesis Video Streams (normalmente AWS CLI para trabalhos de prova de conceito), você pode habilitar o IPv6 configurando endpoints de pilha dupla.

Usar uma variável de ambiente

export AWS_USE_DUALSTACK_ENDPOINT=true

Use o comando AWS Arquivo de configuração do  

Adicione o seguinte ao seu arquivo AWS CLI de configuração (~/.aws/config):

[default] use_dualstack_endpoint = true

Exemplos de configuração

Exemplo de SDK C

Para criar o Producer-C SDK do KVS no IPV6-only modo e ignorar a configuração da variável de ambiente, use os seguintes comandos para criar o SDK:

cmake .. -DAWS_KVS_USE_DUAL_STACK_ENDPOINT_ONLY=TRUE -DAWS_KVS_IPV6_ONLY=TRUE make -j
nota

Se você já tiver o SDK criado, precisará executar uma compilação limpa. Exclua as pastas de compilação, código aberto e dependência existentes antes de executar os comandos de compilação.

Considerações

Requisitos de rede

  • Certifique-se de que sua infraestrutura de rede ofereça suporte à conectividade IPv6

  • Verifique se seus grupos de segurança e ACLs de rede permitem tráfego IPv6

  • Teste a conectividade com endpoints AWS IPv6 a partir do seu ambiente de implantação

  • Dual-stack endpoints estão disponíveis para alguns serviços em algumas regiões — verifique a disponibilidade para suas regiões de destino

Compatibilidade com SDK

  • Verifique se você está usando uma versão compatível AWS do SDK

  • O AWS SDK for Java 1.x não oferece suporte à configuração de endpoint de pilha dupla

  • Para o SDK for Go 1.x (V1), você deve habilitar o carregamento do arquivo de configuração para usar as configurações compartilhadas

Testes e validação

Antes de implantar os aplicativos do IPv6-enabled Kinesis Video Streams na produção:

  • Teste as operações do plano de controle (criação, exclusão, listagem de fluxos)

  • Verifique as operações do plano de dados (ingestão e consumo de vídeo)

  • Valide o desempenho e a conectividade em seu ambiente de rede

  • Execute testes canários para garantir uma funcionalidade IPv6 consistente

  • Teste o comportamento de failover quando os endpoints de pilha dupla não estão disponíveis

Clientes afetados pela atualização para inclusão de IPv6

Quando você ativa o IPv6 para o Kinesis Video Streams, há várias áreas em que talvez seja necessário atualizar suas configurações e políticas existentes para garantir a funcionalidade contínua.

Políticas do IAM e filtragem de endereços IP

Se você usa a filtragem de endereço IP de origem em suas políticas de usuário, políticas de função ou políticas baseadas em recursos do IAM, precisará atualizar essas políticas para incluir intervalos de endereços IPv6.

Importante

As políticas existentes do IAM que usam blocos CIDR IPv4 em NotIpAddress condições IpAddress ou não funcionarão automaticamente com endereços IPv6. Você deve adicionar explicitamente intervalos IPv6 para manter o controle de acesso.

Exemplo de atualização da política do IAM para IPv6:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "kinesisvideo:*", "Resource": "*", "Condition": { "IpAddress": { "aws:SourceIp": [ "192.0.2.0/24", "203.0.113.0/24", "2001:db8::/32" ] } } } ] }

Registro em log e monitoramento

Os endereços IPv6 têm um formato diferente dos endereços IPv4, o que pode afetar seus sistemas de registro, monitoramento e análise.

logs

os registros conterão endereços IPv6 no sourceIPAddress campo quando as solicitações forem feitas por IPv6. Atualize suas ferramentas e scripts de análise de registros para lidar com formatos de endereço IPv6.

Exemplo de endereço IPv6 em registros:

{ "sourceIPAddress": "2001:db8::1", "eventName": "CreateStream", "eventSource": "kinesisvideo.amazonaws.com" }

Solução de problemas

Problemas comuns

  • Falhas de conexão — Verifique a conectividade de rede IPv6 e a resolução de DNS

  • Erros do SDK — Verifique se você está usando versões compatíveis do SDK que oferecem suporte a endpoints de pilha dupla

  • Problemas de autenticação — confirme se as políticas e credenciais do IAM funcionam com endpoints IPv6

  • Endpoint não disponível — Se não existir um endpoint de pilha dupla para o serviço ou região, as solicitações falharão

Etapas de verificação

  • Verifique se AWS_USE_DUALSTACK_ENDPOINT=true está definido ou use_dualstack_endpoint = true está no seu arquivo de configuração

  • Verifique se os sinalizadores de configuração IPv6 do SDK do Kinesis Video Streams estão definidos corretamente

  • Teste a conectividade de rede com endpoints AWS IPv6

  • Analise os registros do aplicativo em busca IPv6-specific de mensagens de erro

  • Confirme se sua região oferece suporte a endpoints de pilha dupla para o Kinesis Video Streams

Validação de configuração

Você pode verificar sua configuração de endpoint de pilha dupla verificando:

  • Variáveis de ambiente: echo $AWS_USE_DUALSTACK_ENDPOINT

  • AWS arquivo de configuração: cat ~/.aws/config | grep use_dualstack_endpoint

  • Propriedades da JVM (Java): verifique as propriedades do sistema nos registros do seu aplicativo