1. Wprowadzenie
W tym ćwiczeniu wykonasz połączenie wychodzące z Cloud SQL wdrożonego za pomocą Private Service Connect jako producenta usługi.
Private Service Connect to funkcja sieci Google Cloud, która umożliwia konsumentom prywatny dostęp do usług zarządzanych z poziomu sieci VPC. Podobnie umożliwia producentom usług zarządzanych hostowanie tych usług we własnych, oddzielnych sieciach VPC i oferowanie prywatnego połączenia z klientami. Na przykład gdy używasz Private Service Connect do uzyskiwania dostępu do Lookera, jesteś konsumentem usługi, a Google jest producentem usługi, jak pokazano na ilustracji 1.

Dostęp wychodzący, zwany też odwrotnym PSC, umożliwia konsumentowi utworzenie opublikowanej usługi jako producenta, aby umożliwić Lookerowi dostęp do punktów końcowych lokalnie, w sieci VPC, do usług zarządzanych i internetu. Połączenia wychodzące można wdrażać w dowolnym regionie, niezależnie od tego, gdzie jest wdrożona usługa PSC Looker, jak pokazano na rysunku 2.

Czego się nauczysz
- Tworzenie usługi producenta instancji Cloud SQL Private Service Connect
- Tworzenie punktu końcowego Private Service Connect w Lookerze jako konsumenta usługi
Czego potrzebujesz
- Projekt Google Cloud z uprawnieniami właściciela
- Istniejąca instancja Looker PSC

2. Co utworzysz
Utworzysz instancję Cloud SQL PSC wdrożoną jako dostawca usługi powiązany z usługą Looker PSC jako odbiorcą usługi.
Dostęp do usługi producenta jest weryfikowany przez te działania:
- Tworzenie w Lookerze punktu końcowego PSC powiązanego z przyłączem usługi producenta
- Tworzenie połączenia z bazą danych z Cloud SQL PSC za pomocą konsoli Looker
- Testowanie połączenia z Cloud SQL PSC przez uwierzytelnianie i uzyskiwanie dostępu do predefiniowanego schematu
3. Topologia ćwiczeń z programowania

4. Konfiguracja i wymagania
Samodzielne konfigurowanie środowiska
- Zaloguj się w konsoli Google Cloud i utwórz nowy projekt lub użyj istniejącego. Jeśli nie masz jeszcze konta Gmail ani Google Workspace, musisz je utworzyć.



- Nazwa projektu to wyświetlana nazwa uczestników tego projektu. Jest to ciąg znaków, który nie jest używany przez interfejsy API Google. Zawsze możesz ją zaktualizować.
- Identyfikator projektu jest unikalny we wszystkich projektach Google Cloud i nie można go zmienić po ustawieniu. Konsola Cloud automatycznie generuje unikalny ciąg znaków. Zwykle nie musisz się tym przejmować. W większości ćwiczeń z programowania musisz odwoływać się do identyfikatora projektu (zwykle oznaczanego jako
PROJECT_ID). Jeśli wygenerowany identyfikator Ci się nie podoba, możesz wygenerować inny losowy identyfikator. Możesz też spróbować własnej nazwy i sprawdzić, czy jest dostępna. Po tym kroku nie można go zmienić i pozostaje on taki przez cały czas trwania projektu. - Warto wiedzieć, że istnieje trzecia wartość, numer projektu, której używają niektóre interfejsy API. Więcej informacji o tych 3 wartościach znajdziesz w dokumentacji.
- Następnie musisz włączyć płatności w konsoli Cloud, aby korzystać z zasobów i interfejsów API Google Cloud. Wykonanie tego ćwiczenia nie będzie kosztować dużo, a może nawet nic. Aby wyłączyć zasoby i uniknąć naliczania opłat po zakończeniu tego samouczka, możesz usunąć utworzone zasoby lub projekt. Nowi użytkownicy Google Cloud mogą skorzystać z bezpłatnego okresu próbnego, w którym mają do dyspozycji środki w wysokości 300 USD.
Uruchamianie Cloud Shell
Z Google Cloud można korzystać zdalnie na laptopie, ale w tym ćwiczeniu użyjesz Google Cloud Shell, czyli środowiska wiersza poleceń działającego w chmurze.
W konsoli Google Cloud kliknij ikonę Cloud Shell na pasku narzędzi w prawym górnym rogu:

Uzyskanie dostępu do środowiska i połączenie się z nim powinno zająć tylko kilka chwil. Po zakończeniu powinno wyświetlić się coś takiego:

