W tym module utworzysz zasobnik Cloud Storage i umieścisz w nim obraz. Poza tym skonfigurujesz aplikację działającą w Compute Engine do korzystania z bazy danych zarządzanej przez Cloud SQL. Na potrzeby tego modułu skonfigurujesz serwer WWW z PHP – środowiskiem programistycznym do tworzenia stron internetowych, które jest podstawą popularnego oprogramowania do pisania blogów. Poza tym modułem będziesz używać analogicznych technik do konfigurowania tych pakietów.
Skonfigurujesz również serwer WWW, aby odwoływał się do obrazu w zasobniku Cloud Storage.
Cele
W tym module nauczysz się wykonywać następujące czynności:
tworzenie zasobnika Cloud Storage i umieszczanie w nim obrazu,
tworzenie i konfigurowanie instancji Cloud SQL,
nawiązywanie połączenia z instancją Cloud SQL z serwera WWW,
użycie obrazu znajdującego się w zasobniku Cloud Storage na stronie internetowej.
Zadanie 1. Zaloguj się w konsoli Google Cloud
W przypadku każdego modułu otrzymujesz bezpłatnie i na określony czas nowy projekt Google Cloud oraz zbiór zasobów.
Kliknij przycisk Rozpocznij moduł. Jeśli moduł jest odpłatny, otworzy się wyskakujące okienko, w którym możesz wybrać formę płatności.
Po lewej stronie znajduje się panel Szczegóły modułu z następującymi elementami:
przyciskiem Otwórz konsolę Google Cloud;
czasem, który Ci pozostał;
tymczasowymi danymi logowania, których musisz użyć w tym module;
innymi informacjami potrzebnymi do ukończenia modułu.
Kliknij Otwórz konsolę Google Cloud (lub kliknij prawym przyciskiem myszy i wybierz Otwórz link w oknie incognito, jeśli korzystasz z przeglądarki Chrome).
Moduł uruchomi zasoby, po czym otworzy nową kartę ze stroną logowania.
Wskazówka: otwórz karty obok siebie w osobnych oknach.
Uwaga: jeśli pojawi się okno Wybierz konto, kliknij Użyj innego konta.
W razie potrzeby skopiuj nazwę użytkownika znajdującą się poniżej i wklej ją w oknie logowania.
{{{user_0.username | "Username"}}}
Nazwę użytkownika znajdziesz też w panelu Szczegóły modułu.
Kliknij Dalej.
Skopiuj podane niżej hasło i wklej je w oknie powitania.
{{{user_0.password | "Password"}}}
Hasło znajdziesz też w panelu Szczegóły modułu.
Kliknij Dalej.
Ważne: musisz użyć danych logowania podanych w module. Nie używaj danych logowania na swoje konto Google Cloud.
Uwaga: korzystanie z własnego konta Google Cloud w tym module może wiązać się z dodatkowymi opłatami.
Na kolejnych stronach wykonaj następujące czynności:
Zaakceptuj Warunki korzystania z usługi.
Nie dodawaj opcji odzyskiwania ani uwierzytelniania dwuskładnikowego (ponieważ konto ma charakter tymczasowy).
Nie rejestruj się w bezpłatnych wersjach próbnych.
Poczekaj, aż na karcie otworzy się konsola Google Cloud.
Uwaga: aby wyświetlić menu z listą produktów i usług Google Cloud, w lewym górnym rogu kliknij Menu nawigacyjne lub wpisz nazwę usługi lub produktu w polu Szukaj.
Zadanie 2. Wdróż instancję maszyny wirtualnej serwera WWW
W konsoli Google Cloud, w Menu nawigacyjnym (), kliknij Compute Engine > Instancje maszyn wirtualnych.
Kliknij Utwórz instancję.
W polu Nazwa wpisz bloghost.
W polach Region i Strefa wybierz region i strefę przypisaną przez Qwiklabs.
W polu Typ maszyny zaakceptuj wartość domyślną.
W lewym panelu kliknij System operacyjny i miejsce na dane. Jeśli w polu Obraz wyświetlana jest inna wartość niż Debian GNU/Linux 12 (bookworm), kliknij Zmień i wybierz wersję Debian GNU/Linux 12 (bookworm).
Kliknij Sieci.
W sekcji Zapora sieciowa kliknij Zezwalaj na ruch HTTP.
W panelu po lewej stronie kliknij Zaawansowane.
W sekcji Automatyzacja skopiuj i wklej ten skrypt jako wartość pola Skrypt startowy:
apt-get update
apt-get install apache2 php php-mysql -y
service apache2 restart
Uwaga: należy koniecznie wprowadzić ten skrypt jako wartość pola Skrypt startowy. Jeśli przypadkowo zostanie on umieszczony w innym polu, nie zostanie wykonany po uruchomieniu instancji maszyny wirtualnej.
We wszystkich pozostałych polach pozostaw wartości domyślne i kliknij Utwórz.
Uwaga: uruchomienie instancji i jej pełne przygotowanie do użycia może zająć około 2 minut.
Na stronie Instancje maszyn wirtualnych skopiuj wewnętrzny i zewnętrzny adres IP instancji maszyny wirtualnej bloghost do edytora tekstu w celu późniejszego użycia na tej karcie.
Kliknij Sprawdź postępy, aby zobaczyć, jak Ci poszło.
Wdrożenie instancji maszyny wirtualnej serwera WWW
Zadanie 3. Utwórz zasobnik Cloud Storage za pomocą wiersza poleceń gcloud storage
Wszystkie nazwy zasobników Cloud Storage muszą być globalnie unikalne. Aby zapewnić unikalność nazwy zasobnika, instrukcje polecą Ci nadanie mu takiej samej nazwy jak identyfikator Twojego projektu Google Cloud, który jest również globalnie unikalny.
Zasobniki Cloud Storage mogą być powiązane z regionem lub lokalizacją obejmującą wiele regionów: US, EU lub ASIA. W tym ćwiczeniu powiążesz swoje zasobniki z wieloma regionami najbliższymi regionowi i strefie przypisanej przez Qwiklabs lub instruktora.
Na prawym górnym pasku narzędzi konsoli Google Cloud kliknij Aktywuj Cloud Shell . Jeśli pojawi się okno dialogowe, kliknij Dalej.
Dla wygody wprowadź wybraną lokalizację w zmiennej środowiskowej o nazwie LOCATION. Wpisz jedno z tych poleceń:
export LOCATION=US
lub
export LOCATION=EU
lub
export LOCATION=ASIA
W Cloud Shell zmienna środowiskowa DEVSHELL_PROJECT_ID zawiera identyfikator projektu. Wpisz to polecenie, aby utworzyć zasobnik o nazwie odpowiadającej identyfikatorowi projektu:
Kliknij Sprawdź postępy, aby zobaczyć, jak Ci poszło.
Utworzenie zasobnika Cloud Storage za pomocą wiersza poleceń gcloud storage
Zadanie 4. Utwórz instancję Cloud SQL
W Menu nawigacyjnym () konsoli Google Cloud kliknij SQL.
Kliknij Utwórz instancję.
W polu Wybierz silnik bazy danych wybierz opcję Wybierz MySQL.
W polu Wybierz wersję Cloud SQL kliknij Enterprise, a następnie wybierz Tryb piaskownicy z menu.
W polu Identyfikator instancji wpisz blog-db, a w polu Hasło wpisz dowolnie wybrane hasło.
Uwaga: wybierz hasło, które zapamiętasz. Nie ma potrzeby zasłaniania hasła, ponieważ używasz mechanizmów łączenia się, które nie są dostępne dla wszystkich.
W polu Region wybierz region przypisany przez Qwiklabs.
W sekcji Dostępność strefowa wybierz Jedna strefa.
Kliknij kolejno Wybierz strefy i Główna strefa. Wybierz strefę przypisaną przez Qwiklabs.
Uwaga: są to te same region i strefa, w których została uruchomiona instancja bloghost. Najlepszą wydajność uzyskuje się przez umieszczenie klienta i bazy danych blisko siebie.
Kliknij Utwórz instancję.
Uwaga: poczekaj na zakończenie wdrażania instancji. Potrwa to kilka minut.
Na stronie z informacjami o instancjach SQL w sekcji Połączenie z instancją skopiuj Publiczny adres IP instancji SQL do edytora tekstu, aby móc użyć go później w tym module.
W panelu po lewej stronie kliknij kolejno Użytkownicy i Dodaj konto użytkownika.
W polu Nazwa użytkownika wpisz blogdbuser.
W polu Hasło wpisz dowolnie wybrane hasło. Zanotuj je.
Kliknij Dodaj, aby dodać konto użytkownika do bazy danych.
Uwaga: poczekaj na utworzenie użytkownika.
W panelu po lewej stronie kliknij Połączenia i kartę Sieć.
Kliknij Dodaj sieć.
Uwaga: jeśli będą dostępne do wyboru opcje połączenia Prywatny adres IP i Publiczny adres IP, na potrzeby tego modułu wybierz Publiczny adres IP. Uwaga: przycisk Dodaj sieć może być niedostępny, jeśli tworzenie konta użytkownika nie zostało ukończone.
W polu Nazwa wpisz web front end
W polu Sieć wpisz zewnętrzny adres IP instancji maszyny wirtualnej bloghost, z dopiskiem /32
Wynik będzie wyglądał tak:
35.192.208.2/32
Uwaga: pamiętaj, aby wpisać zewnętrzny adres IP instancji maszyny wirtualnej z dopiskiem /32. Nie używaj wewnętrznego adresu IP instancji maszyny wirtualnej. Nie używaj pokazanego tutaj przykładowego adresu IP.
Kliknij Gotowe, aby zakończyć definiowanie autoryzowanej sieci.
Kliknij Zapisz, aby zapisać zmiany w konfiguracji.
Uwaga: jeśli pojawi się komunikat Inna operacja jest w toku, przed zapisaniem konfiguracji poczekaj kilka minut, aż pojawi się zielony znacznik wyboru dla blog-db.
Kliknij Sprawdź postępy, aby zobaczyć, jak Ci poszło.
Utworzenie instancji Cloud SQL
Zadanie 5. Skonfiguruj aplikację w instancji Compute Engine do korzystania z Cloud SQL
W Menu nawigacyjnym () kliknij Compute Engine > Instancje maszyn wirtualnych.
Na liście instancji maszyn wirtualnych kliknij SSH w wierszu instancji bloghost.
W sesji SSH instancji bloghost zmień katalog roboczy na katalog główny dokumentów serwera WWW:
cd /var/www/html
Za pomocą edytora tekstu nano wyedytuj plik o nazwie index.php:
sudo nano index.php
Skopiuj i wklej do pliku treść poniżej:
<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>
Uwaga: w późniejszym kroku wstawisz do tego pliku adres IP instancji Cloud SQL i hasło do bazy danych. Na razie pozostaw plik bez zmian.
Naciśnij Ctrl+O, a następnie Enter, aby zapisać edytowany plik.
Naciśnij Ctrl+X, aby zamknąć edytor tekstu nano.
Ponownie uruchom serwer WWW:
sudo service apache2 restart
Otwórz nową kartę przeglądarki i wklej na pasku adresu zewnętrzny adres IP instancji maszyny wirtualnej bloghost z dopiskiem /index.php. Adres URL będzie wyglądał tak:
35.192.208.2/index.php
Uwaga: pamiętaj, aby użyć zewnętrznego adresu IP instancji maszyny wirtualnej z dopiskiem /index.php. Nie używaj wewnętrznego adresu IP instancji maszyny wirtualnej. Nie używaj pokazanego tutaj przykładowego adresu IP.
Jeśli zobaczysz komunikat, że adres IP nie obsługuje bezpiecznego połączenia, kliknij Przejdź do witryny.
Gdy strona się wczyta, zobaczysz, że jej treść zawiera komunikat o błędzie zaczynający się od słów:
Database connection failed: ...
Uwaga: ten komunikat występuje, ponieważ połączenie PHP z instancją Cloud SQL nie zostało jeszcze skonfigurowane.
Wróć do sesji ssh w instancji bloghost. Za pomocą edytora tekstu nano ponownie dokonaj edycji pliku o nazwie index.php. Sprawdź, czy jesteś w katalogu /var/www/html.
sudo nano index.php
W edytorze tekstu nano zastąp CLOUDSQLIP zanotowanym wcześniej publicznym adresem IP instancji Cloud SQL (blog-db). Pozostaw cudzysłów.
W edytorze tekstu nano zastąp DBPASSWORD zdefiniowanym wcześniej hasłem bazy danych Cloud SQL. Pozostaw cudzysłów.
Naciśnij Ctrl+O, a następnie Enter, aby zapisać edytowany plik.
Naciśnij Ctrl+X, aby zamknąć edytor tekstu nano.
Ponownie uruchom serwer WWW:
sudo service apache2 restart
Wróć do karty przeglądarki, w której otwarty był zewnętrzny adres IP instancji maszyny wirtualnej bloghost. Gdy strona się wczyta, zobaczysz następujący komunikat:
Connected successfully
Uwaga: w rzeczywistym blogu stan połączenia z bazą danych nie byłby widoczny dla jego użytkowników. Połączeniem z bazą danych zarządzałby wyłącznie administrator.
Zadanie 6. Skonfiguruj aplikację w instancji Compute Engine do korzystania z obiektu Cloud Storage
W konsoli Google Cloud kliknij Cloud Storage > Zasobniki.
Kliknij zasobnik o nazwie takiej jak nazwa projektu Google Cloud.
W tym zasobniku znajduje się obiekt o nazwie my-excellent-blog.png. Skopiuj adres URL znajdujący się za ikoną linku wyświetlaną w kolumnie Dostęp publiczny obiektu lub po słowach „Link publiczny”, jeśli są wyświetlane.
Uwaga: jeśli nie widzisz ani ikony linku, ani napisu „Link publiczny”, spróbuj odświeżyć okno przeglądarki. Jeśli nadal nie widzisz ikony linku, wróć do Cloud Shell i upewnij się, że próba zmiany listy kontroli dostępu do obiektu za pomocą polecenia gsutil acl ch była udana.
Wróć do sesji ssh w instancji maszyny wirtualnej bloghost.
Wpisz to polecenie, aby ustawić katalog roboczy jako katalog główny dokumentów na serwerze WWW:
cd /var/www/html
Za pomocą edytora tekstu nano wyedytuj plik index.php.
sudo nano index.php
Za pomocą klawiszy strzałek przesuń kursor do wiersza zawierającego element h1. Naciśnij Enter, aby otworzyć nowy, pusty wiersz ekranu, a następnie wklej skopiowany wcześniej adres URL w tym wierszu.
Wklej ten znacznik HTML bezpośrednio przed adresem URL:
<img src='
Umieść zamykający pojedynczy cudzysłów i zamykający nawias kątowy na końcu adresu URL:
Skutkiem tych kroków jest umieszczenie wiersza zawierającego <img src='...'> bezpośrednio przed wierszem zawierającym <h1>...</h1>
Uwaga: nie kopiuj pokazanego tu adresu URL. Zamiast tego skopiuj adres URL wyświetlany przez przeglądarkę Storage w Twoim projekcie Cloud Platform.
Naciśnij Ctrl+O, a następnie Enter, aby zapisać edytowany plik.
Naciśnij Ctrl+X, aby zamknąć edytor tekstu nano.
Ponownie uruchom serwer WWW:
sudo service apache2 restart
Wróć do karty przeglądarki, w której otwarty był zewnętrzny adres IP instancji maszyny wirtualnej bloghost. Teraz gdy strona się wczyta, jej treść będzie zawierać obraz banera.
Gratulacje!
W tym module udało Ci się skonfigurować instancję Cloud SQL i połączyć z nią aplikację w instancji Compute Engine. Masz też za sobą pracę z zasobnikiem Cloud Storage.
Kończenie modułu
Po ukończeniu modułu kliknij Zakończ moduł. Google Cloud Skills Boost usunie wykorzystane zasoby i wyczyści konto.
Po zakończeniu modułu będzie można ocenić związane z nim wrażenia. Wybierz odpowiednią liczbę gwiazdek, wpisz komentarz, a następnie kliknij Prześlij.
Liczba gwiazdek oznacza odpowiednie oceny:
1 gwiazdka – bardzo zła,
2 gwiazdki – zła,
3 gwiazdki – neutralna,
4 gwiazdki – dobra,
5 gwiazdek – bardzo dobra.
Jeśli nie chcesz dzielić się swoją opinią, możesz zamknąć okno dialogowe.
Jeśli chcesz przesłać swoją opinię, sugestie lub propozycje poprawek, użyj karty Pomoc.
Copyright 2020 Google LLC. Wszelkie prawa zastrzeżone. Google i logo Google są znakami towarowymi Google LLC. Wszelkie inne nazwy firm i produktów mogą być znakami towarowymi odpowiednich podmiotów, z którymi są powiązane.
Moduły tworzą projekt Google Cloud i zasoby na określony czas.
Moduły mają ograniczenie czasowe i nie mają funkcji wstrzymywania. Jeśli zakończysz moduł, musisz go zacząć od początku.
Aby rozpocząć, w lewym górnym rogu ekranu kliknij Rozpocznij moduł.
Użyj przeglądania prywatnego
Skopiuj podaną nazwę użytkownika i hasło do modułu.
Kliknij Otwórz konsolę w trybie prywatnym.
Zaloguj się w konsoli
Zaloguj się z użyciem danych logowania do modułu. Użycie innych danych logowania może spowodować błędy lub naliczanie opłat.
Zaakceptuj warunki i pomiń stronę zasobów przywracania.
Nie klikaj Zakończ moduł, chyba że właśnie został przez Ciebie zakończony lub chcesz go uruchomić ponownie, ponieważ spowoduje to usunięcie wyników i projektu.
Ta treść jest obecnie niedostępna
Kiedy dostępność się zmieni, wyślemy Ci e-maila z powiadomieniem
Świetnie
Kiedy dostępność się zmieni, skontaktujemy się z Tobą e-mailem
Jeden moduł, a potem drugi
Potwierdź, aby zakończyć wszystkie istniejące moduły i rozpocząć ten
Aby uruchomić moduł, użyj przeglądania prywatnego
Uruchom ten moduł w oknie incognito lub przeglądania prywatnego. Dzięki temu unikniesz konfliktu między swoim kontem osobistym a kontem do nauki, co mogłoby spowodować naliczanie dodatkowych opłat na koncie osobistym.
W tym module utworzysz zasobnik Cloud Storage i umieścisz w nim obraz. Poza tym skonfigurujesz aplikację działającą w Compute Engine do korzystania z bazy danych zarządzanej przez Cloud SQL.
Czas trwania:
Konfiguracja: 0 min
·
Dostęp na 75 min
·
Ukończono w 50 min