Dostęp z południa do PSC Lookera w Cloud SQL

1. Wprowadzenie

W tym laboratorium kodu nawiążesz połączenie z Cloud SQL utworzone za pomocą Private Service Connect jako producent usługi.

Private Service Connect to funkcja sieci Google Cloud, która umożliwia użytkownikom dostęp do usług zarządzanych z poziomu ich sieci VPC. Podobnie pozwala producentom usług zarządzanych hostować te usługi w swoich własnych oddzielnych sieciach VPC i oferować prywatne połączenie swoim klientom. Jeśli na przykład używasz Private Service Connect, aby uzyskać dostęp do Lookera, to Ty jesteś konsumentem usługi, a Google jest producentem usługi, jak pokazano na rysunku 1.

145ea4672c3a3b14.png

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

259493afd914f68b.png

Czego się nauczysz

  • Tworzenie usługi producenta instancji Cloud SQL z usługą Private Service Connect
  • Tworzenie punktu końcowego Private Service Connect w Lookerze jako konsumenta usługi

Czego potrzebujesz

def88091b42bfe4d.png

2. Co utworzysz

Utworzysz instancję PSC Cloud SQL wdrożoną jako producent usług powiązana z PSC Looker jako konsument usług.

Dostęp do usługi Producer weryfikują te działania:

  • Tworzenie w Lookerze punktu końcowego PSC powiązanego z przyłączem usługi producenta
  • Utwórz połączenie z bazą danych Cloud SQL PSC za pomocą konsoli Looker
  • Testowanie połączenia z PSC Cloud SQL przez uwierzytelnianie i dostęp do zdefiniowanego schematu

3. Topologia ćwiczeń z programowania

1e7035ea608d7d23.png

4. Konfiguracja i wymagania

Konfiguracja środowiska w samodzielnym tempie

  1. 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ć.

fbef9caa1602edd0.png

a99b7ace416376c4.png

5e3ff691252acf41.png

  • Nazwa projektu to wyświetlana nazwa uczestników tego projektu. Jest to ciąg znaków, którego nie używają interfejsy API Google. Zawsze możesz ją zaktualizować.
  • Identyfikator projektu jest niepowtarzalny w ramach wszystkich projektów Google Cloud i nie można go zmienić (po ustawieniu). Konsola Cloud automatycznie generuje unikalny ciąg znaków. Zwykle nie ma znaczenia, jaki to ciąg. W większości laboratoriów z kodem musisz podać identyfikator projektu (zwykle oznaczony jako PROJECT_ID). Jeśli nie podoba Ci się wygenerowany identyfikator, możesz wygenerować inny losowy. Możesz też spróbować użyć własnego adresu e-mail, aby sprawdzić, czy jest on dostępny. Nie można go zmienić po wykonaniu tego kroku. Pozostanie on do końca projektu.
  • Informacyjnie: istnieje jeszcze 3 wartość, numer projektu, której używają niektóre interfejsy API. Więcej informacji o wszystkich 3 wartościach znajdziesz w dokumentacji.
  1. Następnie musisz włączyć rozliczenia w konsoli Cloud, aby korzystać z zasobów i interfejsów API Cloud. Przejście przez ten samouczek nie będzie kosztowne, a być może nawet bezpłatne. Aby wyłączyć zasoby i uniknąć obciążenia opłatami po zakończeniu samouczka, możesz usunąć utworzone zasoby lub usunąć 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

Google Cloud można obsługiwać zdalnie z laptopa, ale w tym ćwiczeniu będziesz używać 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:

55efc1aaa7a4d3ad.png

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

7ffe5cbb04455448.png

Ta maszyna wirtualna zawiera wszystkie potrzebne narzędzia dla programistów. Zawiera stały katalog domowy o pojemności 5 GB i działa w Google Cloud, co znacznie poprawia wydajność sieci i uwierzytelnianie. Wszystkie zadania w tym CodeLab 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 PSC w Looker

