arrow_back

Como implementar o Cloud SQL (Azure)

Teste e compartilhe seu conhecimento com nossa comunidade.
done
Tenha acesso a mais de 700 laboratórios, selos de habilidade e cursos

Como implementar o Cloud SQL (Azure)

Laboratório 1 hora 30 minutos universal_currency_alt 5 créditos show_chart Introdutório
info Este laboratório pode incorporar ferramentas de IA para ajudar no seu aprendizado.
Teste e compartilhe seu conhecimento com nossa comunidade.
done
Tenha acesso a mais de 700 laboratórios, selos de habilidade e cursos

Recentemente, você passou a trabalhar para uma empresa de TI que usa o Google Cloud como principal provedor de nuvem. Por ser especialista em bancos de dados SQL, você recebeu a tarefa de pesquisar e adotar os serviços SQL oferecidos pelo Google Cloud. Estas são algumas das suas principais responsabilidades:

  • Implantação
  • Segurança
  • Integração de apps
  • Métodos de conectividade

Diagrama do Azure Como você já usou o Azure, sabe implantar o SQL Server. O modelo de preços é baseado em um valor personalizável de unidades de transação de banco de dados (DTUs, na sigla em inglês) categorizadas em várias opções para diferentes casos de uso.

No Azure, você usa o seguinte:

  • Uma implementação de proxy para garantir a conexão segura com seu banco de dados
  • Um balanceador de carga HTTP para manter a disponibilidade do banco de dados do seu aplicativo

É possível usar diversos métodos para conectar vários aplicativos implantados. Estes são alguns exemplos:

  • Strings de conexão
  • Integração de serviços de app da Web
  • Cloud SQL com endereços IP particulares

Agora você vai descobrir como usar os recursos do Cloud SQL para criar e conectar um banco de dados seguro a um aplicativo.

Visão geral

Neste laboratório, você definirá a configuração de um servidor Cloud SQL e aprenderá a conectar um aplicativo a ele usando um proxy em uma conexão externa. Você também definirá uma conexão por um link de IP privado que oferece benefícios de desempenho e segurança. Escolhemos o Wordpress para demonstrar neste laboratório, mas as informações e as práticas recomendadas são aplicáveis a qualquer aplicativo que precise do SQL Server.

Ao final do laboratório, haverá duas instâncias funcionais do front-end do Wordpress conectadas aos respectivos back-ends de instâncias do SQL por dois tipos de conexão. Veja no diagrama:

Diagrama do laboratório do SQL

Objetivos

Neste laboratório, você aprenderá a fazer o seguinte:

  • Criar um banco de dados do Cloud SQL
  • Configurar uma máquina virtual para executar um proxy
  • Criar uma conexão entre um aplicativo e o Cloud SQL
  • Conectar um aplicativo ao Cloud SQL usando um endereço IP privado

Instalação

Para cada laboratório, você recebe um novo projeto do Google Cloud e um conjunto de recursos por um determinado período e sem custos financeiros.

  1. Faça login no Qwiklabs em uma janela anônima.

  2. Confira o tempo de acesso do laboratório (por exemplo, 1:15:00) e finalize todas as atividades nesse prazo.
    Não é possível pausar o laboratório. Você pode reiniciar o desafio, mas vai precisar refazer todas as etapas.

  3. Quando tudo estiver pronto, clique em Começar o laboratório.

  4. Anote as credenciais (Nome de usuário e Senha). É com elas que você vai fazer login no Console do Google Cloud.

  5. Clique em Abrir Console do Google.

  6. Clique em Usar outra conta, depois copie e cole as credenciais deste laboratório nos locais indicados.
    Se você usar outras credenciais, vai receber mensagens de erro ou cobranças.

  7. Aceite os termos e pule a página de recursos de recuperação.

Tarefa 1. Crie um banco de dados do Cloud SQL

Nesta tarefa, você vai configurar um servidor SQL seguindo as práticas recomendadas do Google Cloud e criar uma conexão de IP privado.

  1. No Menu de navegação (Ícone do menu de navegação), clique em SQL.
  2. Clique em Criar instância.
  3. Clique em Escolher MySQL.
  4. Especifique os seguintes valores e não altere as configurações restantes:
