

# DAX e IPv6
<a name="DAX.create-cluster.DAX_and_IPV6"></a>

Agora o DynamoDB DAX comporta endereços IPv6, que permite criar clusters que funcionam somente em IPv4, somente IPv6 ou nos modos de rede de pilha dupla. Isso ajuda a aprimorar os recursos de rede para atender aos requisitos de infraestrutura em evolução.

**Tipos de rede:**

Você pode criar clusters com os seguintes tipos de rede:
+ Somente IPv4
+ Somente IPv6
+ Pilha dupla (comporta IPv4 e IPv6).

**Principais recursos do:**

Com suporte a IPv6, você pode fazer o seguinte:
+ **Opções de configuração de rede:**
  + Somente IPv4 e clusters de pilha dupla em `dual_stack subnets`.
  + Clusters somente IPv6 em sub-redes somente IPv6.
+ **Gerenciamento de grupos de sub-redes:**
  + Criar grupos de sub-redes com suporte somente a IPv4, somente a IPv6 ou pilha dupla.
  + Modificar grupos de sub-redes existentes com sub-redes de VPC adicionais
  + Adicionar sub-redes somente IPv6 aos grupos de sub-redes configurados para IPv6
  + Adicionar sub-redes IPv4 ou de pilha dupla aos grupos configurados de pilha dupla e IPv4
+ **Configuração do cliente:**
  + Ao fazer chamadas de plano de dados, você pode definir o protocolo IP preferencial para clusters de pilha dupla usando:
    + Parâmetro `ip_discovery` no SDK do Python
    + Parâmetro `ipDiscovery` em outros SDKs
  + Padrão: IPv4 quando a preferência de protocolo não é especificada

Antes de implementar o IPv6 em seus clusters do DAX, você deve pensar no seguinte:
+ O tipo de rede não poderá ser alterado após a criação do cluster.
+ Para clusters de pilha dupla, o parâmetro `ip_discovery/ipDiscovery` na configuração do cliente determina qual protocolo IP usar (IPv4 ou IPv6).
+ Aplicações diferentes podem se conectar ao mesmo cluster de pilha dupla usando protocolos IP diferentes com base em sua configuração.

**Example Exemplo de configuração do cliente**  

```
DynamoDbAsyncClient client = ClusterDaxAsyncClient.builder()
        .overrideConfiguration(Configuration.builder()
            .url(endpoint)             // DAX cluster endpoint
            .ipDiscovery(ipDiscovery)       // IP discovery type (IPv4 or IPv6)
            .build())
        .build();
```

**Importante**  
Ao usar políticas do IAM baseadas em recursos para restringir endereços IP para tabelas do DynamoDB em ambientes somente IPv6 com DAX, você deve criar uma exceção para o perfil do IAM do seu cluster do DAX se bloquear o espaço de endereço IPv4 (`0.0.0.0/0`). Adicione uma condição `ArnNotEquals` à sua política que permita especificamente o acesso ao perfil do IAM do cluster do DAX, mantendo as restrições baseadas em IP para outros caminhos de acesso. Sem essa exceção, o DAX não pode acessar sua tabela do DynamoDB.  
Por exemplo:  

**Example**    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Deny",
      "Principal": "*",
      "Action": "dynamodb:PutItem",
      "Resource": "arn:aws:dynamodb:us-east-1:123456789012:table/MusicCollection",
      "Condition": {
        "ArnNotEquals": {
          "aws:PrincipalArn": "arn:aws:iam::123456789012:role/DAXServiceRoleForDynamoDBAccess"
        },
        "IpAddress": {
          "aws:SourceIp": "0.0.0.0/0"
        }
      }
    }
  ]
}
```