Agentspace do strefowej grupy punktów końcowych sieci w bazie danych hostowanej samodzielnie

1. Wprowadzenie

W tym module nauczysz się wdrażać wewnętrzny system równoważenia obciążenia serwera proxy TCP i strefową grupę punktów końcowych sieci (NEG) opublikowaną jako usługa producenta PSC. NEG będzie składać się z co najmniej 1 instancji obliczeniowej w GCP, która samodzielnie hostuje bazę danych, np.JIRA, Confluence lub Sharepoint.

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łasnej sieci VPC lub sieci między chmurami, oferując prywatne połączenie z ich konsumentami. Na przykład gdy używasz Private Service Connect do uzyskiwania dostępu do strefowej grupy NEG, jesteś producentem usługi, a Google (Agentspace) jest konsumentem usługi.

Czego się nauczysz

  • Wymagania sieciowe dotyczące Agentspace
  • Sprawdzone metody dotyczące sieci Agentspace
  • Tworzenie usługi producenta Private Service Connect

Czego potrzebujesz

  • Projekt Google Cloud z uprawnieniami właściciela

2. Co utworzysz

Utworzysz sieć producenta, agentspace-psc-demo, aby wdrożyć wewnętrzny system równoważenia obciążenia proxy TCP i strefową grupę NEG opublikowaną jako usługa za pomocą usługi Private Service Connect (PSC).

3. Wymagania związane z siecią

Poniżej znajdziesz podział wymagań sieciowych dla sieci producenta. Konsumentem w tym ćwiczeniu jest Agentspace.

Komponenty

Opis

VPC (agentspace-psc-demo)

Sieć VPC w trybie niestandardowym

Podsieć NAT PSC

Pakiety z sieci VPC klienta są tłumaczone za pomocą źródłowego NAT (SNAT), dzięki czemu ich pierwotne źródłowe adresy IP są konwertowane na źródłowe adresy IP z podsieci NAT w sieci VPC producenta. NAT PSC obsługuje podsieć /29 na przyłącze usługi.

Podsieć reguły przekierowania PSC

Służy do przydzielania adresu IP regionalnemu wewnętrznemu systemowi równoważenia obciążenia TCP serwera proxy.Podsieć reguły przekierowania jest uważana za zwykłą podsieć.

Podsieć NEG

Służy do przydzielania adresu IP grupie punktów końcowych sieci ze zwykłej podsieci.

Podsieć tylko-proxy

Każdy serwer proxy systemu równoważenia obciążenia ma przypisany wewnętrzny adres IP. Pakiety wysyłane z serwera proxy do backendowej maszyny wirtualnej lub grupy punktów końcowych sieci mają źródłowy adres IP z podsieci tylko-proxy.Zalecana jest podsieć /23, ale obsługiwana jest też minimalna podsieć /26. W każdym regionie wymagana jest 1 regionalna podsieć proxy.

Usługa backendu

Usługa backendu pełni funkcję pomostu między systemem równoważenia obciążenia a zasobami backendu. W tym samouczku usługa backendu jest powiązana z regionalną grupą punktów końcowych sieci.

4. Sprawdzone metody

  • Strefowe grupy punktów końcowych sieci obsługują co najmniej 1 strefową instancję GCE na podstawie GCE_VM_IP_PORT.
  • Przed utworzeniem połączenia z usługą włącz dostęp globalny w regule przekierowania producenta.
  • Włącz dostęp globalny podczas tworzenia punktu końcowego przestrzeni agentów.
  • Wewnętrzny system równoważenia obciążenia serwera proxy TCP obsługuje też zarządzane i niezarządzane grupy instancji.
  • Istniejące systemy równoważenia obciążenia serwera proxy TCP lub przejściowe systemy równoważenia obciążenia Google Cloud mogą być udostępniane jako usługa producenta.

5. Topologia ćwiczeń z programowania

9a8a948b0a4ad91e.png

6. 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 lub Google Workspace, musisz je utworzyć.

fbef9caa1602edd0.png

a99b7ace416376c4.png

5e3ff691252acf41.png

  • Nazwa projektu to wyświetlana nazwa dla 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ć rozliczenia w konsoli Cloud, aby korzystać z zasobów i interfejsów API Google Cloud. Wykonanie tego laboratorium 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 programu 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 module praktycznym 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

