Tutorial: conectar uma instância do Amazon EC2 a um banco de dados do Amazon RDS
Objetivo do tutorial
O objetivo deste tutorial é aprender a configurar a conexão entre uma instância do Amazon EC2 e um banco de dados do Amazon RDS usando o AWS Management Console.
Há diferentes opções para configurar a conexão. Neste tutorial, vamos explorar estas três opções:
-
Opção 1: conectar automaticamente uma instância ao banco de dados do RDS usando o console do EC2
Use o recurso de conexão automática do console do EC2 para configurar automaticamente a conexão entre a instância do EC2 e o banco de dados do RDS para permitir o tráfego entre a instância do EC2 e o banco de dados do RDS.
-
Opção 2: conectar automaticamente uma instância a um banco de dados do RDS usando o console do RDS
Use o recurso de conexão automática do console do RDS para configurar automaticamente a conexão entre a instância do EC2 e o banco de dados do RDS para permitir o tráfego entre a instância do EC2 e o banco de dados do RDS.
-
Opção 3: conectar manualmente uma instância a um banco de dados do RDS criando grupos de segurança
Configure a conexão entre a instância do EC2 e o banco de dados do RDS configurando e atribuindo manualmente os grupos de segurança para reproduzir a configuração criada automaticamente pelo recurso de conexão automática na opção 1 e na opção 2.
Contexto
Como contexto do motivo para configurar uma conexão entre a instância do EC2 e um banco de dados do RDS, vamos considerar o seguinte cenário: seu site apresenta um formulário para os usuários preencherem. É necessário captar os dados do formulário em um banco de dados. Você pode hospedar o site em uma instância do EC2 que foi configurada como servidor Web e captar os dados do formulário em um banco de dados do RDS. A instância do EC2 e o banco de dados do RDS precisam estar conectados entre si para que os dados do formulário possam sair da instância do EC2 para o banco de dados do RDS. Este tutorial explica como configurar a conexão. Este é apenas um exemplo de um caso de uso para conectar uma instância do EC2 e um banco de dados do RDS.
Arquitetura
O diagrama a seguir mostra os recursos criados e a configuração arquitetônica resultante da conclusão de todas as etapas deste tutorial.
O diagrama ilustra os seguintes recursos que você criará:
-
Você criará uma instância do EC2 e um banco de dados do RDS na mesma Região da AWS, VPC e zona de disponibilidade.
-
Você criará a instância do EC2 em uma sub-rede pública.
-
Você criará o banco de dados do RDS em uma sub-rede privada.
Ao usar o console do RDS para criar o banco de dados do RDS e conectar automaticamente a instância do EC2, a VPC, o grupo de sub-redes de banco de dados e as configurações de acesso público para o banco de dados são selecionados automaticamente. O banco de dados do RDS é criado automaticamente em uma sub-rede privada na mesma VPC da instância do EC2.
-
Os usuários da Internet podem se conectar à instância do EC2 usando SSH ou HTTP/HTTPS por um gateway da Internet.
-
Os usuários da Internet não podem se conectar diretamente ao banco de dados do RDS, apenas a instância do EC2 está conectada ao banco de dados do RDS.
-
Quando você usa o recurso de conexão automática para permitir o tráfego entre a instância do EC2 e o banco de dados do RDS, estes grupos de segurança são automaticamente criados e adicionados:
-
O grupo de segurança ec2-rds-
x
é criado e adicionado à instância do EC2. Ele tem uma regra de saída que referencia o grupo de segurança rds-ec2-x
como destino. Isso permite que o tráfego da instância do EC2 atinja o banco de dados do RDS com o grupo de segurança rds-ec2-x
. -
O grupo de segurança rds-ec2-
x
é criado e adicionado ao banco de dados do RDS. Ele tem uma regra de entrada que referencia o grupo de segurança ec2-rds-x
como origem. Isso permite que o tráfego da instância do EC2 com o grupo de segurança ec2-rds-x
atinja o banco de dados do RDS.
Ao usar grupos de segurança separados (um para a instância do EC2 e outro para o banco de dados do RDS), você tem mais controle sobre a segurança da instância e do banco de dados. Se você usasse o mesmo grupo de segurança na instância e no banco de dados e depois modificasse o grupo de segurança para se adequar, digamos, somente ao banco de dados, a modificação afetaria tanto a instância como o banco de dados. Em outras palavras, se usasse um grupo de segurança, você poderia modificar involuntariamente a segurança de um recurso (instância ou banco de dados) porque esqueceu que o grupo de segurança estava anexado a ele.
Os grupos de segurança criados automaticamente também respeitam o privilégio mínimo, pois permitem somente a conexão mútua para essa workload na porta do banco de dados, criando um par de grupos de segurança específico da workload.
-
Considerações
Considere o seguinte ao concluir as tarefas deste tutorial:
-
Dois consoles: você usará estes dois consoles neste tutorial:
-
Console do Amazon EC2: você usará o console do EC2 para iniciar instâncias, conectar automaticamente uma instância do EC2 a um banco de dados do RDS e para a opção manual de configurar a conexão criando os grupos de segurança.
-
Console do Amazon RDS: você usará o console do RDS para criar um banco de dados do RDS e conectar automaticamente uma instância do EC2 a um banco de dados do RDS.
-
-
Uma VPC: para usar o recurso de conexão automática, a instância do EC2 e o banco de dados do RDS devem estar na mesma VPC.
Se você configurasse manualmente a conexão entre a instância do EC2 e o banco de dados do RDS, poderia iniciar a instância do EC2 em uma VPC e o banco de dados do RDS em outra VPC, mas precisaria definir uma configuração adicional de encaminhamento e VPC. Este cenário não é abordado neste tutorial.
-
Uma Região da AWS: a instância do EC2 e o banco de dados do RDS devem estar localizados na mesma região.
-
Dois grupos de segurança: a conectividade entre a instância do EC2 e o banco de dados do RDS é configurada por dois grupos de segurança, um grupo de segurança para a instância do EC2 e um grupo de segurança para o banco de dados do RDS.
Quando você usa o recurso de conexão automática no console do EC2 ou no console do RDS para configurar a conectividade (opção 1 e opção 2 deste tutorial), os grupos de segurança são criados automaticamente e atribuídos à instância do EC2 e ao banco de dados do RDS.
Se você não usar o recurso de conexão automática, será necessário criar e atribuir os grupos de segurança manualmente. Faça isso na opção 3 deste tutorial.
É hora de concluir o tutorial
30 minutos
Você pode concluir o tutorial inteiro de uma só vez ou pode realizar uma tarefa por vez.
Custos
Ao concluir este tutorial, você poderá incorrer em custos para os recursos da AWS criados.
É possível usar o Amazon EC2 no nível gratuito
Se sua instância do EC2 e o banco de dados do RDS estiverem em zonas de disponibilidade diferentes, serão aplicadas taxas de transferências de dados. Para evitar que essas taxas estejam aplicadas, a instância do EC2 e o banco de dados do RDS devem estar na mesma zona de disponibilidade. Para obter informações, consulte a seção Transferência de dados
Para evitar custos após a conclusão do tutorial, exclua os recursos, caso eles não sejam mais necessários. Para saber as etapas para excluir os recursos, consulte Tarefa 4 (opcional): limpar.