Uso de IPv6 con la API de datos de Amazon RDS - Amazon Aurora

Uso de IPv6 con la API de datos de Amazon RDS

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

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

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

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

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

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"

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

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

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

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

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.