Udostępnienie środowiska i połączenie się z nim może 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 stały katalog domowy o pojemności 5 GB i działa w Google Cloud, co znacznie zwiększa wydajność sieci i uwierzytelniania. Wszystkie zadania w tym laboratorium możesz wykonać w przeglądarce. Nie musisz niczego instalować.

7. 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]
zone1a=[YOUR-ZONE1a]
zone1b=[YOUR-ZONE1b]
echo $project
echo $region
echo $zone1a
echo $zone1b

Włącz wszystkie niezbędne usługi:

gcloud services enable compute.googleapis.com

8. Tworzenie sieci VPC producenta

Sieć VPC

W Cloud Shell wykonaj te czynności:

gcloud compute networks create agentspace-psc-demo --subnet-mode custom

Tworzenie podsieci

Podsieć PSC będzie powiązana z przyłączem usługi PSC na potrzeby translacji adresów sieciowych.

W Cloud Shell utwórz podsieć NAT PSC:

gcloud compute networks subnets create producer-psc-nat-subnet --network agentspace-psc-demo --range 172.16.10.0/28 --region $region --purpose=PRIVATE_SERVICE_CONNECT

W Cloud Shell utwórz podsieć reguły przekierowania producenta:

gcloud compute networks subnets create producer-psc-fr-subnet --network agentspace-psc-demo --range 172.16.20.0/28 --region $region --enable-private-ip-google-access

W Cloud Shell utwórz podsieć grupy punktów końcowych sieci:

gcloud compute networks subnets create neg-subnet --network agentspace-psc-demo --range 172.16.30.0/28 --region $region --enable-private-ip-google-access

W Cloud Shell utwórz regionalną podsieć tylko-proxy dla usługi

gcloud compute networks subnets create $region-proxy-only-subnet \
  --purpose=REGIONAL_MANAGED_PROXY \
  --role=ACTIVE \
  --region=$region \
  --network=agentspace-psc-demo \
  --range=10.10.10.0/24

Rezerwowanie adresu IP systemu równoważenia obciążenia

W Cloud Shell zarezerwuj wewnętrzny adres IP dla systemu równoważenia obciążenia:

gcloud compute addresses create zonal-neg-lb-ip \
  --region=$region \
  --subnet=producer-psc-fr-subnet

W Cloud Shell wyświetl zarezerwowany adres IP.

gcloud compute addresses describe zonal-neg-lb-ip \
  --region=$region | grep -i address:

Przykładowe dane wyjściowe:

gcloud compute addresses describe zonal-neg-lb-ip --region=$region | grep -i address:
address: 172.16.20.2

Konfigurowanie strefowej grupy punktów końcowych sieci

W sekcji poniżej utworzysz strefową grupę punktów końcowych sieci, która będzie zawierać co najmniej 1 adres IP lub kombinację adresu IP i portu docelowego:

  • Podstawowy wewnętrzny adres IPv4 interfejsu sieciowego maszyny wirtualnej.
  • Podstawowy wewnętrzny adres IPv4 interfejsu sieciowego maszyny wirtualnej oraz numer portu docelowego.
  • wewnętrzny adres IPv4 z zakresu adresów IP aliasów przypisany do interfejsu sieciowego maszyny wirtualnej;
  • wewnętrzny adres IPv4 z zakresu adresów IP aliasu przypisany do interfejsu sieciowego maszyny wirtualnej oraz numer portu docelowego;

Interfejs sieciowy zawierający punkt końcowy GCE_VM_IP_PORT musi znajdować się w podsieci NEG. Jeśli pominiesz numer portu w punkcie końcowym GCE_VM_IP_PORT, Google Cloud użyje domyślnego numeru portu NEG dla tego punktu końcowego.

W architekturze referencyjnej instancje GCE powiązane z regionalną grupą NEG składają się z tych elementów:

  • database-us-central1-a | us-central1-a | IP: 100.100.10.2 | Port: 443
  • database-us-central1-a | us-central1-b | IP: 100.100.10.3 | Port: 443
  • Nazwa podsieci: database-subnet-1

Utwórz strefową grupę punktów końcowych sieci dla strefy 1a

W następnej sekcji utworzysz grupę punktów końcowych sieci w każdej strefie, np.us-central1-a, i określisz nazwę podsieci użytej do utworzenia instancji GCE. W architekturze referencyjnej nazwa podsieci to database-subnet-1.

