

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
<a name="ipv6-support"></a>

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

**nota**  
IPv6 o suporte 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 de pilha dupla. IPv6 Os endpoints de pilha dupla oferecem suporte ao IPv6 tráfego IPv4 e estão disponíveis para alguns serviços em algumas regiões.

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

## Configure o AWS SDK para IPv6
<a name="configure-aws-sdk-ipv6"></a>

Se você estiver usando o AWS SDK para chamar o APIs plano de controle do Kinesis Video Streams em sua configuração de produção, você pode IPv6 habilitá-lo 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
<a name="ipv6-environment-variables"></a>

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

```
export AWS_USE_DUALSTACK_ENDPOINT=true
```

### Use o arquivo AWS de configuração
<a name="ipv6-config-file"></a>

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 Java e SDKs Kotlin)
<a name="ipv6-jvm-properties"></a>

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
<a name="sdk-support-table"></a>

Os itens a seguir 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 ao chamar o plano de controle do IPv6 Kinesis Video Streams. APIs

## Configure o SDK do Kinesis Video Streams Producer para IPv6
<a name="configure-producer-sdk-ipv6"></a>

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

### Configurar o SDK do Produtor C/C\+\+
<a name="configure-c-cpp-producer-sdk"></a>

Os endpoints padrão e a cadeia de resolução de DNS são implementados pelo SDK KVS Producer-C 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 o Producer SDKs, consulte os tópicos relacionados ao [Producer SDK for C](https://github.com/awslabs/amazon-kinesis-video-streams-producer-c), [Producer SDK for](https://github.com/awslabs/amazon-kinesis-video-streams-producer-sdk-cpp) C\+\+ [e](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/producer-sdk.html#producer-sdk-related-topics) Producer SDK.

#### Configuração do endpoint
<a name="endpoint-configuration"></a>

1. O `controlPlaneUrl` parâmetro para`createAbstractDefaultCallbacksProvider`.

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

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

1. 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
<a name="dns-filtering"></a>

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

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

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

1. Caso contrário, nenhuma filtragem ocorrerá. IPv4 Tanto os endereços IPv6 IP quanto os endereços IP, se retornados pelo DNS, podem ser usados.

**nota**  
Se as configurações do filtro DNS estiverem definidas para filtrar endereços IPV6 IP, mas a configuração do SDK for para usar o endpoint legado (endereços IPV4 somente retornados), 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 GStreamer plug-in
<a name="configure-gstreamer-plugin"></a>

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

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

### Resolução do endpoint do plano de dados
<a name="data-plane-endpoint-resolution"></a>

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`

## Configure o AWS CLI para IPv6
<a name="configure-aws-cli-ipv6"></a>

Se você estiver usando as operações do Kinesis Video Streams ( proof-of-conceptnormalmente AWS CLI para trabalhar), você IPv6 pode habilitá-las configurando endpoints de pilha dupla.

### Usar uma variável de ambiente
<a name="cli-environment-variable"></a>

```
export AWS_USE_DUALSTACK_ENDPOINT=true
```

### Use o arquivo AWS de configuração
<a name="cli-config-file"></a>

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

```
[default]
use_dualstack_endpoint = true
```

## Exemplos de configuração
<a name="configuration-examples"></a>

### Exemplo de SDK C
<a name="c-sdk-example"></a>

Para criar o SDK do KVS Producer-C no modo IPV6 -only 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
<a name="ipv6-considerations"></a>

### Requisitos de rede
<a name="network-requirements"></a>
+ Garanta que sua infraestrutura de rede ofereça suporte IPv6 à conectividade
+ Verifique se seus grupos de segurança e sua rede ACLs permitem IPv6 tráfego
+ Teste a conectividade com AWS IPv6 endpoints a partir do seu ambiente de implantação
+ Os endpoints de pilha dupla estão disponíveis para alguns serviços em algumas regiões. Verifique a disponibilidade para suas regiões de destino

### Compatibilidade com SDK
<a name="sdk-compatibility"></a>
+ 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
<a name="testing-validation"></a>

Antes de implantar aplicativos IPv6 habilitados do 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 consistente IPv6 
+ Teste o comportamento de failover quando endpoints de pilha dupla não estão disponíveis

## Clientes afetados pela atualização para incluir IPv6
<a name="customers-impacted-ipv6"></a>

Quando você habilita o IPv6 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
<a name="iam-policies-ip-filtering"></a>

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 IPv6 intervalos de endereços.

**Importante**  
As políticas existentes do IAM que usam blocos IPv4 CIDR em `NotIpAddress` condições `IpAddress` ou não funcionarão automaticamente com IPv6 endereços. Você deve adicionar IPv6 intervalos explicitamente 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
<a name="logging-monitoring-ipv6"></a>

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

#### logs
<a name="cloudtrail-logs"></a>

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

Exemplo IPv6 de endereço nos registros:

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

## Solução de problemas
<a name="troubleshooting-ipv6"></a>

### Problemas comuns
<a name="common-issues"></a>
+ Falhas de conexão — verifique a conectividade IPv6 de rede 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
<a name="verification-steps"></a>
+ 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 do SDK do Kinesis Video IPv6 Streams estão definidos corretamente
+ Teste a conectividade de rede com AWS IPv6 endpoints
+ Analise os registros do aplicativo em busca IPv6 de mensagens de erro específicas
+ Confirme se sua região oferece suporte a endpoints de pilha dupla para o Kinesis Video Streams

### Validação de configuração
<a name="configuration-validation"></a>

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