Como criar um banco Postgres na AWS (Amazon Web Services)

Como criar um banco Postgres na AWS (Amazon Web Services)

Inscreva-se

Abordamos dados e análises dentro das empresas.

Receba novos artigos por e-mail


Compartilhe

Esse artigo é parte da nossa série para ajudar você a dar os primeiros passos para analisar dados em nuvem. Esperamos que você já tenha lido o nosso artigo anterior, onde ensinamos como criar uma conta na AWS.

RDS versus EC2

Como falamos anteriormente, a AWS possui uma opção de servidor própria para bancos de dados chamada Relational Database Service (RDS). Criar um banco através do RDS ao invés de primeiro criar um servidor (EC2) e depois instalar um banco de dados nele oferece várias vantagens, entre elas:

  • Não é necessário instalar nada! O banco de dados já vem pré-configurado
  • A AWS desenvolveu várias funções específicas para bancos de dados, como a criação de réplicas de leitura com apenas alguns cliques e atualização automática de versão
  • Métricas específicas para monitorar bancos de dados como espaço utilizado, latência e performance
  • Backups e restauração de backups de maneira super-rápida

Postgresql (ou PG ou Postgres)

Nesse artigo, iremos ensinar você a criar um banco de dados Postgresql. O Postgres é um banco de dados relacional open-source, com uma comunidade de desenvolvimento (e tutoriais de suporte) muito ativa, que está continuamente se reinventando e trás várias extensões que podem ser facilmente instaladas.

Além dessas vantagens, o Postgres é o banco ideal para projetos de análise de dados de pequeno e médio porte (small & medium data), por suportar múltiplas inserções de dados (algo comum quando estamos integrando dados de várias fontes) com pouco impacto na performance dos dados que estão sendo consultados, além de ser eficiente no cruzamento de tabelas (joins).

Até pouco tempo, o Postgres suportava operações que o MySQL (um outro banco de dados popular e comumente usado para Data Warehouses e Data Lakes) não suportava, como por exemplo full joins, window functions e common table expressions (CTEs) – todos vitais para analisar dados de forma eficiente.

Criando um banco Postgres na AWS

Para criar o seu banco Postgres na AWS, faça login na sua conta e siga os passos abaixo:

1) Escolha a sua região. No lado direito do menu superior, você tem a opção de escolher a região onde irá criar o banco. As regiões da AWS indicam em qual data center será criado o seu banco de dados e os preços por hora desse banco irão variar conforme a região. Criar um banco de dados em São Paulo, por exemplo, é bem mais caro do que criar na Virgínia, apesar de oferecer uma latência melhor. Como esse artigo é dedicado a bancos de dados analíticos (Data Warehouses e Data Lakes), achamos aceitável uma latência de alguns micro-segundos e iremos criar na região US East 1 (N. Virgínia)

2) Selecione o serviço RDS clicando em (1) “Services” à esquerda da barra superior, depois digite (2) “RDS” na barra de busca e (3) selecione o serviço

3) Na tela principal do RDS, selecione “Create database” conforme imagem abaixo

4) Agora você estará na tela de configuração do seu banco de dados. Na primeira opção, você deve selecionar “Standard Create”, que será o método que usaremos nesse artigo

5) Logo abaixo, você deverá selecionar qual o tipo de banco de dados deseja criar. Selecione “PostgreSQL”

6) Na próxima seção, você pode escolher um template de criação. Como falamos anteriormente, a AWS oferece um benefício para novos membros chamada free-tier, que nos ajuda a economizar bastante durante os primeiros meses. Vamos selecionar essa opção conforme imagem abaixo

7) Na seção abaixo, iremos configurar alguns detalhes do banco de dados, entre eles o identificador do servidor, o nome do usuário master e a sua senha. O seu preenchimento é algo bem simples, conforme figura abaixo. Preencha essas informações e não se esqueça de anotar a senha do usuário master, já que essa informação não pode ser recuperada posteriormente.

8) A próxima seção já veio preenchida conforme o template de free-tier que escolhemos, podemos mantê-la conforme imagem abaixo

