

# Uso de IPv6 con la API de datos de Amazon RDS
<a name="data-api.ipv6"></a>

La API de datos de Amazon RDS es compatible con la conectividad IPv6 a través de puntos de conexión de doble pila. Esto le permite conectarse a la API de datos mediante direcciones IPv6 y, al mismo tiempo, mantener la compatibilidad con versiones anteriores de IPv4.

## Compatibilidad de puntos de conexión de IPv6
<a name="data-api.ipv6.endpoints"></a>

La API de datos proporciona puntos de conexión de doble pila que admiten conexiones IPv4 e IPv6. Estos puntos de conexión utilizan el dominio `.aws` en lugar del dominio tradicional `.amazonaws.com`.

### Tipos de puntos de conexión disponibles
<a name="data-api.ipv6.endpoint-types"></a>

Puntos de conexión de doble pila públicos  
Formato: `rds-data.region.api.aws`  
Ejemplo:: `rds-data.us-east-1.api.aws`

Puntos de conexión de doble pila FIPS  
Formato: `rds-data-fips.region.api.aws`  
Ejemplo:: `rds-data-fips.us-east-1.api.aws`

Puntos de conexión IPv6 de PrivateLink  
Disponible a través de puntos de conexión de VPC compatibles con IPv6  
Permite la conectividad IPv6 privada dentro de la VPC

### Puntos de conexión antiguos solo de IPv4
<a name="data-api.ipv6.legacy-endpoints"></a>

Los puntos de conexión de `.amazonaws.com` existentes siguen admitiendo conexiones solo de IPv4:
+ `rds-data.region.amazonaws.com`
+ `rds-data-fips.region.amazonaws.com`

**nota**  
Los puntos de conexión antiguos permanecen inalterados para garantizar la compatibilidad con versiones anteriores de las aplicaciones existentes.

## Uso de puntos de conexión de IPv6
<a name="data-api.ipv6.using"></a>

Para usar IPv6 con la API de datos, actualice la aplicación para usar los nuevos puntos de conexión de doble pila. La aplicación utilizará IPv6 automáticamente, si está disponible, o recurrirá a IPv4.

Para obtener instrucciones generales sobre la configuración de IPv6 en la VPC, consulte [Migración a IPv6](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-migrate-ipv6.html) en la *Guía del usuario de Amazon VPC*.

Puede configurar los puntos de conexión de IPv6 de dos maneras:
+ **Uso de la variable de entorno**: configure `AWS_USE_DUALSTACK_ENDPOINT=true` en el entorno de IPv6. La AWS CLI y los AWS SDK crearán automáticamente los puntos de conexión de `api.aws` adecuados sin necesidad de que especifique las URL de los puntos de conexión manualmente.
+ **Uso de direcciones URL de punto de conexión explícitas**: especifique la URL de punto de conexión de doble pila directamente en los comandos de la AWS CLI o en la configuración del SDK, tal y como se muestra en los ejemplos siguientes.

### Configuración de la AWS CLI
<a name="data-api.ipv6.cli"></a>

Configure la AWS CLI para usar puntos de conexión de IPv6 especificando la URL del punto de conexión:

Para Linux, macOS o Unix:

```
aws rds-data execute-statement \
    --endpoint-url https://rds-data.us-east-1.api.aws \
    --resource-arn "arn:aws:rds:us-east-1:123456789012:cluster:my-cluster" \
    --secret-arn "arn:aws:secretsmanager:us-east-1:123456789012:secret:my-secret" \
    --database "mydb" \
    --sql "SELECT * FROM users LIMIT 10"
```

Para Windows:

```
aws rds-data execute-statement ^
    --endpoint-url https://rds-data.us-east-1.api.aws ^
    --resource-arn "arn:aws:rds:us-east-1:123456789012:cluster:my-cluster" ^
    --secret-arn "arn:aws:secretsmanager:us-east-1:123456789012:secret:my-secret" ^
    --database "mydb" ^
    --sql "SELECT * FROM users LIMIT 10"
```

### Configuración de AWS SDK
<a name="data-api.ipv6.sdk"></a>

Configure los AWS SDK para utilizar puntos de conexión de doble pila:

------
#### [ Python ]

```
import boto3

# Create RDS Data API client with IPv6 dual-stack endpoint
client = boto3.client(
    'rds-data',
    endpoint_url='https://rds-data.us-east-1.api.aws'
)

# Execute a SQL statement
response = client.execute_statement(
    resourceArn='arn:aws:rds:us-east-1:123456789012:cluster:my-cluster',
    secretArn='arn:aws:secretsmanager:us-east-1:123456789012:secret:my-secret',
    database='mydb',
    sql='SELECT * FROM users LIMIT 10'
)

print(response['records'])
```