W Cloud Shell utwórz strefową grupę punktów końcowych sieci:

gcloud compute network-endpoint-groups create us-central-zonal-neg-1a \
    --zone=$zone1a \
    --network=agentspace-psc-demo \
    --subnet=database-subnet-1 \
    --default-port=443

W Cloud Shell zaktualizuj strefową grupę NEG, podając adres IP i port instancji GCE wdrożonej w strefie 1a. W architekturze referencyjnej instancja GCE to 100.100.10.2 Port 443 wdrożony w strefie us-central1-a.

gcloud compute network-endpoint-groups update us-central-zonal-neg-1a --zone=$zone1a --add-endpoint instance=database-us-central1-a,port=443

Utwórz strefową grupę NEG dla strefy 1b

W następnej sekcji utworzysz grupę punktów końcowych sieci w każdej strefie, np.us-central1-b, i określisz nazwę podsieci użytej do utworzenia instancji GCE. W architekturze referencyjnej nazwa podsieci to database-subnet-1.

W Cloud Shell utwórz strefową grupę punktów końcowych sieci:

gcloud compute network-endpoint-groups create us-central-zonal-neg-1b \
    --zone=$zone1b \
    --network=agentspace-psc-demo \
    --subnet=database-subnet-1 \
    --default-port=443

W Cloud Shell zaktualizuj strefowy NEG, podając adres IP i port instancji GCE wdrożonej w strefie 1b. W architekturze referencyjnej instancja GCE to 100.100.10.3 Port 443 wdrożony w strefie us-central1-b.

gcloud compute network-endpoint-groups update us-central-zonal-neg-1b --zone=$zone1b --add-endpoint instance=database-us-central1-b,port=443

Tworzenie regionalnej kontroli stanu

W Cloud Shell utwórz kontrolę stanu, która sprawdza port bazy danych lokalnej (443):

gcloud compute health-checks create tcp zonal-443-healthcheck \
    --region=$region \
    --port=443

Tworzenie zasad zapory sieciowej i reguł zapory sieciowej

W Cloud Shell wykonaj te czynności:

gcloud compute network-firewall-policies create agentspace-psc-demo-policy --global

gcloud compute network-firewall-policies associations create --firewall-policy agentspace-psc-demo-policy --network agentspace-psc-demo --name agentspace-psc-demo --global-firewall-policy

Ta reguła zapory sieciowej zezwala na ruch z zakresu podsieci NAT usługi PSC do wszystkich instancji w sieci.

W Cloud Shell wykonaj te czynności:

gcloud compute network-firewall-policies rules create 2001 --action ALLOW --firewall-policy agentspace-psc-demo-policy --description "allow traffic from PSC NAT subnet to GCE" --direction INGRESS --src-ip-ranges 172.16.10.0/28 --global-firewall-policy --layer4-configs=tcp

Ta reguła zapory sieciowej zezwala na ruch z zakresu sond kontroli stanu do wszystkich instancji w sieci. Pamiętaj, że port kontroli stanu i port aplikacji muszą być takie same.

W Cloud Shell wykonaj te czynności:

gcloud compute network-firewall-policies rules create 2002 --action ALLOW --firewall-policy agentspace-psc-demo-policy --description "allow internal probe health check range to GCE" --direction INGRESS --src-ip-ranges 35.191.0.0/16,130.211.0.0/22 --global-firewall-policy --layer4-configs=tcp:443

Ta reguła zapory sieciowej zezwala na ruch z zakresu podsieci tylko dla proxy do wszystkich instancji w sieci. Pamiętaj, że podsieć proxy i port aplikacji muszą być zgodne.

W Cloud Shell wykonaj te czynności:

gcloud compute network-firewall-policies rules create 2003 --action ALLOW --firewall-policy agentspace-psc-demo-policy --description "allow internal tcp proxy health check range to GCE" --direction INGRESS --src-ip-ranges 10.10.10.0/24 --global-firewall-policy --layer4-configs=tcp:443

9. Tworzenie usługi producenta

Tworzenie komponentów systemu równoważenia obciążenia

W Cloud Shell utwórz usługę backendu:

gcloud compute backend-services create producer-backend-svc --region=$region --load-balancing-scheme=INTERNAL_MANAGED --protocol=TCP --region=$region --health-checks=zonal-443-healthcheck --health-checks-region=$region

