Administración y conexión a clústeres de Amazon Aurora DSQL mediante AWS PrivateLink
Con AWS PrivateLink para Amazon Aurora DSQL, puede aprovisionar puntos de conexión de Amazon VPC de la interfaz (puntos de conexión de interfaz) en Amazon Virtual Private Cloud. A estos puntos de conexión se puede acceder directamente desde las aplicaciones que se encuentran en las instalaciones a través de Amazon VPC y Direct Connect, o bien, en una Región de AWS diferente mediante el emparejamiento de Amazon VPC. Al usar AWS PrivateLink y puntos de conexión de interfaz, puede simplificar la conectividad de la red privada desde las aplicaciones a Aurora DSQL.
Las aplicaciones en la Amazon VPC pueden acceder a Aurora DSQL mediante los puntos de conexión de interfaz de Amazon VPC sin necesidad de direcciones IP públicas.
Los puntos de conexión de la interfaz se representan mediante una o más interfaces de red elásticas (ENI) a las que se asignan direcciones IP privadas desde subredes de la Amazon VPC. Las solicitudes a Aurora DSQL a través de puntos de conexión de interfaz permanecen en la red de AWS. Para obtener más información sobre cómo conectar Amazon VPC a la red en las instalaciones, consulte la Guía del usuario de Direct Connect y la Guía del usuario de AWS Site-to-Site VPN.
Para obtener información general sobre los puntos de conexión de interfaz, consulte Acceso a un servicio de AWS mediante un punto de conexión de Amazon VPC en la Guía del usuario de AWS PrivateLink.
Tipos de puntos de conexión de Amazon VPC para Aurora DSQL
Aurora DSQL requiere dos tipos diferentes de puntos de conexión de AWS PrivateLink.
-
Punto de conexión de administración: este punto de conexión se utiliza para operaciones de administración, como
get,create,update,deleteylisten clústeres de Aurora DSQL. Consulte Administración de clústeres de Aurora DSQL mediante AWS PrivateLink. -
Punto de conexión: este punto de conexión se utiliza para conectarse a los clústeres de Aurora DSQL a través de clientes de PostgreSQL. Consulte Conexión a clústeres de Aurora DSQL mediante AWS PrivateLink.
Consideraciones al utilizar AWS PrivateLink para Aurora DSQL
Las consideraciones de Amazon VPC se aplican a AWS PrivateLink para Aurora DSQL. Para obtener más información, consulte Acceso a un servicio de AWS con un punto de conexión de VPC de interfaz y Cuotas de AWS PrivateLink en la Guía de AWS PrivateLink.
Administración de clústeres de Aurora DSQL mediante AWS PrivateLink
Puede utilizar la AWS Command Line Interface o los kits de desarrollo de software (SDK) de AWS para administrar clústeres de Aurora DSQL a través de puntos de conexión de interfaz de Aurora DSQL.
Creación de un punto de conexión de VPC de Amazon
Para crear un punto de conexión de interfaz de Amazon VPC, consulte Creación de un punto de conexión de Amazon VPC en la Guía de AWS PrivateLink.
aws ec2 create-vpc-endpoint \ --regionregion\ --service-name com.amazonaws.region.dsql \ --vpc-idyour-vpc-id\ --subnet-idsyour-subnet-id\ --vpc-endpoint-type Interface \ --security-group-idsclient-sg-id\
Para utilizar el nombre DNS regional predeterminado para las solicitudes de la API de Aurora DSQL, no desactive el DNS privado cuando cree el punto de conexión de interfaz de Aurora DSQL. Cuando el DNS privado esté habilitado, las solicitudes al servicio Aurora DSQL realizadas desde dentro de Amazon VPC se resolverán automáticamente en la dirección IP privada del punto de conexión de VPC de Amazon, en lugar del nombre DNS público. Si el DNS privado está habilitado, las solicitudes de Aurora DSQL realizadas dentro de Amazon VPC se resolverán automáticamente en el punto de conexión de VPC de Amazon.
Si el DNS privado no está habilitado, utilice los parámetros --region y --endpoint-url con comandos de la AWS CLI para administrar los clústeres de Aurora DSQL a través de los puntos de conexión de interfaz de Aurora DSQL.
Enumeración de clústeres mediante una URL de punto de conexión
En el siguiente ejemplo, reemplace la Región de AWS us-east-1 y el nombre DNS del ID de punto de conexión de Amazon VPC vpce-1a2b3c4d-5e6f.dsql.us-east-1.vpce.amazonaws.com con información propia.
aws dsql --regionus-east-1--endpoint-url https://vpce-1a2b3c4d-5e6f---dsql---us-east-1---vpce.amazonaws.com.rproxy.govskope.calist-clusters
Operaciones de API
Consulte la referencia de la API de Aurora DSQL para obtener documentación sobre la administración de recursos en Aurora DSQL.
Administración de políticas de punto de conexión
Al probar y configurar detenidamente las políticas de punto de conexión de Amazon VPC, puede ayudar a garantizar que el clúster de Aurora DSQL sea seguro, cumpla las normas y se ajuste a los requisitos específicos de control de acceso y gobernanza de la organización.
Ejemplo: política de acceso completo a Aurora DSQL
La siguiente política concede acceso completo a todas las acciones y recursos de Aurora DSQL a través del punto de conexión de Amazon VPC especificado.
aws ec2 modify-vpc-endpoint \ --vpc-endpoint-id vpce-xxxxxxxxxxxxxxxxx \ --region region \ --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "dsql:*", "Resource": "*" } ] }'
Ejemplo: política de acceso restringido a Aurora DSQL
La siguiente política solo permite estas acciones de Aurora DSQL.
-
CreateCluster -
GetCluster -
ListClusters
Se deniegan todas las demás acciones de Aurora DSQL.
Conexión a clústeres de Aurora DSQL mediante AWS PrivateLink
Una vez que el punto de conexión de AWS PrivateLink esté configurado y activo, podrá conectarse al clúster de Aurora DSQL mediante un cliente de PostgreSQL. Las instrucciones de conexión que aparecen a continuación describen los pasos para construir el nombre de host adecuado para conectarse a través del punto de conexión de AWS PrivateLink.
Configuración de un punto de conexión de AWS PrivateLink
Paso 1: obtención del nombre del servicio del clúster
Cuando cree un punto de conexión de AWS PrivateLink para conectarse al clúster, primero deberá obtener el nombre de servicio específico del clúster.
Paso 2: creación del punto de conexión de Amazon VPC
Mediante el nombre de servicio obtenido en el paso anterior, cree un punto de conexión de Amazon VPC.
importante
Las instrucciones de conexión que aparecen a continuación solo funcionan para conectarse a clústeres cuando está habilitado el DNS privado. No utilice la marca --no-private-dns-enabled al crear el punto de conexión, ya que esto impedirá que las instrucciones de conexión que figuran a continuación funcionen correctamente. Si desactiva el DNS privado, tendrá que crear un registro DNS privado comodín propio que apunte al punto de conexión creado.
Configuración adicional al conectarse mediante Direct Connect o el emparejamiento de Amazon VPC
Puede que se requiera una configuración adicional para conectarse a los clústeres de Aurora DSQL mediante un punto de conexión de AWS PrivateLink desde dispositivos en las instalaciones a través del emparejamiento de Amazon VPC o Direct Connect. Esta configuración no es necesaria si su aplicación se ejecuta en la misma instancia de Amazon VPC que su punto de conexión de AWS PrivateLink. Las entradas de DNS privado creadas anteriormente no se resolverán de forma correcta fuera de la instancia de Amazon VPC del punto de conexión, pero puede crear sus propios registros DNS privados que se resuelvan en su punto de conexión de AWS PrivateLink.
Cree un registro DNS de CNAME privado que apunte al nombre de dominio completo del punto de conexión de AWS PrivateLink. El nombre de dominio del registro DNS creado debe construirse a partir de los siguientes componentes:
El identificador del servicio a partir del nombre del servicio. Por ejemplo: .:
dsql-fnh4la Región de AWS,
Cree el registro DNS de CNAME con un nombre de dominio que tenga el siguiente formato: *. service-identifier.region.on.aws
El formato del nombre de dominio es importante por dos motivos:
El nombre de host utilizado para conectarse a Aurora DSQL debe coincidir con el certificado de servidor de Aurora DSQL cuando se utilice el modo SSL
verify-full. Esto garantiza el máximo nivel de seguridad de la conexión.Aurora DSQL utiliza la parte del ID de clúster del nombre de host que se utiliza para conectarse a Aurora DSQL a fin de identificar el clúster que se conecta.
Si no es posible crear registros DNS privados, puede seguir conectándose a Aurora DSQL. Consulte Conexión a un clúster de Aurora DSQL mediante un punto de conexión de AWS PrivateLink sin DNS privado..
Conexión a un clúster de Aurora DSQL mediante un punto de conexión de AWS PrivateLink
Una vez que el punto de conexión de AWS PrivateLink esté configurado y activo (compruebe que State es available), puede conectarse al clúster de Aurora DSQL mediante un cliente de PostgreSQL. Para obtener instrucciones sobre cómo utilizar los AWS SDK, puede seguir las guías de Programación con Aurora DSQL. Debe cambiar el punto de conexión del clúster para que coincida con el formato del nombre de host.
Construcción del nombre de host
El nombre de host para conectarse a través de AWS PrivateLink difiere del nombre de host DNS público. Debe construirlo con los siguientes componentes.
-
Your-cluster-id -
El identificador del servicio a partir del nombre del servicio. Por ejemplo: .:
dsql-fnh4 -
La Región de AWS. Por ejemplo: .:
us-east-1
Use el siguiente formato: cluster-id.service-identifier.region.on.aws
Ejemplo: conexión mediante PostgreSQL
# Set environment variables export CLUSTERID=your-cluster-idexport REGION=us-east-1 export SERVICE_IDENTIFIER=dsql-fnh4 # This should match the identifier in your service name # Construct the hostname export HOSTNAME="$CLUSTERID.$SERVICE_IDENTIFIER.$REGION.on.aws" # Generate authentication token export PGPASSWORD=$(aws dsql --region $REGION generate-db-connect-admin-auth-token --hostname $HOSTNAME) # Connect using psql psql -d postgres -h $HOSTNAME -U admin
Conexión a un clúster de Aurora DSQL mediante un punto de conexión de AWS PrivateLink sin DNS privado.
Las instrucciones de conexión anteriores se basan en registros DNS privados. Si la aplicación se ejecuta en la misma instancia de Amazon VPC que el punto de conexión de AWS PrivateLink, los registros DNS se crean de forma automática. Como alternativa, si se conecta desde dispositivos en las instalaciones a través del emparejamiento de Amazon VPC o Direct Connect, podrá crear sus propios registros DNS privados. Sin embargo, la configuración de los registros DNS no es siempre posible debido a las restricciones de red impuestas por sus equipos de seguridad. Si la aplicación debe conectarse mediante Direct Connect o desde una instancia de Amazon VPC emparejada, y la configuración de registros DNS no es posible, puede seguir conectándose a Aurora DSQL.
Aurora DSQL utiliza la parte del ID de clúster del nombre de host para identificar el clúster que se conecta, pero si la configuración de registros DNS no es posible, Aurora DSQL permite especificar el clúster de destino mediante la opción de conexión amzn-cluster-id. Con esta opción, es posible utilizar el nombre de dominio completo del punto de conexión de AWS PrivateLink como nombre de host al conectarse.
importante
Al conectarse con la dirección IP o el nombre de dominio completo del punto de conexión de AWS PrivateLink, no se admite el modo SSL verify-full. Por este motivo, se prefiere configurar un DNS privado.
Ejemplo: Especificación de la opción de conexión de ID de clúster mediante PostgreSQL
# Set environment variables export CLUSTERID=your-cluster-idexport REGION=us-east-1 export HOSTNAME=vpce-04037adb76c111221-d849uc2p.dsql-fnh4.us-east-1.vpce.amazonaws.com # This should match your endpoint's fully-qualified domain name # Construct the hostname used to generate the authentication token export AUTH_HOSTNAME="$CLUSTERID.dsql.$REGION.on.aws" # Generate authentication token export PGPASSWORD=$(aws dsql --region $REGION generate-db-connect-admin-auth-token --hostname $AUTH_HOSTNAME) # Specify the amzn-cluster-id connection option export PGOPTIONS="-c amzn-cluster-id=$CLUSTERID" # Connect using psql psql -d postgres -h $HOSTNAME -U admin
Solución de problemas con AWS PrivateLink
Problemas y soluciones comunes
En la siguiente tabla se muestran los problemas y las soluciones más comunes relacionados con AWS PrivateLink con Aurora DSQL.
| Problema | Causa posible | Solución |
|---|---|---|
|
Tiempo de espera de conexión |
El grupo de seguridad no está configurado correctamente |
Utilice Analizador de accesibilidad de Amazon VPC para asegurarse de que la configuración de red permite el tráfico en el puerto 5432. |
|
Error de resolución de DNS |
DNS privado no habilitado |
Compruebe que el punto de conexión de VPC de Amazon se ha creado con el DNS privado habilitado. |
|
Error de autenticación |
Credenciales incorrectas o token caducado |
Genere un nuevo token de autenticación y verifique el nombre de usuario. |
|
No se ha encontrado el nombre de servicio |
ID de clúster incorrecto |
Compruebe el ID del clúster y Región de AWS al obtener el nombre del servicio. |
Activos relacionados
Para obtener más información, consulte los siguientes recursos: