Informações gerais
Neste laboratório, você vai criar um bucket do Cloud Storage, adicionar uma imagem a ele e configurar um aplicativo em execução 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 conhecidos e utilizados. Fora do ambiente do laboratório, técnicas semelhantes podem ser usadas para configurar esses pacotes.
Você também vai configurar o servidor da web para fazer referência à imagem no bucket do Cloud Storage.
Objetivos
Neste laboratório, você vai aprender a:
- 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
Nesta tarefa, você vai provisionar uma instância de máquina virtual (VM) com o Compute Engine e configurá-la com um servidor da web (Apache) e o scripting necessário para a configuração inicial usando um script de inicialização. Em seguida, você vai observar os identificadores de rede.
-
No console do Google Cloud, no Menu de navegação (
), clique em Compute Engine > Instâncias de VM.
-
Clique em Criar instância.
-
Em Nome, digite bloghost
-
Em Região, selecione .
-
Em Zona, selecione .
-
Em Tipo de máquina, selecione e2-standard-2.
-
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 este script como o valor do Script de inicialização:
apt-get install apache2 php php-mysql -y
service apache2 restart
Observação: não deixe de incluir esse script como valor no campo Script de inicialização. Se você errar o campo, ele não será executado quando a instância de VM for iniciada.
- Não mexa nas outras configurações e depois 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 depois neste laboratório.
Selecione Verificar meu progresso para consultar o objetivo.
Implantar 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
Nesta tarefa, você vai usar a ferramenta de linha de comando do armazenamento do gcloud para criar um bucket do Cloud Storage globalmente único, definir a localização dele, fazer upload de uma imagem pública e tornar o objeto específico legível publicamente.
Todos os nomes de bucket do Cloud Storage precisam ser globalmente únicos. Para garantir que isso aconteça, confira as instruções deste laboratório e dê 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 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 laboratório 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 este 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.
Criar um bucket do Cloud Storage usando a linha de comando de armazenamento do gcloud
Tarefa 4: crie a instância do Cloud SQL
Nesta tarefa, você vai criar e configurar uma instância de banco de dados MySQL gerenciada usando o Cloud SQL, configurar uma conta de usuário específica e, o mais importante, permitir o acesso de rede autorizando o endereço IP externo do futuro servidor da web.
-
No menu de navegação (
) do console do Google Cloud, clique em Cloud SQL.
-
Clique em Criar instância.
-
Para escolher um mecanismo de banco de dados, selecione Escolher MySQL.
-
Para escolher uma edição do Cloud SQL, clique em Enterprise e, em Predefinição de edição, selecione Sandbox no menu suspenso.
-
Em ID da instância, digite blog-db e, na Senha, digite Passw0rd1!
-
Em Região, selecione .
-
Em Disponibilidade por zona, selecione Zona única.
-
Expanda Especificar zonas e, em Zona principal, selecione .
Observação: a região e a zona têm que ser as mesmas em que a instância bloghost foi iniciada. Para ter o melhor desempenho possível, deixe o cliente e o banco de dados próximos um do outro.
-
Em "Personalizar sua instância", expanda Mostrar opções de configuração.
-
Abra Segurança e clique em Permitir tráfego de rede não criptografado (não recomendado).
Observação: este laboratório não usa SSL, então não se esqueça de definir a opção acima.
- Clique em Criar instância.
Observação: aguarde o fim da implantação da instância. Isso pode levar alguns minutos.
Configure usuários e conexões
-
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 depois 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 Passw0rd1!
-
Clique em Adicionar para acrescentar a conta de usuário ao 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: pode ser que o botão Adicionar rede fique indisponível se a conta de usuário não estiver pronta.
-
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á algo assim:
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 mudanças na configuração.
Observação: se a mensagem Outra operação está em andamento aparecer, aguarde alguns minutos até a marca de seleção verde ser exibida em blog-db para salvar a configuração.
Selecione Verificar meu progresso para consultar o objetivo.
Criar a instância do Cloud SQL
Tarefa 5: configure um aplicativo em uma instância do Compute Engine para usar o Cloud SQL
Nesta tarefa, você vai conectar com segurança o servidor da web Apache em execução na instância de VM ao banco de dados do Cloud SQL modificando o código do aplicativo PHP (index.php) para incluir o endereço IP e as credenciais do banco de dados e estabelecer a conexão.
-
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 bloghost. Se for solicitado, clique em Autorizar.
-
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";
// Em um blog de produção, a senha MySQL
// não seria armazenada na raiz do documento. Em vez disso, ela seria armazenada
// em um Gerenciador de Secrets. Para mais informações, consulte
// https://cloud.google.com/sql/docs/postgres/use-secret-manager
try {
$conn = new PDO("mysql:host=$dbserver;dbname=mysql", $dbuser, $dbpassword);
// defina o modo de erro do PDO para exceção
$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 o endereço IP da instância do Cloud SQL e a senha do banco de dados no arquivo. Por enquanto, não mexa nele
-
Pressione Ctrl+O e, em seguida, aperte 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 assim:
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 outra vez. 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 antiga senha definida do banco de dados do Cloud SQL, Passw0rd1! Mantenha as aspas antes e depois do valor.
-
Pressione Ctrl+O e, em seguida, aperte 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 seria visível para visitantes. Em vez disso, a conexão do banco de dados é gerenciada exclusivamente pelo administrador.
Tarefa 6: configure um aplicativo em uma instância do Compute Engine para usar um objeto do Cloud Storage
Nesta tarefa, você vai integrar a imagem acessível publicamente armazenada no bucket do Cloud Storage ao seu aplicativo da web editando o arquivo index.php na instância do Compute Engine para incluir o URL de origem correto da imagem.
-
No console do Google Cloud, clique em Cloud Storage > Buckets.
-
Clique no bucket com o mesmo nome do seu projeto no Google Cloud.
-
Esse bucket contém um objeto denominado my-excellent-blog.png. Copie o URL do ícone de link que aparece na coluna Acesso público ou da frase "Link público", caso ela seja mostrada.
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 modificada pelo comando gsutil acl ch.
-
Volte para a sessão SSH na instância de VM bloghost.
-
Digite o comando a seguir 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 contendo o elemento h1. Aperte Enter para abrir uma nova linha de tela em branco e, em seguida, cole o URL que você copiou antes.
-
Cole esta marcação HTML antes do URL:
<img src='
- Insira 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 esperado dessas etapas é posicionar a linha contendo <img src='...'> antes da linha contendo <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, aperte 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 vai passar a 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. Além disso, você 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 2025 Google LLC. Todos os direitos reservados. Google e o logotipo do Google são marcas registradas da Google LLC. Todos os outros nomes de empresas e produtos podem ser marcas registradas das 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.
