Conexão a uma instância de BD usando psql
Você pode usar o cliente de PostgreSQL psql para se conectar à sua instância de BD por meio de uma conexão SSL (Secure Sockets Layer). O SSL criptografa conexões com sua instância de banco de dados, tornando os dados em trânsito mais seguros.
O SSL é ativado por padrão quando você cria uma instância de BD do RDS for PostgreSQL e não pode ser desativado depois que a instância é criada.
A ativação do SSL reduz o desempenho somente leitura e leitura/gravação de sua instância em cerca de 20%.
Pré-requisitos
- Um EIP foi vinculado à instância de BD de destino e as regras do grupo de segurança foram configuradas.
- Vincule um EIP à instância de BD de destino.
Para obter detalhes sobre como vincular um EIP, consulte Vinculação de um EIP.
- Obtenha o endereço IP de um dispositivo local.
- Configure regras de grupos de segurança.
Adicione o endereço IP obtido em 1.b e a porta da instância à regra de entrada do grupo de segurança.
Para obter detalhes sobre como configurar regras de grupo de segurança, consulte Configuração de regras de grupo de segurança.
- Execute o comando ping para fazer ping do EIP em 1.a.
- Vincule um EIP à instância de BD de destino.
- Você instalou um cliente de banco de dados para se conectar a instâncias de BD.
Para obter detalhes, consulte Como instalar o cliente de PostgreSQL?
Conexão SSL
- Faça logon no console de gerenciamento.
- Clique em no canto superior esquerdo e selecione uma região e um projeto.
- Clique em no canto superior esquerdo da página e escolha Databases > Relational Database Service.
- Clique no nome da instância de BD para ir para a página Basic Information.
- Clique em ao lado de SSL para fazer o download do certificado raiz ou do pacote de certificados.
- Importe o certificado raiz no ECS ou salve-o no dispositivo a ser conectado à instância de BD.
Para obter detalhes sobre como importar o certificado raiz para um ECS do Linux, consulte Como importar o certificado raiz para um sistema operacional Windows ou Linux?
Recomenda-se o TLS v1.2 ou mais recente. Versões anteriores ao TLS v1.2 têm riscos de segurança.
O algoritmo do protocolo recomendado é EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:EDH+aRSA+AESGCM:EDH+aDSS+AESGCM:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!SRP:!RC4. Usar outras opções tem riscos de segurança.
- Conecte-se à instância de BD do RDS. O sistema operacional Linux é usado como exemplo.
psql --no-readline -h <host> -p <port> "dbname=<database> user=<user> sslmode=verify-ca sslrootcert=<ca-file-directory>"
Tabela 1 Descrição do parâmetro Parâmetro
Descrição
<host>
EIP da instância de BD a ser conectado.
<port>
Porta do banco de dados em uso. O valor padrão é 5432. Para obter esse valor de parâmetro, vá para a página Basic Information da instância de BD. O número da porta pode ser encontrado no campo Database Port na área Connection Information.
<database>
Nome do banco de dados (o nome do banco de dados padrão é postgres).
<user>
Nome de usuário da conta do banco de dados do RDS. O administrador padrão é root.
<ca-file-directory>
Diretório do certificado de CA para a conexão SSL. O certificado deve ser armazenado no diretório onde o comando é executado.
sslmode
Modo de conexão SSL. Configure-o para verify-ca para usar uma CA para verificar se o serviço é confiável.
Insira a senha da conta do banco de dados se as seguintes informações forem exibidas:
Password:
Por exemplo, para se conectar ao banco de dados postgres por meio de uma conexão SSL como usuário root, execute o seguinte comando:
psql --no-readline -h 192.168.0.44 -p 5432 "dbname=postgres user=root sslmode=verify-ca sslrootcert=/root/ca.pem"
Password:
- Faça logon no banco de dados e verifique o resultado da conexão. A conexão SSL é estabelecida se informações semelhantes às seguintes forem exibidas:
SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off)
Operações de acompanhamento
Após efetuar logon na instância de BD, você pode criar ou migrar bancos de dados.