Como posso me conectar a uma instância privada de banco de dados do Amazon RDS de uma máquina local usando uma instância do Amazon EC2 como bastion host?

Última atualização: 2020-08-20

Como posso me conectar a uma instância de banco de dados privada do Amazon Relational Database Service (Amazon RDS) em uma máquina local usando uma instância do Amazon Elastic Compute Cloud (Amazon EC2) como um host bastion (salto)?

Descrição breve

Para se conectar a uma instância de banco de dados privada do RDS em uma máquina local usando uma instância do EC2 como um servidor de salto, siga estas etapas:

  1. Execute e configure sua instância do EC2 e defina a configuração de rede da instância.
  2. Configure os grupos de segurança da instância de banco de dados do RDS.
  3. Conecte-se à instância de banco de dados do RDS via sua máquina local.

Importante: para conectar a uma instância de banco de dados privada do Amazon RDS ou do Amazon Aurora, é melhor usar a VPN ou o AWS Direct Connect. Se você não puder usar a VPN ou o Direct Connect, use um host bastion. O exemplo de configuração a seguir restringe o acesso usando grupos de segurança, mas você também pode restringir a lista de controle de acesso à rede (ACL da rede) das sub-redes para tornar a conexão mais segura. Você também pode restringir o escopo da rota do gateway da Internet para usar um intervalo menor em vez de 0.0.0.0/0. Por exemplo, você pode adicionar somente o intervalo CIDR necessário na tabela de roteamento para o destino ao adicionar o gateway da Internet. Para obter mais informações, consulte Exemplo de opções de roteamento.

Resolução

O seguinte exemplo de configuração destina-se a uma instância de banco de dados MySQL do RDS que está em uma Amazon Virtual Private Cloud (Amazon VPC) e tem grupos de segurança configurados para uma instância do EC2.

Executar e configurar a instância do EC2

  1. Abra o console do Amazon EC2 e escolha Launch instance (Executar instância).
  2. Selecione uma Imagem de máquina da Amazon (AMI).
  3. Escolha um tipo de instância e selecione Next: Configure Instance Details (Próximo: Configurar detalhes da instância).
  4. Para Network (Rede), escolha a VPC usada pela instância de banco de dados do RDS.
  5. Para Subnet (Sub-rede), selecione a sub-rede que tem um gateway da Internet em sua tabela de roteamento. Se você ainda não tiver um gateway da Internet, poderá adicioná-lo à sub-rede depois que a instância do EC2 for criada.
  6. Escolha Next: Add Storage (Próximo: Adicionar armazenamento) e modifique o armazenamento conforme necessário.
  7. Escolha Next: Add Tags (Próximo: Adicionar etiquetas) e adicione etiquetas conforme necessário.
  8. Escolha Next: Configure Security Group (Próximo: Configurar grupo de segurança), escolha Add Rule (Adicionar regra) e insira o seguinte:
    Type (Tipo): Regra TCP personalizada
    Protocol (Protocolo): TCP
    Port Range (Intervalo de portas): 22
    Source (Origem): insira o endereço IP da sua máquina local. Por padrão, o endereço IP de origem está aberto a todos. Porém, você pode restringir o acesso somente ao endereço IP público local.
  9. Selecione Review and Launch (Revisar e iniciar).
  10. Escolha Launch (Iniciar).

Configurar os grupos de segurança da instância de banco de dados do RDS

  1. Abra o console do Amazon RDS e escolha Databases (Bancos de dados) no painel de navegação.
  2. Escolha o nome da instância de banco de dados do RDS. Ou crie uma instância de banco de dados do RDS, se você ainda não tiver uma.
  3. Escolha a aba Connectivity & security (Conectividade e segurança).
  4. Na seção Security (Segurança), escolha o link em VPC security groups (Grupos de segurança da VPC).
  5. Selecione o grupo de segurança, escolha Actions (Ações) e depois Edit inbound rules (Editar regras de entrada).
  6. Escolha Add rule (Adicionar regra) e insira o seguinte:
    Type (Tipo): Regra TCP personalizada
    Protocol (Protocolo): TCP
    Port Range (Intervalo de portas): insira a porta da instância de banco de dados do RDS
    Source (Origem): insira o endereço IP privado da instância do EC2
  7. Selecione Save (Salvar).

Essa configuração para o grupo de segurança permite o tráfego do endereço IP privado da instância do EC2. Se a instância do EC2 e a instância de banco de dados do RDS usarem a mesma VPC, não será necessário modificar a tabela de rotas usada pela instância de banco de dados do RDS. Se a VPC for diferente, crie uma conexão de emparelhamento da VPC para permitir conexões entre essas VPCs.

Conecte-se à instância de banco de dados do RDS pela sua máquina local

Dependendo do cliente usado, as etapas para se conectar à instância de banco de dados do RDS podem variar. Para obter mais informações, consulte Conectar-se a uma instância de banco de dados do Amazon RDS. Se você usa o MySQL, uma prática recomendada é usar o SSL para criptografar a conexão entre a aplicação cliente e o Amazon RDS.

O exemplo a seguir usa o cliente MySQL Workbench para se conectar ao bastion host:

  1. Inicie uma nova conexão e selecione Standard TCP/IP over SSH (TCP/IP padrão sobre SSH) para o Connection Method (Método de conexão).
  2. Insira os seguintes detalhes sobre a instância do EC2 para as configurações de SSH:
    SSH Hostname (Nome do host SSH): insira o nome de DNS público da instância do EC2.
    SSH Username: (Nome de usuário SSH): insira o nome de usuário para sua instância do EC2. Por exemplo, “ec2-user” é o nome de usuário para máquinas Linux do EC2.
    SSH Key File (Arquivo de chave SSH): selecione a chave privada que foi usada quando a instância do EC2 foi criada.
  3. Insira os seguintes detalhes para as configurações da instância MySQL:
    MySQL Hostname (Nome do host MySQL): insira o endpoint da instância de banco de dados do RDS
    MySQL Server port (Porta do MySQL Server): insira 3306 (ou a porta personalizada que você usa).
    Username (Nome do usuário): insira o nome de usuário mestre da instância de banco de dados do RDS.
    Password (Senha): insira a senha mestre da instância de banco de dados do RDS.
  4. Escolha Test Connection (Testar conexão).
  5. Após a conexão bem-sucedida, insira um nome de conexão e salve-a.

Este artigo ajudou?


Precisa de ajuda com faturamento ou suporte técnico?