Tworzenie instancji Cloud SQL PSC wymaga identyfikacji dozwolonych projektów PSC, dlatego podczas tworzenia instancji Cloud SQL należy podać projekt klienta Looker PSC lub zaktualizować go, jeśli używasz istniejącej instancji.

Określanie projektu PSC Looker za pomocą gcloud

W Cloud Shell zastąp [INSTANCE_NAME] nazwą instancji PSC Lookera, aby uzyskać identyfikator projektu PSC Lookera:

gcloud looker instances describe [INSTANCE_NAME] --region=$region --format=json | grep -i lookerServiceAttachmentUri

W przykładowych danych wyjściowych t7ec792caf2a609d1-tp jest projekt PSC Looker:

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 PSC Looker za pomocą konsoli Cloud

W Cloud Console:

Looker → Instancja PSC

1367ec0136aa5ad6.png

7. Tworzenie instancji Cloud SQL dla producenta

W następnej sekcji utworzysz instancji PSC Cloud SQL używaną do celów testowych, wdrożoną z użyciem wstępnie zdefiniowanego hasła, które określa projekt PSC Lookera na liście dozwolonych projektów PSC.

Tworzenie PSC Cloud SQL

W Cloud Shell utwórz instancję i włącz usługę Private Service Connect, a następnie zastąp [INSTANCE_PROJECT] identyfikatorem projektu PSC usługi 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 załącznika usługi Cloud SQL

Po utworzeniu instancji Cloud SQL z włączoną usługą Private Service Connect uzyskaj URI załącznika 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 załącznika 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 Cloud Console możesz uzyskać przyłącze usługi PSC Cloud SQL:

W Cloud Console:

SQL → Instancja SQL → Połączenia

18940483f646ed15.png

8. Nawiązywanie połączenia z punktem końcowym PSC w Lookerze

W następnej sekcji powiążesz załącznik usługi Cloud SQL Producers z PSC Lookera Core, używając flagi –psc-service-attachment w Cloud Shell dla jednej domeny.

W Cloud Shell utwórz powiązanie psc, aktualizując te parametry zgodnie ze swoim środowiskiem:

  • 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 hostowana jest 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ć plik INSTANCE_NAME w 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"
}

Weryfikowanie punktu końcowego PSC w Cloud Console

W Cloud Console możesz zweryfikować połączenie z PSC

W Cloud Console:

Looker → Instancja Lookera → Szczegóły

2d4684d722d31e4b.png

9fa909f826dec963.png

9. Integracja PSC Lookera z PSC Cloud SQL

W następnej sekcji użyjesz konsoli Looker do utworzenia połączenia z bazą danych z instancją PSC Cloud SQL.

Kliknij ADMINISTRATOR > BAZA DANYCH > POŁĄCZENIA > wybierz DODAJ POŁĄCZENIE.

Podaj szczegóły połączenia zgodnie z informacjami na poniższym zrzucie ekranu i kliknij POŁĄCZ.

eb3ef74d3ae71f1a.png

Połączenie zostało skonfigurowane

29017202470ad81f.png

10. Sprawdzanie połączenia z Lookerem

W tej sekcji dowiesz się, jak sprawdzić połączenie Lookera z instancją PSC Cloud SQL za pomocą działania „test” Lookera.

Przejdź do połączenia danych ADMINISTRATOR > BAZA DANYCH > POŁĄCZENIA > cloud-sql-psc-demo > Test.

Po wybraniu opcji Test Looker połączy się z bazą danych postgres w ten sposób:

d9729caf9a61bfc2.png

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 PSC Cloud SQL za pomocą konsoli Looker opartej na Private Service Connect.

Utworzono instancje PSC Cloud SQL jako usługę producenta i punkt końcowy PSC Looker, które umożliwiają połączenie z usługą producenta.

Cosmopup uważa, że ćwiczenia z programowania są niesamowite.

c911c127bffdee57.jpeg

Co dalej?

Zapoznaj się z tymi ćwiczeniami z programowania

Więcej informacji i filmy

Dokumenty referencyjne