Propriedade Valor
ID da instância wordpress-db
Senha raiz Digite uma senha
Região
Zona Qualquer uma
Versão do banco de dados MySQL 5.7
Observação: Anote a senha raiz, porque ela será utilizada em uma etapa posterior e chamada de [ROOT_PASSWORD].
  1. Expanda Mostrar opções de configuração.

  2. Expanda a seção Tipo de máquina.

  3. Provisione a quantidade certa de vCPU e memória. Para escolher um Tipo de máquina, clique no menu suspenso e conheça as opções.

Observação: considere os pontos a seguir:

  • Máquinas com núcleos compartilhados são boas para prototipagem, mas não são cobertas pelo SLA do Cloud.
  • O limite de cada vCPU é de 250 MB/s de capacidade de rede com o melhor desempenho. Teoricamente, cada núcleo adicional aumenta esse limite até o máximo de 2.000 MB/s.
  • Para cargas de trabalho que exigem maior desempenho, como processamento de transações on-line (OLTP, na sigla em inglês), a recomendação é que cada instância tenha memória suficiente para conter todo o conjunto de trabalho e acomodar o número de conexões ativas.
    1. Para este laboratório, selecione standard no menu suspenso. Em seguida, escolha 1 vCPU, 3,75 GB.

    2. Em seguida, expanda a seção Armazenamento e selecione Tipo de armazenamento e Capacidade de armazenamento.

    Observação: considere os pontos a seguir:

  • Uma unidade de estado sólido (SSD, na sigla em inglês) é a melhor escolha para a maioria dos casos. Um HDD (disco rígido) não oferece um desempenho tão bom, mas tem custo de armazenamento muito mais baixo. Por isso, o mais adequado é armazenar em um HDD os dados que são acessados com pouca frequência e que não exigem latência muito baixa.
  • Existe uma relação direta entre o tamanho e a capacidade do armazenamento.
    1. Clique em cada uma das opções de capacidade para ver como elas afetam a capacidade. Redefina a opção para 10 GB.
    Observação: se o tamanho do armazenamento for pequeno demais, e o aumento automático não estiver ativado, sua instância vai correr o risco de perder o SLA.
    1. Expanda a seção Conexões.

    2. Selecione IP privado.

    3. Na lista suspensa Rede, selecione padrão.

    4. Clique no botão Configurar conexão que é exibido.

    5. No painel à direita, clique em Ativar API, em Usar um intervalo de IP alocado automaticamente, em Continuar e em Criar conexão.

    6. Clique em Criar instância na parte de baixo da página para criar a instância do banco de dados.

    Observação: talvez seja necessário aguardar a propagação das mudanças no IP privado para que o botão Criar fique disponível.

    Selecione Verificar meu progresso para conferir o objetivo. Crie uma instância do Cloud SQL

    Tarefa 2. Configure um proxy em uma máquina virtual

    Quando o aplicativo não estiver na mesma rede VPC e na mesma região que a instância do Cloud SQL, use um proxy para proteger a conexão externa.

    Para configurar o proxy, é preciso saber o nome da conexão da instância do Cloud SQL.

    Observação: o laboratório inclui duas máquinas virtuais pré-configuradas com o Wordpress e as dependências dele. Para conferir o script de inicialização e o acesso da conta de serviço, clique no nome de uma máquina virtual. Como usamos o princípio do menor privilégio, a VM só permite o acesso do SQL. Também há uma tag de rede e um firewall pré-configurado para aceitar conexões de qualquer host na porta 80.
    1. No Menu de navegação (Ícone do menu de navegação) clique em Compute Engine.

    2. Clique em SSH ao lado de wordpress-proxy.

    3. Faça o download do Cloud SQL Proxy e torne-o executável:

    wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.amd64 -O cloud_sql_proxy && chmod +x cloud_sql_proxy

    Para iniciar o proxy, você precisa saber o nome da conexão da instância do Cloud SQL. Mantenha a janela do SSH aberta e volte ao console do Cloud.

    1. No Menu de navegação (Ícone do menu de navegação), clique em SQL.

    2. Clique na instância wordpress-db e aguarde até marca de verificação verde aparecer ao lado do nome dela para ter certeza de que a instância está funcionando (talvez demore alguns minutos).

    3. Anote o Nome da conexão da instância porque ele será usado posteriormente e indicado como [SQL_CONNECTION_NAME].

    4. Para o aplicativo funcionar, você precisa criar uma tabela. Clique em Bancos de dados.

    5. Clique em Criar banco de dados, digite wordpress (porque o aplicativo procura por esse nome) e clique em Criar.

    6. Volte à janela do SSH e salve o nome da conexão em uma variável de ambiente, substituindo [SQL_CONNECTION_NAME] pelo nome exclusivo que você copiou em uma etapa anterior:

    export SQL_CONNECTION=[SQL_CONNECTION_NAME]
    1. Para confirmar se a variável de ambiente foi definida, execute este comando:
    echo $SQL_CONNECTION

    O nome da conexão será exibido.

    1. Para ativar a conexão do proxy com o banco de dados do Cloud SQL e enviar o processo para o segundo plano, execute este comando:
    ./cloud_sql_proxy -instances=$SQL_CONNECTION=tcp:3306 &

    A resposta esperada é:

    Listening on 127.0.0.1:3306 for [SQL_CONNECTION_NAME] Ready for new connections
    1. Pressione ENTER.
    Observação: o proxy receberá as solicitações em 127.0.0.1:3306 (localhost) e as encaminhará em segurança por um túnel seguro para o Cloud SQL, usando o endereço IP externo da máquina.

    Selecione Verificar meu progresso para conferir o objetivo. Crie um banco de dados e configure um proxy em uma máquina virtual

    Tarefa 3. Conecte um aplicativo à instância do Cloud SQL

    Nesta tarefa, você vai conectar um aplicativo de amostra à instância do Cloud SQL.

    1. Configure o aplicativo Wordpress. Para descobrir o endereço IP externo da sua máquina virtual, consulte os metadados:
    curl -H "Metadata-Flavor: Google" http://169.254.169.254/computeMetadata/v1/instance/network-interfaces/0/access-configs/0/external-ip && echo
    1. Em um navegador, acesse o endereço IP externo de wordpress-proxy e configure o aplicativo Wordpress.

    2. Clique em Let's Go.

    3. Especifique as opções a seguir, substituindo [ROOT_PASSWORD] pela senha que você definiu quando criou a máquina, e não altere as outras configurações padrão.

    Propriedade Valor
    Nome de usuário root
    Senha [ROOT_PASSWORD]
    Host do banco de dados 127.0.0.1
    Observação: Você está usando 127.0.0.1, localhost como o IP do banco de dados porque o proxy iniciado recebe as solicitações nesse endereço e redireciona o tráfego para seu servidor SQL com segurança.
    1. Clique em Enviar.

    2. Quando a conexão for estabelecida, clique em Run the installation para criar uma instância do Wordpress e o banco de dados dele no Cloud SQL. Talvez essa operação demore alguns minutos.

    3. Preencha aleatoriamente as informações do site de demonstração e clique em Install Wordpress. Não será necessário lembrar desses detalhes.

    Observação: a instalação do Wordpress pode demorar até três minutos porque todos os dados são propagados para o SQL Server.
    1. Quando aparecer a janela "Success!", remova o texto após o endereço IP da barra de endereço do navegador da Web e pressione ENTER.
      Um blog do Wordpress vai aparecer para você.

    Tarefa 4. Conecte-se ao Cloud SQL usando um IP interno

    Se for possível hospedar seu aplicativo na mesma região e na mesma rede VPC que o Cloud SQL, use um IP privado para ter uma configuração mais segura e com melhor desempenho.

    Com um IP privado, a latência diminui e o desempenho aumenta. Além disso, a superfície de ataque da sua instância do Cloud SQL é minimizada porque só é possível se comunicar com ela usando IPs internos.

    1. No Console do Cloud, acesse o Menu de navegação (Ícone do menu de navegação) e clique em SQL.
    2. Clique em wordpress-db.
    3. Anote o endereço IP privado do servidor do Cloud SQL, que será indicado depois como [SQL_PRIVATE_IP].
    4. Abra o Menu de navegação e clique em Compute Engine.
    Observação: o endereço wordpress-private-ip está localizado em us-central1, na mesma região da sua instância do Cloud SQL, o que permite usar uma conexão mais segura.
    1. Copie o endereço IP externo de wordpress-private-ip, cole em uma janela do navegador e pressione ENTER.

    2. Clique em Let's Go.

    3. Especifique os seguintes valores e não altere as configurações restantes:

    Propriedade Valor
    Nome de usuário root
    Senha Digite a senha [ROOT_PASSWORD] que você definiu quando criou a instância do Cloud SQL
    Host do banco de dados [SQL_PRIVATE_IP]
    1. Clique em Enviar.
    Observação: Desta vez, você está criando uma conexão direta com um IP privado em vez de configurar um proxy. A conexão é privada, ou seja, não se comunica com a Internet, por isso oferece mais segurança e um desempenho melhor.
    1. Clique em Run the installation.
      Você verá uma janela com a mensagem "Already Installed!", o que significa que o aplicativo está conectado ao servidor do Cloud SQL por meio de um IP privado.

    2. Na barra de endereço do navegador da Web, remova o texto após o endereço IP e pressione Enter.
      Um blog do Wordpress vai aparecer para você.

    Tarefa 5. Revisão

    Neste laboratório, você criou um banco de dados do Cloud SQL e o configurou para usar tanto uma conexão externa, utilizando um proxy seguro, quanto um endereço IP privado, que oferece mais segurança e um desempenho melhor. Vale lembrar que só é possível estabelecer conexões usando um IP privado quando o aplicativo e o servidor do Cloud SQL estão na mesma região e na mesma rede VPC. Se o aplicativo estiver hospedado em um projeto, uma VPC ou uma região diferente, use um proxy como proteção em uma conexão externa.

    Agora que você sabe mais sobre a criação e a configuração de um banco de dados no Cloud SQL, vamos analisar algumas semelhanças e diferenças entre o Google Cloud SQL e o Azure SQL.

    Semelhanças:

    • O Azure e o Google Cloud gerenciam a infraestrutura dos bancos de dados para incluir instâncias, backups, atualizações e failover.
    • O Cloud SQL e o Azure SQL implantam um proxy para receber com segurança conexões fora da sua VPC.
    • Os dois serviços criam uma conexão usando uma string de conexão.
    • Eles também podem usar um IP interno para conectar diretamente um aplicativo e uma instância do SQL Server se estiverem na mesma região e forem parte da mesma rede VPC. Usando apenas endereços IP internos, você melhora a segurança porque nenhuma conexão pública é permitida.

    Diferenças:

    • As especificações para criar um SQL Server são diferentes no Google Cloud e no Azure. No Azure, você escolhe entre categorias, DTUs e armazenamento definido. No Google Cloud, você especifica diretamente o número de CPUs e o armazenamento necessário.
    • No Google Cloud, a autenticação do banco de dados é integrada (usuário-senha), e você pode implementar o proxy de autenticação do Cloud SQL e as bibliotecas de conector do Cloud SQL para fornecer acesso baseado em IAM. No Azure, você pode usar políticas para definir como as solicitações serão admitidas. Também é possível usar um método de redirecionamento (por padrão) ou uma política de conexão de proxy para processar a solicitação. Também é possível usar a autenticação do Azure Active Directory.
    • No Google Cloud, você estabelece uma conexão com a instância usando o Cloud SQL com duas opções principais:
      • Proxy de autenticação do Cloud SQL: um túnel seguro que não precisa de uma rede autorizada ou de SSL. A autenticação e a autorização são feitas pelo Identity and Access Management (IAM) e OAuth 2.0
      • IP privado: uma conexão privada entre sua rede VPC e a rede VPC do produtor de serviços do Google

    Finalize o laboratório

    Clique em Terminar o laboratório após a conclusão. O Google Cloud Ensina remove os recursos usados e limpa a conta por você.

    Você vai poder avaliar sua experiência no laboratório. Basta selecionar o número de estrelas, digitar um comentário e clicar em Enviar.

    O número de estrelas indica o seguinte:

    • 1 estrela = muito insatisfeito
    • 2 estrelas = insatisfeito
    • 3 estrelas = neutro
    • 4 estrelas = satisfeito
    • 5 estrelas = muito satisfeito

    Feche a caixa de diálogo se não quiser enviar feedback.

    Para enviar seu feedback, fazer sugestões ou correções, use a guia Suporte.

    Copyright 2020 Google LLC. Todos os direitos reservados. Google e o logotipo do Google são marcas registradas da Google LLC. Todos os outros nomes de produtos e empresas podem ser marcas registradas das respectivas empresas a que estão associados.

    Este conteúdo não está disponível no momento

    Você vai receber uma notificação por e-mail quando ele estiver disponível

    Ótimo!

    Vamos entrar em contato por e-mail se ele ficar disponível