------
#### [ Java ]

```
import software.amazon.awssdk.services.rdsdata.RdsDataClient;
import software.amazon.awssdk.services.rdsdata.model.ExecuteStatementRequest;
import software.amazon.awssdk.services.rdsdata.model.ExecuteStatementResponse;
import java.net.URI;

// Create RDS Data API client with IPv6 dual-stack endpoint
RdsDataClient client = RdsDataClient.builder()
    .endpointOverride(URI.create("https://rds-data.us-east-1.api.aws"))
    .build();

// Execute a SQL statement
ExecuteStatementRequest request = ExecuteStatementRequest.builder()
    .resourceArn("arn:aws:rds:us-east-1:123456789012:cluster:my-cluster")
    .secretArn("arn:aws:secretsmanager:us-east-1:123456789012:secret:my-secret")
    .database("mydb")
    .sql("SELECT * FROM users LIMIT 10")
    .build();

ExecuteStatementResponse response = client.executeStatement(request);
System.out.println(response.records());
```

------
#### [ JavaScript ]

```
const { RDSDataClient, ExecuteStatementCommand } = require("@aws-sdk/client-rds-data");

// Create RDS Data API client with IPv6 dual-stack endpoint
const client = new RDSDataClient({
    endpoint: "https://rds-data.us-east-1.api.aws"
});

// Execute a SQL statement
const command = new ExecuteStatementCommand({
    resourceArn: "arn:aws:rds:us-east-1:123456789012:cluster:my-cluster",
    secretArn: "arn:aws:secretsmanager:us-east-1:123456789012:secret:my-secret",
    database: "mydb",
    sql: "SELECT * FROM users LIMIT 10"
});

const response = await client.send(command);
console.log(response.records);
```

------

## Uso de AWS PrivateLink con IPv6
<a name="data-api.ipv6.privatelink"></a>

Puede crear puntos de conexión de VPC para la API de datos que admitan la conectividad de IPv6 dentro de la VPC. Para obtener instrucciones detalladas sobre cómo crear puntos de conexión de VPC para API de datos, consulte [Creación de un punto de conexión de VPC de Amazon para la API de datos de Amazon RDS (AWS PrivateLink)](data-api.vpc-endpoint.md).

Al crear un punto de conexión de VPC compatible con IPv6, asegúrese de que:
+ La VPC y las subredes están configuradas para admitir IPv6
+ Los grupos de seguridad permiten el tráfico de IPv6 en los puertos necesarios (normalmente 443 para HTTPS)
+ Las ACL de red están configuradas para permitir el tráfico de IPv6

## Consideraciones sobre la migración
<a name="data-api.ipv6.migration"></a>

Cuando migre a puntos de conexión de IPv6, tenga en cuenta lo siguiente:
+ **Migración gradual**: puede migrar las aplicaciones de forma gradual actualizando las URL de los puntos de conexión, una aplicación a la vez.
+ **Compatibilidad de red**: asegúrese de que la infraestructura de red sea compatible con IPv6 antes de realizar la migración.
+ **Políticas de seguridad**: actualice las reglas de los grupos de seguridad y las ACL de red para permitir el tráfico de IPv6 si es necesario.
+ **Supervisión**: actualice las configuraciones de supervisión y registro para gestionar las direcciones IPv6.

**nota**  
**Direcciones de conexión de bases de datos**: cuando se utilizan puntos de conexión de IPv6 para la API de datos, las conexiones de la base de datos subyacentes y los registros de la base de datos seguirán mostrando las direcciones IPv4. Este es el comportamiento esperado y no afecta a la funcionalidad de las aplicaciones habilitadas para IPv6.

## Solución de problemas de conectividad de IPv6
<a name="data-api.ipv6.troubleshooting"></a>

Si tiene problemas con la conectividad de IPv6, verifique lo siguiente:

Configuración de red  
Compruebe que la red sea compatible con IPv6 y que el enrutamiento de IPv6 esté configurado correctamente.

Resolución de los DNS  
Asegúrese de que el solucionador de DNS pueda resolver los registros AAAA de los puntos de conexión de doble pila.

Grupos de seguridad  
Actualice las reglas de los grupos de seguridad para permitir el tráfico de IPv6 en los puertos necesarios (normalmente 443 para HTTPS).

Bibliotecas del cliente  
Compruebe que las bibliotecas del cliente de HTTP admiten IPv6 y la conectividad de doble pila.