Amazon RDS para MySQL

Como criptografar o tráfego de rede

O Looker recomenda criptografar o tráfego de rede entre o aplicativo Looker e seu banco de dados. Considere uma das opções descritas na página de documentação Ativar o acesso seguro a banco de dados.

Se você tiver interesse em usar a criptografia SSL, consulte a documentação do MySQL RDS.

Opções

Por motivos de desempenho, é comum usar bancos de dados de réplica somente leitura, também chamados de réplicas de leitura, com o Looker. Isso libera o banco de dados de produção para executar a função principal sem nenhuma consulta que possa diminuir a velocidade dele.

Neste documento, descrevemos como fazer o seguinte:

  • Modificar um banco de dados de réplica atual para trabalhar com o Looker
  • Criar um novo banco de dados de réplica de leitura e configurá-lo para funcionar com o Looker

Como modificar uma réplica

Usuários e segurança

Mude <some_password_here> para uma senha exclusiva e segura:

CREATE USER looker;
SET PASSWORD FOR looker = PASSWORD ('<some_password_here>');
GRANT SELECT ON database_name.* TO 'looker'@'%';

RDS e tabelas temporárias

As réplicas de leitura do RDS, por padrão, têm uma sinalização somente leitura ativada que impede que o Looker grave em tabelas temporárias. O Looker nunca altera os dados existentes, mas o MySQL ainda requer acesso de gravação para usar as tabelas temporárias. Isso pode ser resolvido mudando a sinalização no RDS. Nas perguntas frequentes do RDS:

**P: Minha réplica de leitura pode aceitar apenas operações de leitura do banco de dados?** As réplicas de leitura foram projetadas para atender ao tráfego de leitura. No entanto, pode haver casos de uso em que usuários avançados queiram preencher instruções SQL da linguagem de definição de dados (DDL) em uma réplica de leitura. Os exemplos podem incluir a adição de um índice de banco de dados a uma réplica de leitura usada para relatórios de negócios, sem adicionar o mesmo índice à instância de banco de dados de origem correspondente. Se você quiser ativar operações diferentes de leituras para uma determinada réplica de leitura, será necessário modificar o [grupo de parâmetros do banco de dados](#aws_step_4) ativo para a réplica de leitura, definindo o parâmetro `read_only` como `0`.

Se você alterar o grupo de parâmetros do banco de dados, será necessário reiniciar a réplica de leitura para que as alterações entrem em vigor.

Criar banco de dados e conceder permissões

Crie um banco de dados temporário e conceda ao usuário looker os direitos de gravar nele. A instrução CREATE TEMPORARY no MySQL precisa ser associada a um banco de dados para fins de permissão.

CREATE SCHEMA looker_tmp;
GRANT
  SELECT,
  INDEX,
  INSERT,
  UPDATE,
  DELETE,
  CREATE,
  DROP,
  ALTER,
  CREATE TEMPORARY TABLES
ON looker_tmp.* TO 'looker'@'%';

Como criar uma nova réplica

Observe que o AWS RDS só pode criar réplicas de leitura com instâncias de banco de dados que tenham a retenção de backup ativada.

Etapas pré-AWS

Etapa 1

mysql no banco de dados que será a instância principal do banco de dados:

mysql -h hostname.uid.region.rds.amazonaws.com -P 3306 -u root -p

Etapa 2

Crie um usuário chamado looker (substitua <some_password_here> por uma senha exclusiva e segura):

CREATE USER looker IDENTIFIED BY '<some_password_here>';

Etapa 3

Criar um banco de dados temporário e conceder privilégios de leitura ao Looker para outros bancos de dados e tabelas O Looker geralmente não grava no banco de dados looker_tmp, mas o usa para executar comandos CREATE TEMPORARY TABLE.

CREATE SCHEMA looker_tmp;
GRANT
  SELECT,
  INDEX,
  INSERT,
  UPDATE,
  DELETE,
  CREATE,
  DROP,
  ALTER,
  CREATE TEMPORARY TABLES
ON looker_tmp.* TO 'looker'@'%';

GRANT
  SELECT,
  SHOW DATABASES
ON *.* TO 'looker'@'%';

Etapa 4

Privilégios de limpeza:

FLUSH PRIVILEGES;

Etapas da AWS

Etapa 1

Faça login e acesse o painel da AWS. Selecione RDS em Database:

Etapa 2

No painel do RDS, selecione a instância do banco de dados que você quer especificar como principal. Clique em Ações de instância e selecione Criar réplica de leitura:

Etapa 3

No pop-up Criar instância do banco de dados de réplica de leitura, configure o banco de dados de réplica de leitura e clique em Sim, criar réplica de leitura de leitura:

Etapa 4

Enquanto aguarda a criação do banco de dados de réplica de leitura, você pode configurar o grupo de parâmetros de banco de dados, que conterá os valores de configuração do mecanismo aplicados à instância do banco de dados da réplica de leitura. Clique na página Grupos de parâmetros de banco de dados na barra lateral e, em seguida, clique no botão Criar grupo de parâmetros de banco de dados:

Etapa 5

Selecione a Família do grupo de parâmetros do DB e o Nome do grupo dos parâmetros do DB e insira uma Descrição do grupo de parâmetros do DB. Depois clique em Sim, criar.

Etapa 6

Clique no ícone de lupa na linha que contém o grupo de parâmetros do banco de dados de réplica de leitura ou selecione essa linha e clique em Editar parâmetros.

Etapa 7

No campo Filtros, em Parâmetros, pesquise "quot;read_only". Mude o valor do parâmetro para um 0. Em seguida, clique em Salvar alterações.

Etapa 8

Quando a criação da réplica de leitura for concluída, selecione-a na lista de instâncias do banco de dados, clique no botão Ação da instância e selecione Modificar na ação da instância.

Etapa 9

No pop-up Modificar instância do DB, altere o grupo de parâmetros Instância do banco de dados para o novo grupo de parâmetros da réplica de leitura. Depois, marque a caixa Aplicar imediatamente, clique em Continuar e em Modificar instância do DB.

Etapa 10

Usando o cliente MySQL, conecte-se à instância do banco de dados de réplica de leitura como looker e teste para ver se os dados estão acessíveis.

Suporte a recursos

Para que o Looker ofereça suporte a alguns recursos, seu dialeto do banco de dados também precisa aceitá-los.

Na versão mais recente do Looker, o MySQL é compatível com os seguintes recursos do Looker:

Próximas etapas

Depois de concluir a configuração do banco de dados, use estas instruções para se conectar ao banco de dados do Looker.