W Cloud Shell powiąż strefową grupę NEG us-central-zonal-neg-1a z usługą backendu:

gcloud compute backend-services add-backend producer-backend-svc \
   --network-endpoint-group=us-central-zonal-neg-1a  \
   --network-endpoint-group-zone=$zone1a \
   --balancing-mode=CONNECTION \
   --max-connections-per-endpoint=100 \
   --region=$region

W Cloud Shell powiąż strefową grupę NEG us-central-zonal-neg-1b z usługą backendu:

gcloud compute backend-services add-backend producer-backend-svc \
   --network-endpoint-group=us-central-zonal-neg-1b  \
   --network-endpoint-group-zone=$zone1b \
   --balancing-mode=CONNECTION \
   --max-connections-per-endpoint=100 \
   --region=$region

W Cloud Shell utwórz docelowy serwer proxy TCP, aby kierować żądania do usługi backendu:

gcloud compute target-tcp-proxies create producer-lb-tcp-proxy \
      --backend-service=producer-backend-svc  \
      --region=$region

W poniższej składni utwórz regułę przekierowania (wewnętrzny system równoważenia obciążenia serwera proxy TCP) z włączonym dostępem globalnym.

W Cloud Shell wykonaj te czynności:

gcloud compute forwarding-rules create producer-zonal-neg-fr \
     --load-balancing-scheme=INTERNAL_MANAGED \
     --network-tier=PREMIUM \
     --network=agentspace-psc-demo \
     --subnet=producer-psc-fr-subnet \
     --address=zonal-neg-lb-ip \
     --target-tcp-proxy=producer-lb-tcp-proxy \
     --target-tcp-proxy-region=$region \
     --region=$region \
     --allow-global-access \
     --ports=443

Sprawdzanie stanu backendu

W następnej sekcji sprawdź stan (zielony) usługi backendu i powiązanych z nią instancji obliczeniowych za pomocą konsoli Google Cloud. Przejdź do:

Usługi sieciowe → Równoważenie obciążenia → Producer-backend-svc

dbbc97dcef9db785.png

Utwórz załącznik usługi

Aby opublikować usługę, musisz utworzyć przyłącze usługi Private Service Connect. Usługę możesz opublikować z automatycznym lub wyraźnym zatwierdzeniem.

  • Aby opublikować usługę i automatycznie zezwolić każdemu konsumentowi na połączenie się z nią, postępuj zgodnie z instrukcjami w artykule Publikowanie usługi z automatycznym zatwierdzaniem.
  • Aby opublikować usługę z wyraźną zgodą konsumenta, w ustawieniach połączenia przyłącza usługi wybierz Akceptuj połączenia w wybranych projektach i pozostaw puste pole Akceptowane projekty.
  • Po wygenerowaniu załącznika usługi punkty końcowe konsumenta, które żądają dostępu do usługi producenta, początkowo przejdą w stan oczekiwania. Aby autoryzować połączenie, producent musi zaakceptować projekt, z którego pochodzi żądanie punktu końcowego konsumenta.

W Cloud Shell utwórz połączenie z usługą cc-database1-svc-attachment z automatycznym zatwierdzaniem:

gcloud compute service-attachments create zonal-database1-svc-attachment --region=$region --producer-forwarding-rule=producer-zonal-neg-fr --connection-preference=ACCEPT_AUTOMATIC --nat-subnets=producer-psc-nat-subnet

Następnie uzyskaj i zanotuj załącznik usługi wymieniony w identyfikatorze URI selfLink zaczynającym się od „projects”, aby skonfigurować punkt końcowy PSC w przestrzeni agentów.

selfLink: projects/<your-project-id>/regions/<your-region>/serviceAttachments/zonal-database1-svc-attachment

W Cloud Shell wykonaj te czynności:

gcloud compute service-attachments describe zonal-database1-svc-attachment --region=$region

Przykładowe oczekiwane dane wyjściowe:

connectionPreference: ACCEPT_AUTOMATIC
creationTimestamp: '2025-07-12T16:00:22.429-07:00'
description: ''
enableProxyProtocol: false
fingerprint: zOpeRQnPWSc=
id: '1784245893044590569'
kind: compute#serviceAttachment
name: zonal-database1-svc-attachment
natSubnets:
- https://www.googleapis.com/compute/v1/projects/$project-svc4/regions/us-central1/subnetworks/producer-psc-nat-subnet
pscServiceAttachmentId:
  high: '119824781489996776'
  low: '1784245893044590569'