9) A seção de armazenamento (storage) também já deve estar preenchida conforme o template free-tier e não necessita modificação

10) O mesmo vale para a seção de disponibilidade e durabilidade (availability & durability), que podemos deixar conforme template

11) Na seção de conectividade, você pode escolher a VPC onde irá criar o seu banco de dados, ou mesmo criar uma nova. Caso a sua conta seja recente, basta deixar a VPC que está selecionada. Ainda nessa seção, é importante alterar alguns detalhes para que o seu banco seja acessado de máquinas fora da sua rede, como por exemplo as suas ferramentas de visualização e análise (não se preocupe, iremos fazer um bloqueio de firewall na sua VPC mais para frente). Clique em configurações adicionais de conectividade (Additional connectivity configuration) conforme imagem abaixo

12) Nas configurações adicionais, você deverá selecionar se gostaria que o seu banco de dados seja acessado publicamente (outra vez, não se preocupe com a nomenclatura, iremos colocar outras regras para impedir acesso público mais para a frente). Selecione que sim, conforme imagem abaixo. Para simplificar, iremos também manter o mesmo security group da VPC onde estamos criando.

13) Após essa configuração, encontre a seção de “Additional configuration” que estará logo no final da página conforme imagem abaixo

14) Dê um nome inicial para o seu banco de dados, por exemplo, “kondado”

15) Após isso, basta rolar até o final da página e clicar em “Create database”

16) Após alguns instantes, você será redirecionado para a página que lista os seus bancos de dados e poderá ver que o seu novo banco está sendo criado. Enquanto esse processo estiver rodando, vamos configurar as regras de segurança do seu banco de dados clicando sobre ele conforme imagem abaixo

17) Na página do seu banco, (1) encontre a seção de Conectivity & security conforme imagem abaixo e (2) clique no nome do seu grupo de segurança, conforme imagem abaixo

18) Na tela do grupo de segurança, vamos colocar algumas regras sobre quem pode acessar o seu banco: (1) Localize a aba “Inbound” e depois (2) clique em “Edit” conforme imagem

19) Conforme você pode constatar, o seu banco está aberto para ser acessado apenas de máquinas pertencentes à mesma VPC. Caso queira manter essa configuração, você pode pular diretamente para o passo 25.

20) Para retirar a regra de acesso original, clique no “X” à direita da regra de “All traffic”

21) Adicione novas regras clicando em “Add Rule” conforme figura. Uma nova regra deve ser adicionada para cada endereço de IP que deseja que acesse o seu banco

22) Para adicionar uma nova regra, você deve selecionar a porta correta (5432 no caso do Postgres) na coluna “Type” conforme imagem abaixo

23) Regras importantes de serem colocadas são o seu próprio endereço de IP (para permitir acessos com PowerBI por exemplo) e dos servidores da Kondado que podem ser encontrados clicando aqui, conforme imagem abaixo

24) Após você colocar todos os endereços que desejar clique em “Salvar”

25) Volte para a página inicial do RDS (conforme passo 2) e selecione o seu banco de dados conforme passo 16

26) O seu banco está criado! Na página de “Connectivity & security”, você encontrará o endereço (host) do seu banco de dados. Nome de usuário, senha e nome do banco de dados foram os preenchidos nos passos 7 e 14

Adicionar o novo banco na plataforma da Kondado

Clique aqui para saber como adicionar o banco que você acabou de criar como destino na plataforma da Kondado

Para inserir o seu destino na Kondado, atente-se às informações abaixo:

  • O endereço do seu banco (host) pode ser encontrado na página “Connectivity & security” conforme imagem acima (passo 26);
  • Os campos de usuário e senha são as informações inseridas no passo 7 deste tutorial (“Master Username” e “Master Password”);
  • O campo de banco de dados deve ser preenchido com a informação inserida no campo “Initial Database Name” no passo 14 deste tutorial.

BIG DATA

Caso o Postgres não atenda as suas necessidades e precise de um banco de big data na AWS, inscreva-se na nossa newsletter ao lado para receber em primeira mão o nosso artigo de como criar um banco Amazon Redshift

Publicado em 2019-10-29