Ta maszyna wirtualna zawiera wszystkie potrzebne narzędzia dla programistów. Zawiera również stały katalog domowy o pojemności 5 GB i działa w Google Cloud, co znacznie zwiększa wydajność sieci i usprawnia proces uwierzytelniania. Wszystkie zadania w tym ćwiczeniu w Codelabs możesz wykonać w przeglądarce. Nie musisz niczego instalować.
5. Zanim zaczniesz
Włącz interfejsy API
W Cloud Shell sprawdź, czy identyfikator projektu jest skonfigurowany:
gcloud config list project
gcloud config set project [YOUR-PROJECT-ID]
project=[YOUR-PROJECT-ID]
region=[YOUR-REGION]
echo $project
echo $region
Włącz wszystkie niezbędne usługi:
gcloud services enable compute.googleapis.com
6. Określanie projektu Looker PSC
Utworzenie instancji PSC Cloud SQL wymaga określenia dozwolonych projektów PSC, dlatego projekt najemcy PSC Looker musi zostać podany w momencie tworzenia instancji Cloud SQL lub zaktualizowany, jeśli używasz istniejącej instancji.
Określanie projektu PSC Lookera za pomocą gcloud
W Cloud Shell zastąp [INSTANCE_NAME] nazwą instancji Looker PSC, aby uzyskać identyfikator projektu Looker PSC:
gcloud looker instances describe [INSTANCE_NAME] --region=$region --format=json | grep -i lookerServiceAttachmentUri
W przykładowych danych wyjściowych t7ec792caf2a609d1-tp to projekt PSC Lookera:
gcloud looker instances describe looker-psc-instance --region=us-central1 --format=json | grep -i lookerServiceAttachmentUri
"lookerServiceAttachmentUri": "projects/t7ec792caf2a609d1-tp/regions/us-central1/serviceAttachments/looker-psc-f51982e2-ac0d-48b1-91bb-88656971c183",
Określanie projektu Looker PSC za pomocą Cloud Console
W konsoli Cloud otwórz:
Looker → instancja Looker PSC

7. Tworzenie instancji Cloud SQL producenta
W następnej sekcji utworzysz instancję PSC Cloud SQL używaną do celów testowych, która zostanie wdrożona ze wstępnie zdefiniowanym hasłem określającym projekt PSC Lookera na liście dozwolonych projektów PSC.
Tworzenie Cloud SQL PSC
W Cloud Shell utwórz instancję i włącz Private Service Connect, a następnie zastąp [INSTANCE_PROJECT] identyfikatorem projektu PSC Looker.
gcloud sql instances create cloud-sql-psc-demo \
--project=$project \
--region=$region \
--enable-private-service-connect \
--allowed-psc-projects=[INSTANCE_PROJECT] \
--availability-type=regional \
--no-assign-ip \
--cpu=2 --memory=4GB \
--database-version=MYSQL_8_0 \
--enable-bin-log \
--root-password=password123
Przykład:
gcloud sql instances create cloud-sql-psc-demo \
--project=$project \
--region=$region \
--enable-private-service-connect \
--allowed-psc-projects=t7ec792caf2a609d1-tp \
--availability-type=regional \
--no-assign-ip \
--cpu=2 --memory=4GB \
--database-version=MYSQL_8_0 \
--enable-bin-log \
--root-password=password123
Uzyskiwanie przyłącza usługi Cloud SQL
Po utworzeniu instancji Cloud SQL z włączoną funkcją Private Service Connect uzyskaj identyfikator URI przyłącza usługi, który będzie używany w późniejszym kroku do utworzenia punktu końcowego Private Service Connect w Lookerze.
W Cloud Shell wykonaj te czynności:
gcloud sql instances describe [INSTANCE_NAME] --project=$project | grep -i pscServiceAttachmentLink
Przykładowe dane wyjściowe zawierają identyfikator URI przyłącza usługi:
projects/o6222fa10e2a50865p-tp/regions/us-central1/serviceAttachments/a-39d809aaecae-psc-service-attachment-127fc34733744155
gcloud sql instances describe cloud-sql-psc-demo --project=$project | grep -i pscServiceAttachmentLink:
pscServiceAttachmentLink: projects/o6222fa10e2a50865p-tp/regions/us-central1/serviceAttachments/a-39d809aaecae-psc-service-attachment-127fc34733744155
W konsoli Google Cloud możesz uzyskać przyłącze usługi PSC Cloud SQL:
W konsoli Cloud otwórz:
SQL → Instancja SQL → Połączenia