reconcileConnections: false
region: https://www.googleapis.com/compute/v1/projects/$project-svc4/regions/us-central1
selfLink: https://www.googleapis.com/compute/v1/projects/$project-svc4/regions/us-central1/serviceAttachments/zonal-database1-svc-attachment
targetService: https://www.googleapis.com/compute/v1/projects/$project-svc4/regions/us-central1/forwardingRules/producer-zonal-neg-fr

W konsoli Cloud otwórz:

Usługi sieciowe → Private Service Connect → Opublikowane usługi

898fe7673474be14.png

4d0b77966af14c7a.png

10. Nawiązywanie połączenia punktu końcowego PSC w przestrzeni agentów

Powiąż identyfikator URI usługi Producers Service Attachment z Agentspace, upewniając się, że wybrano dostęp globalny. Poniżej znajdziesz przykład włączenia dostępu globalnego za pomocą architektury referencyjnej Service Attachment.

cb16ba8d7cfb86dd.png

Aby sfinalizować tworzenie sieci prywatnej, zapoznaj się z instrukcjami dotyczącymi zewnętrznych źródeł danych w Agentspace.

Sprawdzanie poprawności punktu końcowego PSC w Cloud Console

Aby potwierdzić, że połączenie PSC między przestrzenią agentów (konsumentem) a producentem zostało nawiązane, sprawdź projekt najemcy przestrzeni agentów połączony z usługą producenta. Znajdziesz ją w sekcji „Połączone projekty”. Identyfikator projektu najemcy jest przypisywany losowo, ale zawsze kończy się ciągiem „tp”.

W konsoli Cloud możesz sprawdzić połączenie PSC. W konsoli Cloud otwórz:

Usługi sieciowe → Private Service Connect → Opublikowana usługa, a następnie wybierz usługę zonal-database1-svc-attachment.

2f6b7830ce3db3b7.png

11. Czyszczenie danych

Usuwanie komponentów modułu z jednego terminala Cloud Shell

gcloud compute service-attachments delete zonal-database1-svc-attachment --region=$region -q

gcloud compute forwarding-rules delete producer-zonal-neg-fr --region=$region -q

gcloud compute target-tcp-proxies delete producer-lb-tcp-proxy --region=$region -q

gcloud compute backend-services delete producer-backend-svc --region=$region -q

gcloud compute network-firewall-policies rules delete 2001 --firewall-policy agentspace-psc-demo-policy --global-firewall-policy -q

gcloud compute network-firewall-policies rules delete 2002 --firewall-policy agentspace-psc-demo-policy --global-firewall-policy -q

gcloud compute network-firewall-policies rules delete 2003 --firewall-policy agentspace-psc-demo-policy --global-firewall-policy -q

gcloud compute network-firewall-policies associations delete --firewall-policy=agentspace-psc-demo-policy  --name=agentspace-psc-demo --global-firewall-policy -q

gcloud compute network-firewall-policies delete agentspace-psc-demo-policy --global -q

gcloud compute network-endpoint-groups delete us-central-zonal-neg-1a --zone=$zone1a -q

gcloud compute network-endpoint-groups delete us-central-zonal-neg-1b --zone=$zone1b -q

gcloud compute addresses delete zonal-neg-lb-ip --region=$region -q

gcloud compute networks subnets delete $region-proxy-only-subnet --region=$region -q

gcloud compute networks subnets delete producer-psc-nat-subnet --region=$region -q

gcloud compute networks subnets delete producer-psc-fr-subnet --region=$region -q

gcloud compute networks subnets delete neg-subnet --region=$region -q

gcloud compute health-checks delete zonal-443-healthcheck --region=us-central1 -q

gcloud compute networks delete agentspace-psc-demo -q

12. Gratulacje

Gratulujemy skonfigurowania i opublikowania usługi producenta z usługą Private Service Connect.

Utworzono infrastrukturę producenta, dowiedziano się, jak utworzyć strefową grupę punktów końcowych sieci, usługę producenta i powiązać przyłącze usługi z Agentspace.

Cosmopup uważa, że ćwiczenia z programowania są świetne!!

c911c127bffdee57.jpeg

Co dalej?

Wypróbuj te ćwiczenia z programowania:

Więcej informacji i filmy

Dokumentacja