Informações gerais
Neste laboratório, você vai criar um bucket do Cloud Storage e adicionar uma imagem a ele. É possível também configurar um aplicativo no Compute Engine para usar um banco de dados gerenciado pelo Cloud SQL. Neste laboratório, é possível configurar um servidor da Web com o PHP, um ambiente de desenvolvimento que serve como base para os softwares de blog mais usados. Fora do ambiente do laboratório, você pode usar técnicas semelhantes para configurar esses pacotes.
É possível também configurar o servidor da Web para fazer referência à imagem no bucket do Cloud Storage.
Objetivos
Neste laboratório, você aprenderá a fazer o seguinte:
- Criar um bucket do Cloud Storage e adicionar uma imagem a ele
- Criar uma instância do Cloud SQL e configurá-la
- Conectar-se à instância do Cloud SQL de um servidor da Web
- Usar a imagem no bucket do Cloud Storage em uma página da Web
Tarefa 1: Faça login no console do Google Cloud.
Para cada laboratório, você recebe um novo projeto do Google Cloud e um conjunto de recursos por um determinado período sem custo financeiro.
-
Clique no botão Começar o laboratório. Se for preciso pagar, você verá um pop-up para selecionar a forma de pagamento.
No painel Detalhes do laboratório à esquerda, você vai encontrar o seguinte:
- O botão Abrir console do Google Cloud
- O tempo restante
- As credenciais temporárias que você vai usar neste laboratório
- Outras informações, se forem necessárias
-
Se você estiver usando o navegador Chrome, clique em Abrir console do Google Cloud ou clique com o botão direito do mouse e selecione Abrir link em uma janela anônima.
O laboratório ativa os recursos e depois abre a página Fazer login em outra guia.
Dica: coloque as guias em janelas separadas lado a lado.
Observação: se aparecer a caixa de diálogo Escolher uma conta, clique em Usar outra conta.
-
Se necessário, copie o Nome de usuário abaixo e cole na caixa de diálogo Fazer login.
{{{user_0.username | "Nome de usuário"}}}
Você também encontra o Nome de usuário no painel Detalhes do laboratório.
-
Clique em Seguinte.
-
Copie a Senha abaixo e cole na caixa de diálogo de boas-vindas.
{{{user_0.password | "Senha"}}}
Você também encontra a Senha no painel Detalhes do laboratório.
-
Clique em Seguinte.
Importante: você precisa usar as credenciais fornecidas no laboratório, e não as da sua conta do Google Cloud.
Observação: se você usar sua própria conta do Google Cloud neste laboratório, é possível que receba cobranças adicionais.
-
Acesse as próximas páginas:
- Aceite os Termos e Condições.
- Não adicione opções de recuperação nem autenticação de dois fatores (porque essa é uma conta temporária).
- Não se inscreva em testes gratuitos.
Depois de alguns instantes, o console do Google Cloud será aberto nesta guia.
Observação: para acessar uma lista de produtos e serviços do Google Cloud, clique no Menu de navegação no canto superior esquerdo ou digite o nome do serviço ou produto no campo Pesquisar.
Tarefa 2: Implante uma instância de VM do servidor da Web
-
No console do Google Cloud, acesse o menu de navegação (
) e clique em Compute Engine > Instâncias de VM.
-
Clique em Criar instância.
-
Em Nome, digite bloghost
-
Em Região e Zona, selecione a região e a zona atribuídas pelo Qwiklabs.
-
Em Tipo de máquina, deixe o valor padrão.
-
No painel esquerdo, clique em SO e armazenamento. Se a Imagem mostrada não for Debian GNU/Linux 12 (bookworm), clique em Alterar e selecione a versão Debian GNU/Linux 12 (bookworm).
-
Clique em Rede.
-
Em Firewall, clique em Permitir tráfego HTTP.
-
No painel à esquerda, clique em Avançado.
-
Em Automação, copie e cole o seguinte script como o valor do Script de inicialização:
apt-get update
apt-get install apache2 php php-mysql -y
service apache2 restart
Observação: é importante digitar o script no campo Script de inicialização. Se você digitar acidentalmente em outro campo, ele não será executado quando a instância de VM for iniciada.
- Não altere as outras configurações e clique em Criar.
Observação: a instância pode levar cerca de dois minutos para iniciar e ficar disponível para uso.
- Na página Instâncias de VM, copie os endereços IP internos e externos da instância de VM bloghost em um editor de texto para usar mais tarde no laboratório.
Selecione Verificar meu progresso para consultar o objetivo.
Implante uma instância de VM do servidor da Web
Tarefa 3: Crie um bucket do Cloud Storage usando a linha de comando de armazenamento do gcloud
Todos os nomes de bucket do Cloud Storage precisam ser exclusivos globalmente. Para garantir isso, estas instruções mostrarão como dar ao bucket o mesmo nome do seu ID do projeto do Google Cloud, que também é único.
Os buckets do Cloud Storage podem ser associados a um local com uma região ou várias regiões, como EUA, UE ou ÁSIA. Nesta atividade, associe o bucket ao local multirregional mais próximo da região e da zona que o Qwiklabs ou o instrutor atribuiu a você.
-
No console do Google Cloud, na barra de ferramentas de cima à direita, clique em Ativar o Cloud Shell
. Se uma caixa de diálogo aparecer, clique em Continuar.
-
Para facilitar, insira o local escolhido em uma variável de ambiente chamada LOCATION. Digite um destes comandos:
export LOCATION=US
Ou
export LOCATION=EU
Ou
export LOCATION=ASIA
- No Cloud Shell, a variável de ambiente DEVSHELL_PROJECT_ID contém o ID do seu projeto. Digite o seguinte comando para criar um bucket com o nome do ID do projeto:
gcloud storage buckets create -l $LOCATION gs://$DEVSHELL_PROJECT_ID
Se solicitado, clique em Autorizar para continuar.
- Recupere uma imagem de banner de um local do Cloud Storage acessível publicamente:
gcloud storage cp gs://cloud-training/gcpfci/my-excellent-blog.png my-excellent-blog.png
- Copie a imagem do banner para o bucket do Cloud Storage recém-criado:
gcloud storage cp my-excellent-blog.png gs://$DEVSHELL_PROJECT_ID/my-excellent-blog.png
- Modifique a lista de controle de acesso do objeto recém-criado para que todos possam ler:
gsutil acl ch -u allUsers:R gs://$DEVSHELL_PROJECT_ID/my-excellent-blog.png
Selecione Verificar meu progresso para consultar o objetivo.
Crie um bucket do Cloud Storage usando a linha de comando de armazenamento do gcloud
Tarefa 4: Crie a instância do Cloud SQL
-
No console do Google Cloud, abra o Menu de navegação (
) e selecione SQL.
-
Clique em Criar instância.
-
Em Escolher um mecanismo de banco de dados, selecione Escolher MySQL.
-
Para Escolher uma edição do Cloud SQL, clique em Enterprise e selecione Sandbox no menu suspenso.
-
Em ID da instância, digite blog-db e, em Senha, insira a senha que preferir.
Observação: escolha uma senha que seja fácil de memorizar. Não é necessário ocultar a senha porque os mecanismos utilizados para a conexão não têm acesso aberto a todos.
-
Em Região, selecione a região atribuída pelo Qwiklabs.
-
Em Disponibilidade por zona, selecione Zona única.
-
Clique em Especificar zonas e em Zona principal. Selecione a zona atribuída pelo Qwiklabs.
Observação: a região e a zona deverão ser as mesmas onde a instância bloghost foi iniciada. Para ter o melhor desempenho possível, coloque o cliente e o banco de dados próximos um do outro.
- Clique em Criar instância.
Observação: espere até que a implantação da instância seja concluída, o que levará alguns minutos.
-
Na página de detalhes das instâncias SQL, em Conectar-se a esta instância, copie o Endereço IP público da instância SQL em um editor de texto para usar mais tarde neste laboratório.
-
No painel à esquerda, clique em Usuários e em Adicionar conta de usuário.
-
Em Nome de usuário, digite blogdbuser
-
Em Senha, digite uma senha de sua preferência. Anote essa senha.
-
Clique em Adicionar para inserir a conta de usuário no banco de dados.
Observação: aguarde a criação do usuário.
-
No painel à esquerda, clique em Conexões e, em seguida, na guia Rede.
-
Clique em Adicionar uma rede.
Observação: se houver a opção de escolher entre uma conexão de IP privado e uma conexão de IP público, escolha IP público neste laboratório.
Observação: o botão Adicionar rede pode estar indisponível se a criação da conta do usuário ainda não estiver concluída.
-
Em Nome, digite web front end
-
Em Rede, digite o endereço IP externo da instância de VM bloghost seguido de /32
O resultado será semelhante a este:
35.192.208.2/32
Observação: é importante usar o endereço IP externo da instância de VM seguido de /32. Não use o endereço IP interno da instância da VM. Não use o endereço IP deste exemplo.
-
Clique em Concluído para finalizar a definição da rede autorizada.
-
Clique em Salvar para salvar as alterações na configuração.
Observação: Se aparecer a mensagem Outra operação está em andamento, aguarde alguns minutos até ver a marca de seleção verde em blog-db para salvar a configuração.
Selecione Verificar meu progresso para consultar o objetivo.
Crie a instância do Cloud SQL
Tarefa 5: Configure um aplicativo em uma instância do Compute Engine para usar o Cloud SQL
-
No menu de navegação (
), clique em Compute Engine > Instâncias de VM.
-
Na lista de instâncias de VM, clique em SSH na linha da instância bloghost.
-
Na sessão ssh em bloghost, mude o diretório de trabalho para a raiz do documento do servidor da Web:
cd /var/www/html
- Use o editor de texto nano para editar um arquivo com o nome index.php:
sudo nano index.php
- Copie e cole o conteúdo abaixo no arquivo:
<html>
<head><title>Welcome to my excellent blog</title></head>
<body>
<h1>Welcome to my excellent blog</h1>
<?php
$dbserver = "CLOUDSQLIP";
$dbuser = "blogdbuser";
$dbpassword = "DBPASSWORD";
// In a production blog, we would not store the MySQL
// password in the document root. Instead, we would store
// it in a Secret Manger. For more information see
// https://cloud.google.com/sql/docs/postgres/use-secret-manager
try {
$conn = new PDO("mysql:host=$dbserver;dbname=mysql", $dbuser, $dbpassword);
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "Connected successfully";
} catch(PDOException $e) {
echo "Database connection failed:: " . $e->getMessage();
}
?>
</body></html>
Observação: em uma etapa posterior, você vai inserir no arquivo o endereço IP da instância do Cloud SQL e a senha do banco de dados. Por enquanto, não altere o arquivo.
-
Pressione Ctrl+O e, em seguida, pressione Enter para salvar o arquivo editado.
-
Pressione Ctrl+X para sair do editor de texto nano.
-
Reinicie o servidor da Web:
sudo service apache2 restart
- Abra uma nova guia do navegador da Web e, na barra de endereço, cole o endereço IP externo da instância de VM bloghost, seguido de /index.php. O URL será semelhante a este:
35.192.208.2/index.php
Observação: é importante usar o endereço IP externo da instância de VM seguido de /index.php. Não use o endereço IP interno da instância da VM. Não use o endereço IP deste exemplo.
Se aparecer uma mensagem informando que o endereço IP não aceita uma conexão segura, clique em Ir para o site.
Quando a página for carregada, você verá que o conteúdo dela inclui uma mensagem de erro que começa com as seguintes palavras:
Database connection failed: ...
Observação: essa mensagem aparece porque a conexão PHP para a instância do Cloud SQL ainda não foi configurada.
- Volte para a sessão ssh no bloghost. Use o editor de texto nano para editar o index.php novamente. Verifique se você está no diretório /var/www/html.
sudo nano index.php
-
No editor de texto nano, substitua CLOUDSQLIP
pelo endereço IP público da instância do Cloud SQL (blog-db) que foi anotado anteriormente. Mantenha as aspas antes e depois do valor.
-
No editor de texto nano, substitua DBPASSWORD
pela senha do banco de dados do Cloud SQL definida anteriormente. Mantenha as aspas antes e depois do valor.
-
Pressione Ctrl+O e, em seguida, pressione Enter para salvar o arquivo editado.
-
Pressione Ctrl+X para sair do editor de texto nano.
-
Reinicie o servidor da Web:
sudo service apache2 restart
- Volte para a guia do navegador da Web onde foi aberto o endereço IP externo da instância de VM bloghost. Quando a página for carregada, a seguinte mensagem vai aparecer:
Conexão estabelecida
Observação: em um blog real, o status da conexão do banco de dados não estaria visível para visitantes. Em vez disso, a conexão do banco de dados seria gerenciada exclusivamente pelo administrador.
Tarefa 6: Configure um aplicativo em uma instância do Compute Engine para usar um objeto do Cloud Storage
-
No console do Google Cloud, clique em Cloud Storage > Buckets.
-
Clique no bucket que tem o nome do seu projeto do Google Cloud.
-
Esse bucket contém um objeto denominado my-excellent-blog.png. Copie o URL que está atrás do ícone de link que aparece na coluna Acesso público desse objeto, ou atrás das palavras "Link público", caso elas apareçam.
Observação: se nem um ícone de link nem as palavras "Link público" aparecerem, tente atualizar o navegador. Se ainda assim o ícone de link não aparecer, retorne ao Cloud Shell e confirme se a lista de controle de acesso do objeto foi alterada pelo comando gsutil acl ch.
-
Volte para a sessão ssh na instância de VM bloghost.
-
Digite o seguinte comando para definir o diretório de trabalho na raiz do documento do servidor da Web:
cd /var/www/html
- Use o editor de texto nano para editar index.php:
sudo nano index.php
-
Use as teclas de seta para mover o cursor até a linha que contém o elemento h1. Pressione Enter para abrir uma nova linha de tela em branco e, em seguida, cole na linha o URL que foi copiado anteriormente.
-
Cole essa marcação HTML antes do URL:
<img src='
- Coloque um sinal de aspas simples de fechamento e um sinal "maior que" no final do URL:
'>
A linha ficará assim:
<img src='https://storage.googleapis.com/qwiklabs-gcp-0005e186fa559a09/my-excellent-blog.png'>
O efeito desejado com essas etapas é colocar a linha que contém <img src='...'>
antes da linha que contém <h1>...</h1>
Observação: não copie o URL usado aqui. Em vez disso, copie o URL mostrado pelo navegador do Storage no seu próprio projeto do Cloud Platform.
-
Pressione Ctrl+O e, em seguida, pressione Enter para salvar o arquivo editado.
-
Pressione Ctrl+X para sair do editor de texto nano.
-
Reinicie o servidor da Web:
sudo service apache2 restart
- Volte para a guia do navegador da Web onde foi aberto o endereço IP externo da instância de VM bloghost. Quando a página for carregada, o conteúdo dela agora incluirá uma imagem de banner.
Parabéns!
Neste laboratório, você configurou uma instância do Cloud SQL e conectou a ela um aplicativo em uma instância do Compute Engine. Você também trabalhou com um bucket do Cloud Storage.
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.
Mais recursos
Leia a documentação do Google Cloud Platform sobre o Cloud SQL.
Leia a documentação do Google Cloud Platform sobre o Cloud Storage.