8. Nawiązywanie połączenia z punktem końcowym PSC w Lookerze
W następnej sekcji powiążesz przyłącze usługi producentów Cloud SQL z usługą Looker Core PSC za pomocą flagi –psc-service-attachment w Cloud Shell dla pojedynczej domeny.
W Cloud Shell utwórz powiązanie PSC, aktualizując te parametry, aby pasowały do Twojego środowiska:
- INSTANCE_NAME: nazwa instancji Lookera (podstawowej usługi Google Cloud).
- DOMAIN_1: sql.database1.com
- SERVICE_ATTACHMENT_1: identyfikator URI zarejestrowany podczas opisywania instancji Cloud SQL PSC
- REGION: region, w którym jest hostowana instancja Lookera (podstawowej usługi Google Cloud).
W Cloud Shell wykonaj te czynności:
gcloud looker instances update INSTANCE_NAME \
--psc-service-attachment domain=DOMAIN_1,attachment=SERVICE_ATTACHMENT_URI_1 \
--region=REGION
Przykład:
gcloud looker instances update looker-psc-instance \
--psc-service-attachment domain=sql.database1.com,attachment=projects/o6222fa10e2a50865p-tp/regions/us-central1/serviceAttachments/a-39d809aaecae-psc-service-attachment-127fc34733744155 \
--region=us-central1
W Cloud Shell sprawdź, czy stan połączenia serviceAttachments to „ACCEPTED”. Pamiętaj, aby zaktualizować nazwę instancji PSC Looker:
gcloud looker instances describe [INSTANCE_NAME] --region=$region --format=json
Przykład:
gcloud looker instances describe looker-psc-instance --region=$region --format=json
Przykład:
user@cloudshell$ gcloud looker instances describe looker-psc-instance --region=$region --format=json
{
"adminSettings": {},
"createTime": "2024-08-23T00:00:45.339063195Z",
"customDomain": {
"domain": "looker.cosmopup.com",
"state": "AVAILABLE"
},
"encryptionConfig": {},
"lookerVersion": "24.14.18",
"name": "projects/project/locations/us-central1/instances/looker-psc-instance",
"platformEdition": "LOOKER_CORE_ENTERPRISE_ANNUAL",
"pscConfig": {
"allowedVpcs": [
"projects/project/global/networks/looker-psc-demo",
"projects/project/global/networks/looker-shared-vpc"
],
"lookerServiceAttachmentUri": "projects/t7ec792caf2a609d1-tp/regions/us-central1/serviceAttachments/looker-psc-f51982e2-ac0d-48b1-91bb-88656971c183",
"serviceAttachments": [
{
"connectionStatus": "ACCEPTED",
"localFqdn": "sql.database1.com",
"targetServiceAttachmentUri": "projects/o6222fa10e2a50865p-tp/regions/us-central1/serviceAttachments/a-39d809aaecae-psc-service-attachment-127fc34733744155"
}
]
},
"pscEnabled": true,
"state": "ACTIVE",
"updateTime": "2024-09-04T14:40:05.613026012Z"
}
Sprawdzanie poprawności punktu końcowego PSC w Cloud Console
W konsoli Cloud możesz sprawdzić połączenie PSC.
W konsoli Cloud otwórz:
Looker → Instancja Lookera → Szczegóły


9. Integracja usługi Looker PSC z usługą Cloud SQL PSC
W następnej sekcji użyjesz konsoli Looker, aby utworzyć połączenie z bazą danych z instancją Cloud SQL PSC.
Otwórz ADMINISTRATOR → BAZA DANYCH → POŁĄCZENIA i kliknij DODAJ POŁĄCZENIE.
Wypełnij szczegóły połączenia zgodnie ze zrzutem ekranu poniżej i kliknij POŁĄCZ.

Połączenie zostało skonfigurowane

10. Sprawdzanie łączności z Lookerem
W sekcji poniżej dowiesz się, jak sprawdzić połączenie Lookera z instancją Cloud SQL PSC za pomocą działania „test” w Lookerze.
Otwórz połączenie danych ADMIN → DATABASE → CONNECTIONS → cloud-sql-psc-demo → Test (ADMINISTRATOR → BAZA DANYCH → POŁĄCZENIA → cloud-sql-psc-demo → Testuj).
Po wybraniu opcji Test Looker połączy się z bazą danych postgres w sposób wskazany poniżej:

Czyszczenie danych
Usuwanie komponentów laboratorium z jednego terminala Cloud Shell
gcloud sql instances delete cloud-sql-psc-demo -q
11. Gratulacje
Gratulacje. Udało Ci się skonfigurować i zweryfikować połączenie z usługą Cloud SQL PSC za pomocą konsoli Looker opartej na Private Service Connect.
Utworzono instancje Cloud SQL PSC jako usługę producenta i punkt końcowy Looker PSC, który umożliwiał połączenie z usługą producenta.
Cosmopup uważa, że ćwiczenia z programowania są świetne!!

Co dalej?
Sprawdź te ćwiczenia z programowania:
- Korzystanie z Private Service Connect do publikowania i używania usług
- Łączenie z usługami lokalnymi przez sieć hybrydową przy użyciu usługi Private Service Connect i wewnętrznego systemu równoważenia obciążenia serwera proxy TCP
- Dostęp do wszystkich opublikowanych ćwiczeń z kodem Private Service Connect
Więcej informacji i filmy
Dokumentacja
- Nawiązywanie połączenia z instancją za pomocą Private Service Connect | Cloud SQL for MySQL | Google Cloud
- gcloud sql instances create | Dokumentacja Google Cloud CLI
- Tworzenie instancji usługi Private Service Connect w Lookerze (podstawowej usłudze Google Cloud)
- Jak opublikować usługę za pomocą Private Service Connect