Amazon RDS para MySQL

Encriptar o tráfego de rede

É uma prática recomendada encriptar o tráfego de rede entre a aplicação Looker e a sua base de dados. Considere uma das opções descritas na página de documentação Ativar o acesso seguro à base de dados.

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

Opções

Por motivos de desempenho, é comum usar bases de dados de réplicas só de leitura, também denominadas réplicas de leitura, com o Looker. Isto liberta a base de dados de produção para realizar a sua função principal sem que as consultas a possam abrandar.

Este documento descreve como:

  • Modifique uma base de dados de réplica existente para funcionar com o Looker
  • Crie uma nova base de dados de réplica de leitura e configure-a para funcionar com o Looker

Modificar uma réplica existente

Utilizadores e segurança

Altere <some_password_here> para uma palavra-passe 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

Por predefinição, as réplicas de leitura do RDS têm uma flag só de leitura ativada que impede o Looker de escrever em tabelas temporárias. O Looker nunca altera os dados existentes, mas o MySQL continua a exigir acesso de escrita para usar tabelas temporárias. Pode resolver este problema alterando a flag no RDS. A partir das perguntas frequentes sobre o RDS:

P: As minhas réplicas de leitura só podem aceitar operações de leitura da base de dados?

As réplicas de leitura são concebidas para servir tráfego de leitura. No entanto, podem existir exemplos de utilização em que os utilizadores avançados pretendem concluir declarações SQL de linguagem de definição de dados (DDL) numa réplica de leitura. Os exemplos podem incluir a adição de um índice de base de dados a uma réplica de leitura que é usada para relatórios empresariais sem adicionar o mesmo índice à instância de BD de origem correspondente.

O Amazon RDS for MySQL pode ser configurado para permitir declarações SQL de LDD contra uma réplica de leitura. Se quiser ativar operações que não sejam leituras para uma determinada réplica de leitura, modifique o grupo de parâmetros da base de dados ativo para a réplica de leitura, definindo o parâmetro read_only como 0.

Atualmente, o Amazon RDS for PostgreSQL não suporta a execução de declarações SQL DDL numa réplica de leitura.

Se alterar o grupo de parâmetros da base de dados, tem de reiniciar a réplica de leitura para que as alterações entrem em vigor.

Crie uma base de dados e conceda autorizações

Crie uma base de dados temporária e conceda ao utilizador looker os direitos de escrita na mesma. A declaração CREATE TEMPORARY no MySQL tem de estar associada a uma BD para fins de autorização.

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

Criar uma nova réplica

Tenha em atenção que o AWS RDS só pode criar réplicas de leitura com instâncias de base de dados que tenham a retenção de cópias de segurança ativada.

Passos pré-AWS

Passo 1

mysql na base de dados que vai ser a instância de base de dados principal:

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

Passo 2

Crie um utilizador com o nome looker (substitua <some_password_here> por uma palavra-passe única e segura):

CREATE USER looker IDENTIFIED BY '<some_password_here>';

Passo 3

Crie uma base de dados temporária e conceda privilégios de leitura ao Looker para outras bases de dados e tabelas. Geralmente, o Looker não escreve na base de dados looker_tmp, mas usa-a 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'@'%';

Passo 4

Flush privileges:

FLUSH PRIVILEGES;

Passos da AWS

Passo 1

Inicie sessão e aceda ao painel de controlo da AWS. Na secção Base de dados, selecione RDS.

Passo 2

No painel de controlo do RDS, selecione a instância da base de dados que quer especificar como base de dados principal. Selecione Ações da instância e, de seguida, selecione Criar réplica de leitura.

Passo 3

No pop-up Create Read Replica DB Instance, configure a base de dados de réplica de leitura e selecione Yes, Create Read Replica.

Passo 4

Enquanto aguarda a criação da base de dados de réplica de leitura, pode configurar o grupo de parâmetros da base de dados, que vai conter os valores de configuração do motor aplicados à instância da base de dados de réplica de leitura. Selecione a página Grupos de parâmetros de BD na barra lateral e, de seguida, selecione o botão Criar grupo de parâmetros de BD.

Passo 5

Selecione a família do grupo de parâmetros da base de dados e o nome do grupo de parâmetros da base de dados e introduza uma descrição do grupo de parâmetros da base de dados. Em seguida, selecione Sim, criar.

Passo 6

Selecione o ícone de lupa na linha que contém o grupo de parâmetros da base de dados da réplica de leitura ou selecione essa linha e selecione Editar parâmetros.

Passo 7

No campo Filtros em Parâmetros, pesquise "read_only". Altere o valor do parâmetro para 0. Em seguida, selecione Guardar alterações.

Passo 8

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

Passo 9

No pop-up Modificar instância de base de dados, altere o grupo de parâmetros da instância de base de dados para o novo grupo de parâmetros da réplica de leitura. Em seguida, selecione a caixa Aplicar imediatamente, selecione Continuar e selecione Modificar instância de BD.

Passo 10

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

Criar a ligação do Looker à sua base de dados

Na secção Administração do Looker, selecione Ligações e, de seguida, clique em Adicionar ligação.

Preencha os detalhes da ligação. A maioria das definições é comum à maioria dos dialetos de bases de dados. Consulte a página de documentação Associar o Looker à sua base de dados para ver informações.

Para verificar se a associação foi bem-sucedida, clique em Testar. Consulte a página de documentação Testar a conetividade da base de dados para ver informações de resolução de problemas.

Para guardar estas definições, clique em Associar.

Suporte de funcionalidades

Para que o Looker suporte algumas funcionalidades, o dialeto da base de dados também tem de as suportar.

O MySQL suporta as seguintes funcionalidades a partir do Looker 25.14:

Funcionalidade Compatível?
Nível de apoio técnico
Suportado
Looker (Google Cloud Core)
Não
Dados agregados simétricos
Sim
Tabelas derivadas
Sim
Tabelas derivadas SQL persistentes
Sim
Tabelas derivadas nativas persistentes
Sim
Vistas estáveis
Sim
Interrupção de consultas
Sim
Tabelas dinâmicas baseadas em SQL
Sim
Fusos horários
Sim
SSL
Sim
Subtotais
Sim
Parâmetros JDBC adicionais
Sim
Sensível a maiúsculas e minúsculas
Não
Tipo de localização
Sim
Tipo de lista
Sim
Percentil
Sim
Percentil distinto
Sim
Execução de SQL Mostrar processos
Sim
Execução de SQL Describe Table
Sim
Execução de SQL Mostrar índices
Sim
Execução de SQL Select 10
Sim
Contagem da execução de SQL
Sim
SQL Explain
Sim
Credenciais do OAuth 2.0
Não
Comentários de contexto
Sim
Agrupamento de ligações
Não
Esboços HLL
Não
Notoriedade agregada
Sim
PDTs incrementais
Sim
Milissegundos
Sim
Microssegundos
Sim
Vistas materializadas
Não
Medidas de comparação de períodos
Não
Contagem distinta aproximada
Não