Tutorial: conectar uma instância do Amazon EC2 a um banco de dados do Amazon RDS - Amazon Elastic Compute Cloud

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:

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.

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, desde que a conta da AWS tenha menos de 12 meses e que seus recursos estejam configurados de acordo com os requisitos do 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 na página Preço sob demanda do Amazon EC2.

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.