conecta-se à instância db na sub-rede VPC privada com o MySQL Workbench

2

Como eu me conecto a uma instância AWS (ou outra) em uma sub-rede privada em um VPC usando o MySQL Workbench?

Meu arranjo é um típico Cenário 2 do aws :

Eu posso:
- SSH em minha instância NAT localizada na minha sub-rede pública VPC
- SSH da minha instância NAT na instância db na minha sub-rede privada VPC
- conecte-se ao MySQL como root user uma vez conectado à minha instância de db privada

Qual é o procedimento correto para configurar o sistema para se conectar remotamente via workbench MySQL?

    
por goredwards 17.03.2015 / 18:58

1 resposta

3

Conecte-se ao banco de dados na instância de sub-rede privada via NAT com o MySQL Workbench

Crie um usuário do mysql que possa se conectar remotamente:

  • por padrão, o usuário root não pode se conectar remotamente
  • crie um usuário com permissão para se conectar a partir do seu endereço IP (ou use%, o que significa qualquer endereço)
    - conecte-se à instância db na sub-rede privada via SSH
    - faça o login no mysql como root e digite a senha quando solicitado:
    mysql -h localhost -u root -p
    - execute a seguinte consulta para criar um usuário
    CREATE USER 'username'@'XX.XX.XX.XX' IDENTIFIED BY 'mypassword';
    - verifique se o usuário que você adicionou tem todos os privilégios necessários:
    GRANT ALL PRIVILEGES ON *.* TO 'username'@'IP' IDENTIFIED BY 'password';

  • verifique se os usuários que você está adicionando não são duplicados em um nome de usuário ou senha. - veja a tabela user no terminal com a seguinte consulta mysql:
    select * from mysql.user\G;
    - é uma boa ideia excluir o usuário anônimo das colisões de segurança e possíveis usuários: link

  • quando a consulta de execução completa: FLUSH PRIVILEGES;

Configure seus grupos de segurança para permitir a conexão remota do MySQL através da instância do NAT:

  • com o WorkBench, você está encapsulando o SSH até o NAT e, em seguida, conectando-se através da porta 3306 à instância do db

  • verifique se o IP do qual você está se conectando tem permissão para se conectar à porta 3306 no grupo de segurança da AWS - a instância NAT deve ter SSH (22) entrada do seu endereço IP
    - a instância NAT deve ter o MySQL (3306) em direção ao intervalo de endereços VPC (por exemplo, 10.0.0.0/16)
    - a instância db na sub-rede privada VPC deve permitir entrada MySQL (3306) do intervalo de IP privado da VPC (por exemplo, 10.0.0.0/16)

Configure o Workbench para se conectar à sua instância de db através da instância do NAT:

  • abre o WorkBench
  • crie uma nova conexão e dê um nome a ela (por exemplo, my_vpc_db1)
    - escolha 'TCP / IP padrão sobre SSH' como método de conexão
    - O host SSH é o IP público da entrada NAT, por ex. XX.XX.XX.XX
    - Nome de usuário do SSH = ec2-user
    - A senha do SSH está em branco (desmarque isso se necessário)
    - SSH Key File = navegue até a localização do arquivo key_pair.pem
    - MySQL Hostname = endereço IP privado da instância db no VPC
    - Porta do Servidor MySQL = 3306
    - username = o nome que você acabou de adicionar no comando CREATE USER
    - password = acabou de ser adicionado em CREATE USER
por 17.03.2015 / 18:58