Conexión a su clúster de bases de datos desde la línea de comandos: AWS CLI y psql Client
Puede conectarse desde la línea de comando a un clúster de bases de datos de Aurora PostgreSQL con AWS CLI y la herramienta de línea de comandos psql como se describe a continuación.
Requisitos previos
A continuación, se muestran requisitos previos para conectarse al clúster de de base de datos mediante la autenticación de IAM:
nota
Para obtener información acerca de cómo conectarse a la base de datos mediante pgAdmin con la autenticación IAM, consulte la entrada de blog Use IAM authentication to connect with pgAdmin to Amazon Aurora PostgreSQL or Amazon RDS for PostgreSQL (Usar la autenticación de IAM para conectarse con pgAdmin a Amazon Aurora PostgreSQL o Amazon RDS for PostgreSQL)
Generación de un token de autenticación de IAM
El token de autenticación consta de varios cientos de caracteres por que puede ser difícil de tratar en la línea de comando. Una forma de solucionar esto es guardar el token en una variable de entorno y, a continuación, usar esa variable al conectarse. En el siguiente ejemplo se muestra cómo usar la AWS CLI para obtener un token de autenticación firmado mediante el comando generate-db-auth-token
y almacenarlo en una variable de entorno PGPASSWORD
.
export RDSHOST="
mypostgres-cluster.cluster-123456789012.us-west-2.rds.amazonaws.com
" export PGPASSWORD="$(aws rds generate-db-auth-token --hostname $RDSHOST --port5432
--regionus-west-2
--usernamejane_doe
)"
En el ejemplo, los parámetros para el comando generate-db-auth-token
son los siguientes:
-
--hostname
: el nombre de host del clúster (punto de enlace del clúster) de base de datos a los que desea obtener acceso. -
--port
: el número de puerto que se utiliza para conectarse al clúster de bases de datos. -
--region
: la región de AWS en la que se ejecuta el clúster de bases de datos -
--username
: la cuenta de base de datos a la que desea acceder.
Los primeros caracteres del token generado tienen un aspecto similar al siguiente.
mypostgres-cluster.cluster-123456789012.us-west-2.rds.amazonaws.com:5432/?Action=connect&DBUser=jane_doe&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Expires=900...
nota
No puede utilizar un registro DNS personalizado de Route 53 ni un punto de conexión personalizado de Aurora en lugar del punto de conexión de el clúster de base de datos para generar el token de autenticación.
Conexión a un clúster de Aurora PostgreSQL
El formato general para usar psql para conectarse se muestra a continuación.
psql "host=
hostName
port=portNumber
sslmode=verify-full sslrootcert=full_path_to_ssl_certificate
dbname=DBName
user=userName
password=authToken
"
Los parámetros son los siguientes:
-
host
: el nombre de host del clúster (punto de enlace del clúster) de base de datos a los que desea obtener acceso. -
port
: el número de puerto que se utiliza para conectarse al clúster de bases de datos. -
sslmode
: el modo de SSL que se debe utilizar.Cuando se utiliza
sslmode=verify-full
, la conexión SSL verifica el punto de conexión del clúster de bases de datos con respecto al punto de enlace del certificado SSL. -
sslrootcert
: la ruta completa al archivo de certificado SSL que contiene la clave públicaPara obtener más información, consulte Protección de los datos de Aurora PostgreSQL con SSL/TLS.
Para descargar un certificado SSL, consulte Uso de SSL/TLS para cifrar una conexión a un clúster de base de datos.
-
dbname
: la base de datos a la que desea obtener acceso. -
user
: la cuenta de base de datos a la que desea acceder. -
password
: un token de autenticación de IAM firmado.
nota
No puede utilizar un registro DNS personalizado de Route 53 ni un punto de conexión personalizado de Aurora en lugar del punto de conexión de el clúster de base de datos para generar el token de autenticación.
El siguiente ejemplo muestra el uso de psql para conectarse. En el ejemplo, psql utiliza la variable de entorno RDSHOST
para el host y la variable de entorno PGPASSWORD
para el token generado. Además, /sample_dir/
es la ruta completa al archivo de certificado SSL que contiene la clave pública.
export RDSHOST="
mypostgres-cluster.cluster-123456789012.us-west-2.rds.amazonaws.com
" export PGPASSWORD="$(aws rds generate-db-auth-token --hostname $RDSHOST --port5432
--regionus-west-2
--usernamejane_doe
)" psql "host=$RDSHOST port=5432
sslmode=verify-full sslrootcert=/sample_dir/
global-bundle.pem dbname=DBName
user=jane_doe
password=$PGPASSWORD"
Si desea conectarse a un clúster de base de datos a través de un proxy, consulte Conexión a un proxy mediante autenticación de IAM.