Post

AWS series XIII: Relational Database Service (RDS)

AWS series XIII: Relational Database Service (RDS)

Serie de artigos sobre Amazon Web Services.

GitHub watchers GitHub stars GitHub forks

Neste lab sobre Relational Database Service (RDS) aprenderemos alguns conceitos importantes na criação de serviços de DBaaS NoSQL:

  • Criação de instâncias RDS
  • Plataformas/ambientes disponíveis
  • Logging
  • Monitoramento

Criação da instância RDS

  1. Acessar o serviço RDS:

  2. Criar um novo database:

  3. Escolher MySQL como backend:

  4. Selecionar a camada gratuita, e configurar nome, usuário e senha para o banco:

  5. Parametrizaçao de storage:

  6. Se formos acessar desde a nossa máquina local, habilitar o acesso público ao banco:

  7. Revisar as configurações e confirmar a criação da instância RDS:

  8. Aguardar a correta criação da instância:

  9. Na descrição da instância, note-se o endpoint e a porta da mesma:

  10. Testemos a conectividade com a instância:

    1
    2
    3
    4
    
    $ telnet fiapdb.cpuzlc9blsa2.us-east-1.rds.amazonaws.com 3306         
    Trying 18.210.97.78...
    telnet: connect to address 18.210.97.78: Operation timed out
    telnet: Unable to connect to remote host
    
  11. Como vimos no passo anterior, a instância não está acessível na porta 3306. Precisamos criar um novo security group e liberar a porta. Para isso, acessar o serviço Virtual Private Cloud (VPC):

  12. Criar um novo security group:

  13. Liberar a porta 3306 desde anywhere:

  14. De volta no serviço RDS, vamos atualizar a instância com o novo security group:

  15. Nos ajustes de conetividade, incluir o novo security group:

  16. Aguardar a configuração ser aplicada na instância:

  17. Testar novamente a conetividade:

    1
    2
    3
    4
    5
    6
    
    $ telnet fiapdb.cpuzlc9blsa2.us-east-1.rds.amazonaws.com 3306
    Trying 18.210.97.78...
    Connected to ec2-18-210-97-78.compute-1.amazonaws.com.
    Escape character is '^]'.
    8.0.20a#Xm7w(?M:w{%Z-
                         /mysql_native_password
    

Testando o acesso ao banco

Pre-reqs

  • mysql (client)

Se não tiver os pre-reqs na máquina local pular para o teste em uma VM no EC2.

Teste local

  1. Usar o cliente mysql para acessar ao banco:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    
    $ mysql -h fiapdb.cpuzlc9blsa2.us-east-1.rds.amazonaws.com -u admin -p
    Enter password: 
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 26
    Server version: 8.0.20 Source distribution
    
    Copyright (c) 2000, 2021, Oracle and/or its affiliates.
    
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    mysql> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | performance_schema |
    +--------------------+
    3 rows in set (0.15 sec)
    

Teste em uma VM no EC2

Se tiver feito o deploy local pode pular esta seção.

  1. Criar uma VM com a imagem Amazon Linux

  2. Logar na VM

  3. Instalar o cliente mysql:

    1
    
     $ sudo yum install mariadb
    
  4. Usar o cliente mysql para acessar ao banco:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    
     $ mysql -h fiapdb.cpuzlc9blsa2.us-east-1.rds.amazonaws.com -u admin -p
     Enter password: 
     Welcome to the MySQL monitor.  Commands end with ; or \g.
     Your MySQL connection id is 26
     Server version: 8.0.20 Source distribution
    
     Copyright (c) 2000, 2021, Oracle and/or its affiliates.
    
     Oracle is a registered trademark of Oracle Corporation and/or its
     affiliates. Other names may be trademarks of their respective
     owners.
    
     Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
     mysql> show databases;
     +--------------------+
     | Database           |
     +--------------------+
     | information_schema |
     | mysql              |
     | performance_schema |
     +--------------------+
     3 rows in set (0.15 sec)
    

GitHub followers

This post is licensed under CC BY 4.0 by the author.