Como uso o Amazon RDS Proxy para me conectar à minha instância de banco de dados Amazon RDS para MySQL ou ao cluster de banco de dados do Aurora compatível com MySQL?

3 minuto de leitura
0

Quero usar o proxy do Amazon Relational Database Service (Amazon RDS) para me conectar à minha instância de banco de dados Amazon RDS para MySQL ou ao cluster de banco de dados com uma edição do Amazon Aurora compatível com MySQL.

Resolução

Pré-requisito: seu proxy deve estar na mesma nuvem privada virtual (VPC) do banco de dados. É possível tornar o banco de dados acessível publicamente, mas o proxy não pode ser acessível publicamente.

Crie o proxy e conecte-o à sua instância de banco de dados

Execute as seguintes etapas:

  1. Crie credenciais de banco de dados no AWS Secrets Manager.
    Observação: ao criar o segredo, use o mesmo nome de usuário e senha do seu banco de dados.

  2. (Opcional) Crie uma política do AWS Identity and Access Management (IAM) e um perfil do IAM.
    Observação: o Amazon RDS Proxy cria automaticamente um perfil do IAM. No entanto, é possível criar seu próprio perfil do IAM.

  3. Crie um proxy.

  4. Execute o comando a seguir para verificar se o endpoint do proxy está acessível:

    nc -zv proxy_endpoint 3306

    Observação: substitua proxy_endpoint pelo endereço do seu servidor de proxy. Execute o comando anterior somente em uma máquina Amazon Elastic Compute Cloud (Amazon EC2) que esteja na mesma VPC do proxy. O comando não é executado em máquinas locais.
    Exemplo de saída:

    Connection to test-proxy.proxy-#############.eu-west-1.rds.amazonaws.com 3306 port [tcp/mysql] succeeded
  5. Execute o comando a seguir para usar o proxy para se conectar à instância de banco de dados do RDS:

    mysql -h proxy_endpoint -u username -p

    Observação: substitua proxy_endpoint pelo endereço do seu servidor de proxy.
    Exemplo de saída:

    Server version: 5.7.28-log
    
    Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
    
    Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    mysql>

(opcional) Use o proxy com uma conexão TLS/SSL

Execute as seguintes etapas:

  1. Ao criar o proxy, ative a opção Require Transport Layer Security. Também é possível modificar um proxy existente.
    Observação: quando você usa um protocolo TLS/SSL, o proxy rejeita conexões de texto sem formatação.

  2. Baixe o arquivo Amazon Root CA 1 trust store.pem do Amazon Trust Services:

    wget https://www.amazontrust.com/repository/AmazonRootCA1.pem
  3. Execute o comando a seguir para usar o TLS/SSL para se conectar à instância de banco de dados:

    mysql -h test-proxy.proxy-#############.eu-west-1.rds.amazonaws.com -u admin --ssl-mode=REQUIRED --ssl-ca=AmazonRootCA1.pem -p

    Ou você pode executar o seguinte comando com o modo TLS/SSL VERIFY_IDENTITY para se conectar à instância de banco de dados:

    mysql -h test-proxy.proxy-#############.eu-west-1.rds.amazonaws.com -u admin --ssl-mode=VERIFY_IDENTITY --ssl-ca=AmazonRootCA1.pem -p

    Observação: o proxy usa certificados curinga. Se você usar o cliente MySQL para se conectar ao modo TLS/SSL VERIFY_IDENTITY, deverá usar o comando mysql compatível com MySQL 8.0.
    Exemplo de saída:

    Welcome to the MySQL monitor.  Commands end with ; or \g.Your MySQL connection id is 12659040
    Server version: 5.7.28-log
    Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
    Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

Informações relacionadas

Solução de problemas do RDS Proxy

Amazon RDS Proxy