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

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.

145ea4672c3a3b14.png

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.

259493afd914f68b.png

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

def88091b42bfe4d.png

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

1e7035ea608d7d23.png

4. Konfiguracja i wymagania

Samodzielne konfigurowanie środowiska

  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ó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.
  1. 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:

55efc1aaa7a4d3ad.png

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:

7ffe5cbb04455448.png

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

1367ec0136aa5ad6.png

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

18940483f646ed15.png

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

2d4684d722d31e4b.png

9fa909f826dec963.png

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.

eb3ef74d3ae71f1a.png

Połączenie zostało skonfigurowane

29017202470ad81f.png

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:

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 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!!

c911c127bffdee57.jpeg

Co dalej?

Sprawdź te ćwiczenia z programowania:

Więcej informacji i filmy

Dokumentacja