Como configuro um cluster de banco de dados Amazon Aurora provisionado para ser acessível ao público?

5 minuto de leitura
0

Eu tenho um cluster de banco de dados Amazon Aurora provisionado e quero configurá-lo para ser acessível ao público. Além disso, quero proteger meu cluster de banco de dados Aurora contra conexões externas. Como posso fazer isso?

Breve descrição

Para se conectar a um cluster de banco de dados Aurora de fora da Amazon Virtual Private Cloud (Amazon VPC), as instâncias no cluster devem atender aos seguintes requisitos:

  • A instância de banco de dados tem um endereço IP público.
  • A instância de banco de dados é executada em uma sub-rede acessível ao público.

Além de configurar sua instância de banco de dados para ser conectada de fora de uma VPC, você pode proteger as conexões usando o Transport Layer Security (TLS).

Resolução

Defina a configuração de acesso público da instância de banco de dados como Sim

A configuração de acesso público para uma instância de banco de dados do Amazon Relational Database Service (Amazon RDS) controla a atribuição de um endereço IP público à instância de banco de dados.

  • Se estiver definido como Não, a instância de banco de dados não terá um endereço IP público.
  • Se estiver definido como Sim, a instância de banco de dados terá endereços IP públicos e privados.

Para alterar a configuração de acesso público da instância de banco de dados para Sim, siga estas etapas:

  1. Abra o console do Amazon RDS.
  2. Escolha Bancos de dados no painel de navegação e, em seguida, escolha a instância de banco de dados.
  3. Escolha Modificar.
  4. Em Conectividade, estenda a seção Configuração adicional e escolha Acessível ao público.
  5. Escolha Continuar.
  6. Escolha Modificar instância de banco de dados

Observação: você não precisa escolher Aplicar imediatamente. Para obter mais informações sobre como Aplicar imediatamente pode afetar o tempo de inatividade, consulte Usar o parâmetro Aplicar imediatamente.

Execute uma instância de banco de dados em uma sub-rede pública

Uma sub-rede pública é uma sub-rede associada a uma tabela de rotas que tem uma rota para o gateway da Internet, normalmente a rota padrão, 0.0.0.0/0. Essa rota ativa as instâncias de banco de dados em uma sub-rede para se comunicar com recursos fora da VPC.

Para instâncias de banco de dados Aurora, você não pode escolher uma sub-rede específica. Em vez disso, escolha um grupo de sub-rede de banco de dados ao criar a instância.

Um grupo de sub-redes de banco de dados é uma coleção de sub-redes que pertencem a uma VPC. Quando cria o host subjacente, o Amazon RDS escolhe aleatoriamente uma sub-rede do grupo de sub-redes de banco de dados. Normalmente, uma VPC tem sub-redes públicas e privadas. Se o grupo de sub-redes de banco de dados contiver sub-redes públicas e privadas, inicie o host subjacente em uma sub-rede pública ou privada. Você não pode se conectar à instância de banco de dados de fora da VPC se o host subjacente for lançado em uma sub-rede privada.

Em vez disso, crie um grupo de sub-redes de banco de dados com sub-redes de configuração de rede semelhante. Por exemplo, crie um grupo de sub-redes de banco de dados para sub-redes públicas e um segundo grupo de sub-redes de banco de dados para sub-redes privadas. Para obter mais informações, consulte Trabalhar com uma instância de banco de dados em um grupo de sub-rede.

Siga estas etapas para garantir que a sub-rede usada pela sua instância de banco de dados tenha acesso à Internet:

  1. Verifique se sua VPC tem um gateway da Internet conectado a ela.
  2. Verifique se todas as sub-redes no grupo de sub-redes de banco de dados usam uma tabela de rotas com o gateway da Internet.
    • Se a sub-rede usar a tabela de rotas principal da VPC, adicione a rota para o gateway da Internet (o destino é 0.0.0.0/0).
    • Se necessário, crie uma tabela de rotas personalizada com rota para o gateway da Internet e associe-a à sub-rede.
  3. Adicione o endereço IP público de origem do qual você deseja se conectar à instância de banco de dados nas regras de entrada do grupo de segurança.
  4. Em Tipo de regra, escolha MySQL/Aurora ou PostgreSQL, dependendo do tipo de mecanismo.
  5. Em Origem, insira o intervalo CIDR manualmente ou escolha Meu IP para se conectar à instância de banco de dados a partir da mesma estação de trabalho.

Proteja o cluster de banco de dados de conexões externas à VPC

Você pode usar o TLS para criptografar conexões que vêm de fora de uma VPC porque a transferência de dados acontece pela Internet. Para confirmar que você está usando o mais alto nível de segurança, use o parâmetro ssl-ca para passar o certificado CA e, em seguida, ative a validação do nome do host. Use os comandos de exemplo a seguir para conexões TLS, dependendo da versão do Aurora que você está usando.

Edição 5.6 e posterior do Amazon Aurora, compatível com MySQL:

mysql -h test-aurora-56.cluster-xxxxxxxxxxxx.us-east-1.rds.amazonaws.com -u master_user --ssl-ca=rds-combined-ca-bundle.pem --ssl-verify-server-cert

Compatível com Aurora MySQL 5.7 e versões posteriores:

mysql -h test-aurora-57.cluster-xxxxxxxxxxxx.us-east-1.rds.amazonaws.com -u master_user --ssl-ca=rds-combined-ca-bundle.pem --ssl-mode=VERIFY_IDENTITY

Edição compatível com Amazon Aurora PostgreSQL:

psql -h test-aurora-pg.cluster-xxxxxxxxxxxx.us-east-1.rds.amazonaws.com -p 5432 "dbname=postgres user=master_user sslrootcert=rds-combined-ca-bundle.pem sslmode=verify-full"

Observação: você também pode aplicar TLS para clusters de banco de dados. Para o Aurora MySQL, você deve aplicar o TLS no nível do usuário do banco de dados. Para compatibilidade com o Aurora PostgreSQL, defina o parâmetro rds.force_ssl como 1.


Informações relacionadas

Usar o SSL/TLS com clusters de banco de dados Aurora MySQL

Proteger os dados do Aurora PostgreSQL com SSL

Como posso me conectar à minha instância de banco de dados Amazon RDS usando um bastion host da minha máquina Linux/macOS?

Como posso configurar endpoints privados e públicos do Aurora no console do Amazon RDS?

AWS OFICIAL
AWS OFICIALAtualizada há um ano