Google API'leri için Private Service Connect

1. Giriş

Private Service Connect ile VPC ağınızdaki genel dahili IP adreslerini kullanarak özel uç noktalar oluşturabilirsiniz. Bu dahili IP adreslerine, Storage-pscendpoint.p.googleapis.com ve bigtable-adsteam.p.googleapis.com gibi anlamlı adlarla DNS adları atayabilirsiniz. Storage.googleapis.com gibi herkese açık hizmet uç noktalarına API istekleri göndermek yerine, istekleri VPC ağınıza özel ve dahili olan Private Service Connect uç noktasına gönderebilirsiniz.

Bu adlar ve IP adresleri, VPC ağınıza ve Cloud VPN tünelleri veya Cloud Interconnect ekleri (VLAN'lar) kullanarak buna bağlanan tüm şirket içi ağlar içinde yer alır.

Hangi trafiğin hangi uç noktaya gittiğini kontrol edebilir ve trafiğin Google Cloud'da kaldığını gösterebilirsiniz.

Neler öğreneceksiniz?

  • Private Service Connect kullanım alanları
  • Ağ gereksinimleri
  • Desteklenen API'ler
  • Private Service Connect uç noktası oluşturma
  • Cloud Storage paketi oluşturma
  • Cloud DNS gizli alt bölgeleri oluşturma ve güncelleme
  • Herkese açık Googleapis'e erişmek için bir NAT GW oluşturun
  • BOTO yapılandırma dosyası oluşturma ve güncelleme
  • PSC hizmeti uç noktanızla çözümlenen VM1'de gsutil listesini gerçekleştirme
  • Herkese açık googleapis.com'a karşı çözümlenen VM2'de gsutil listesini gerçekleştirme
  • DNS çözümlemesini doğrulamak için Tcpdump'ı kullanın

Gerekenler

  • DNS, nano veya vi düzenleyici hakkında bilgi

2. Private Service Connect kullanım alanları

Aynı VPC ağında birden fazla Private Service Connect uç noktası oluşturabilirsiniz. Belirli bir uç nokta için bant genişliği sınırlaması yoktur. Private Service Connect uç noktaları genel dahili IP adreslerini kullandığından VPC ağınızdaki herhangi bir kaynak tarafından kullanılabilir.

Birden fazla uç nokta ile Cloud Router'ı ve güvenlik duvarı kurallarını kullanarak farklı ağ yolları belirtebilirsiniz.

  • Bazı sanal makinelerin bir Private Service Connect uç noktası üzerinden Google API'lerine erişmesini önlemek ve diğer sanal makinelerin erişimine izin vermek için güvenlik duvarı kuralları oluşturabilirsiniz.
  • Bir sanal makine örneğinde, internete giden hiçbir trafiğe izin vermeyen bir güvenlik duvarı kuralınız olabilir. Private Service Connect uç noktalarına gönderilen trafik Google'a ulaşmaya devam eder.
  • Cloud VPN tüneli veya Cloud Interconnect eki (VLAN) kullanarak VPC'ye bağlanan şirket içi ana makineleriniz varsa bazı istekleri tünel ya da VLAN üzerinden gönderirken herkese açık internet üzerinden başka istekler gönderebilirsiniz. Bu yapılandırma, Özel Google Erişimi tarafından desteklenmeyen Google Kitaplar gibi hizmetler için tüneli veya VLAN'ı atlamanıza olanak tanır. Bu yapılandırmayı oluşturmak için bir Private Service Connect uç noktası oluşturun, Cloud Router özel rota bildirimlerini kullanarak Private Service Connect uç nokta IP adreslerinin reklamını yapın ve bir Cloud DNS gelen yönlendirme politikası etkinleştirin. Uygulama, bazı istekleri Private Service Connect uç noktasının adını kullanarak Cloud VPN tüneli veya Cloud Interconnect eki (VLAN) üzerinden, bazılarını ise varsayılan DNS adını kullanarak internet üzerinden gönderebilir.
  • Şirket içi ağınızı birden fazla Cloud Interconnect eki (VLAN) kullanarak VPC ağınıza bağlarsanız şekil 2'de gösterildiği gibi şirket içinden trafiğin bir kısmını bir VLAN üzerinden, kalanını ise diğerlerinin üzerine gönderebilirsiniz. Bu sayede Google'ın ağı yerine kendi geniş alanlı ağınızı kullanabilir ve coğrafi gereksinimleri karşılamak için veri hareketini kontrol edebilirsiniz. Bu yapılandırmayı oluşturmak için iki Private Service Connect uç noktası oluşturun. İlk VLAN'ı yöneten Cloud Router'ın BGP oturumundaki ilk uç nokta için özel bir rota reklamı oluşturun ve ikinci VLAN'ı yöneten Cloud Yönlendiricinin BGP oturumundaki ikinci uç nokta için farklı bir özel rota reklamı oluşturun. Private Service Connect uç nokta adını kullanacak şekilde yapılandırılan şirket içi ana makineler, ilgili Cloud Interconnect eki (VLAN) üzerinden trafik gönderir.
  • Ayrıca etkin/aktif bir topolojide birden fazla Cloud Interconnect eki (VLAN) kullanabilirsiniz. VLAN'ları yöneten Cloud Yönlendiricileri'ndeki BGP oturumları için özel rota bildirimlerini kullanarak aynı Private Service Connect uç nokta IP adresinin reklamını yapıyorsanız şirket içi sistemlerden uç noktalara gönderilen paketler ECMP kullanılarak VLAN'lar arasında yönlendirilir.

5e142c2fbf6f010e.png

Şekil 1. Private Service Connect, Cloud Router ve şirket içi ana makineleri yapılandırarak Google API'lerine trafik göndermek için hangi Cloud Interconnect ekinin (VLAN) kullanılacağını kontrol edebilirsiniz.

3. Ağ gereksinimleri

Private Service Connect'i kullanmak için harici IP adresi olmayan sanal makine örneklerinin birincil arayüzlerinin Özel Google Erişimi'nin etkin olduğu bir alt ağda olması gerekir.

Harici IP adresine sahip bir sanal makine, alt ağı için Özel Google Erişiminin etkin olup olmadığına bakılmaksızın Private Service Connect uç noktalarını kullanarak Google API'lerine ve hizmetlerine erişebilir. Private Service Connect uç noktasının bağlantısı Google'ın ağı içinde kalır.

Private Service Connect uç noktalarına, eşleşen VPC ağlarından erişilemez.

Desteklenen API'ler

Private Service Connect uç noktası oluşturduğunuzda, erişmeniz gereken API paketini seçersiniz: all-apis veya vpc-sc.

API paketleri, Özel Google Erişimi VIP'leri aracılığıyla kullanılabilen API'lere erişim sağlar.

  • All-apis paketi, private.googleapis.com ile aynı API'lere erişim sağlar.
  • vpc-sc paketi, restricted.googleapis.com ile aynı API'lere erişim sağlar.

4. Codelab topolojisi ve kullanım alanı

2ac275eb86f26338.png

Şekil1 - Codelab topolojisi

Codelab kullanım alanı

Müşterimiz, bulut depolama alanı veri aktarımı için hem gizli (ara bağlantı) hem de herkese açık Googleapis erişimine ihtiyaç duyar. Müşterilerimizin ihtiyaçlarını karşılamak için benzersiz /32 adresi, BOTO yapılandırması ve DNS kaydı güncellemeleri içeren Private Service Connect'i dağıtacağız. 1. sanal makine, bulut depolama paketi erişimi için PSC'yi kullanır; Buna karşın VM2, NAT GW üzerinden herkese açık googleapis.com IP aralıklarını kullanır.

Laboratuvarın tüm özellikleri Google Cloud Platform'da dağıtılmıştır ancak aynı kullanım alanı, trafik ayırma gerektiren Karma Bulut dağıtımı için de geçerlidir.

5. Kurulum ve Gereksinimler

Kendi hızınızda ortam kurulumu

  1. Cloud Console'da oturum açıp yeni bir proje oluşturun veya mevcut bir projeyi yeniden kullanın. (Gmail veya G Suite hesabınız yoksa hesap oluşturmanız gerekir.)

MrEseyJH4tg9PuS3GzJa72onCqawwQiRm04c0YjnpR6WD3IciP1ICDh5e5RoxrG3tc5y44_Ynn9GB0Igjo3sTE0BlsAnCxJdhXn7egP3tX4rkzkub7ZCjOKc70kJvl07REnmPb3TGg

HgKQ1sLCGDGbz0e3RCc-FNa3fQliCtq67H-Oj9jzzYn_upkmNN1lOMQrQm8Jdvo6EEYAvSwDEjpH37bIG9ouBJcmS_xFYV1IHJoyAhsasS1SfYtZkO-RBwWPXRrr3Zt4r31ETcjJeQ

KHAY2ncSMFGZ2vGxcMEcNoIy_cuWGCaWAsrH0KsOVwkV5e93Ypfcq3sQ_HPIrV-NSocegQN2PnRUku_CVi1MM89O6qHIU6E32ZypJPxojkbRTJXET5JvtskIXgzFMk18-4NnNjzCJA

Tüm Google Cloud projelerinde benzersiz bir ad olan proje kimliğini unutmayın (yukarıdaki ad zaten alınmış ve size uygun olmayacaktır!). Bu kod laboratuvarın ilerleyen bölümlerinde PROJECT_ID olarak adlandırılacaktır.

  1. Sonraki adımda, Google Cloud kaynaklarını kullanmak için Cloud Console'da faturalandırmayı etkinleştirmeniz gerekir.

Bu codelab'i çalıştırmanın maliyeti, yüksek değildir. "Temizleme" bölümündeki talimatları izlediğinizden emin olun. bölümünde, bu eğiticinin dışında faturalandırmayla karşılaşmamanız için kaynakları nasıl kapatacağınız konusunda tavsiyelerde bulunuyoruz. Yeni Google Cloud kullanıcıları 300 ABD doları ücretsiz deneme programından yararlanabilir.

Cloud Shell'i başlatma

Google Cloud dizüstü bilgisayarınızdan uzaktan çalıştırılabilse de bu codelab'de, Cloud'da çalışan bir komut satırı ortamı olan Google Cloud Shell'i kullanacaksınız.

GCP Console'da, sağ üstteki araç çubuğunda yer alan Cloud Shell simgesini tıklayın:

yEqEFRN4OGfeGJEfJplSt5sGY95BluU78i3Lk0Opo9caOYfrWUPBi_RglIfo9x078tH5Z_Obgq1wOhrEPV8k5OvMgI5e3aam1a7teXuimwTy-evcupc34_UEMmfAFkV-hnXwl559rg

Ortamı sağlamak ve bağlamak yalnızca birkaç dakika sürer. Tamamlandığında şuna benzer bir sonuç görmeniz gerekir:

BxRCLVCDNXX4OxwHppzaY9ghvuFTsgsozreyEHvRK9GPfsh3sW-kdwev6_gZdkX5FWPvb7M_Vp4FoyjFWwZxBMK6CLXiPwJgFbhz8Tgec-tyQR7GEdNjGMBca052yM8ga0UqzdHAmw

İhtiyacınız olan tüm geliştirme araçlarını bu sanal makinede bulabilirsiniz. 5 GB boyutunda kalıcı bir ana dizin sunar ve Google Cloud üzerinde çalışarak ağ performansını ve kimlik doğrulamasını büyük ölçüde iyileştirir. Bu laboratuvardaki tüm çalışmalarınızı yalnızca bir tarayıcıyla yapabilirsiniz.

6. Başlamadan önce

API'leri etkinleştir

Cloud Shell'de proje kimliğinizin ayarlandığından emin olun

gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
projectname=YOUR-PROJECT-NAME
echo $projectname

Gerekli tüm hizmetleri etkinleştirin

gcloud services enable compute.googleapis.com
gcloud services enable servicedirectory.googleapis.com
gcloud services enable dns.googleapis.com

7. VPC ağı oluştur

VPC Ağı

Cloud Shell'den

gcloud compute networks create psc-lab --subnet-mode custom

Çıkış

Created
NAME     SUBNET_MODE  BGP_ROUTING_MODE  IPV4_RANGE  GATEWAY_IPV4
psc-lab  CUSTOM       REGIONAL

Alt Ağ Oluştur

Cloud Shell'den

gcloud compute networks subnets create psclab-subnet \
        --network psc-lab --range 10.0.0.0/24 --region us-central1 

–enable-private-ip-google-access

Çıkış

Created
NAME             REGION       NETWORK  RANGE
psclab-subnet  us-central1  psc-lab  10.0.0.0/24

Güvenlik Duvarı Kuralları Oluşturma

Cloud Shell'den

gcloud compute firewall-rules create psclab-ssh \
        --network psc-lab --allow tcp:22 --source-ranges=35.235.240.0/20

Çıkış

NAME        NETWORK  DIRECTION  PRIORITY  ALLOW   DENY  DISABLED
psclab-ssh  psc-lab  INGRESS    1000      tcp:22        False

Cloud NAT örneği oluşturma

Cloud Router oluşturma

Cloud Shell'den

gcloud compute routers create crnat \
    --network psc-lab \
    --asn 65000 \
    --region us-central1

Cloud NAT oluşturma

Cloud Shell'den

gcloud compute routers nats create cloudnat \
    --router=crnat \
    --auto-allocate-nat-external-ips \
    --nat-all-subnet-ip-ranges \
    --enable-logging \
    --region us-central1

8. Private Service Connect uç noktası oluşturma

Private Service Connect uç nokta IP'sini (<pscendpointip>) yapılandırdığınızda VPC'nizde tanımlanmamış benzersiz bir IP adresi sağlamanız gerekir.

Cloud Shell'den

gcloud beta compute addresses create psc-ip \
    --global \
    --purpose=PRIVATE_SERVICE_CONNECT \
    --addresses=<pscendpointip> \
    --network=psc-lab

"pscendpointip" öğesini depola (laboratuvar süresince)

(gcloud compute addresses list --filter=name:psc-ip --format="value(address)")

pscendpointip=$(gcloud compute addresses list --filter=name:psc-ip --format="value(address)")
echo $pscendpointip

Uç noktayı Google API'lerine ve hizmetlerine bağlamak için bir iletim kuralı oluşturun.

Cloud Shell'den

gcloud beta compute forwarding-rules create pscendpoint \
    --global \
    --network=psc-lab \
    --address=psc-ip \
    --target-google-apis-bundle=all-apis

Yapılandırılmış Private Service Connect uç noktalarını listeleme

Cloud Shell'den

gcloud compute forwarding-rules list  \
--filter target="(all-apis OR vpc-sc)" --global

Yapılandırılmış Private Service Connect uç noktalarını açıklama

Cloud Shell'den

gcloud compute forwarding-rules describe \
    pscendpoint --global

9. Paket oluşturma

Bir Cloud Storage paketi oluşturun ve BUCKET_NAME paketinin yerine tercih ettiğiniz global olarak benzersiz bir ad verin.

Cloud Shell'den

gsutil mb  -l us-central1 -b on gs://BUCKET_NAME

Mağaza "BUCKET_NAME" (laboratuvar süresince)

BUCKET_NAME=YOUR BUCKET NAME
echo $BUCKET_NAME

10. DNS Yapılandırması

Google Cloud Storage kullanan bir uygulamanız olduğunu varsayalım. Private Service Connect olmadan uygulamalarınız varsayılan olarak herkese açık bir adresle sonuçlanacak şekilde "storage.googleapis.com"a bağlanabilir. Private Service Connect ile "storage-psclab.p.googleapis.com" gibi adlar oluşturup kullanabilirsiniz. Ad ve adresler, VPC ağınıza ve ekli tüm şirket içi ağlara özeldir.

DNS için Private Service Connect, SERVICE-ENDPOINT.p.googleapis.com adlandırma kuralına göre çalışır. Yukarıda sağlanan örnekte "storage" SERVICE ve "psclab" son noktadır. "-" mutlaka eklenmelidir SERVICE ile ENDPOINT arasında.

Private Service Connect uç noktasını kullanarak Cloud Storage'a erişmek için Private Service Connect uç nokta IP adresine yönlendiren bir DNS (A) kaydı Storage-psclab.p.googleapis.com oluşturun.

DNS Özel Alt Bölgesi oluştur

gcloud dns --project=$projectname managed-zones create psc-dns-zone --description="" --dns-name="p.googleapis.com." --visibility="private" --networks="psc-lab"

DNS A Kaydı Oluştur

gcloud dns --project=$projectname record-sets transaction start --zone=psc-dns-zone

gcloud dns --project=$projectname record-sets transaction add $pscendpointip --name=storage-pscendpoint.p.googleapis.com. --ttl=300 --type=A --zone=psc-dns-zone

gcloud dns --project=$projectname record-sets transaction execute --zone=psc-dns-zone

11. Sanal Makineler Oluşturma

Private Service Connect'i doğrulamak için kullanılan sanal makineyi (psc-instance-1) oluşturun

Cloud Shell'den

  gcloud compute instances create psc-instance-1 \
    --subnet psclab-subnet \
    --zone us-central1-a \
    --image=centos-7-v20210122 \
    --image-project=centos-cloud \
    --no-address \
    --metadata=startup-script=yum\ install\ tcpdump\ -y$'\n'yum\ install\ bind-utils\ -y$'\n'yum\ install\ nano\ -y 

Sanal makine örneğine (psc-instance-1) giriş yapın

Cloud Shell aracılığıyla sanal makineye SSH üzerinden bağlan

gcloud compute ssh --zone "us-central1-a" "psc-instance-1" --project "$projectname"

Üç kez + simgesini (aşağıdaki ekran görüntüsü) tıklayarak ek Cloud Shell terminalleri oluşturun.

69ea94e1527912bb.png

Herkese açık Googleapis'leri doğrulamak için kullanılan Sanal Makine'yi (psc-instance-2) oluşturun

2. sekmeden

  gcloud compute instances create psc-instance-2 \
    --subnet psclab-subnet \
    --zone us-central1-a \
    --image=centos-7-v20210122 \
    --image-project=centos-cloud \
    --no-address \
    --metadata=startup-script=yum\ install\ tcpdump\ -y$'\n'yum\ install\ bind-utils\ -y$'\n'yum\ install\ nano\ -y 

2. sekmeden SSH'den Cloud Shell aracılığıyla sanal makineye

gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
projectname=YOUR-PROJECT-NAME
echo $projectname


gcloud compute ssh --zone "us-central1-a" "psc-instance-2" --project "$projectname"

3. sekmeden SSH'ye Cloud Shell üzerinden psc-instance-1'e

gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
projectname=YOUR-PROJECT-NAME
echo $projectname


gcloud compute ssh --zone "us-central1-a" "psc-instance-1" --project "$projectname"

4. sekmeden Cloud Shell aracılığıyla psc-instance-2'ye Kabuk SSH'si

gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
projectname=YOUR-PROJECT-NAME
echo $projectname


gcloud compute ssh --zone "us-central1-a" "psc-instance-2" --project "$projectname"

12. Mevcut Gsutil davranışını doğrulama

4. sekmeden (psc-instance-2) tcpdump'ı başlatın ve DNS trafiğini izleyin

sudo tcpdump -vv -i eth0 port 53

2. sekmeden (psc-instance-2) depolama paketi DNS aramasını incele

BUCKET_NAME=YOUR BUCKET NAME
echo $BUCKET_NAME
gsutil -D ls gs://$BUCKET_NAME

gsutil hata ayıklamasını inceleyin, DNS çözümlemesi için HOST store.googleapis.com kullanılır

<snip>
send: 'GET /storage/v1/b/$BUCKET_NAME/o?delimiter=%2F&projection=noAcl&versions=False&fields=prefixes%2CnextPageToken%2Citems%2Fname&alt=json&maxResults=1000 HTTP/1.1\r\nHost: storage.googleapis.com\r\ncontent-length: 0\r\nauthorization: Bearer ya29.c.KpkB7wfaMjfc_WXEKCeNF4Md0fEHnfDU7tqBf3cd0u43yEmYXqj8fX_X5wWdNdDVH6k1EkjeAeIJDzKGvyjPOkf1Io2kVeUqYX69sDv53huW1NslffjAHKchbZ0CP3Cg83TS3Pa55jLcuE0TLbYycVrgSbD3H90LaapUGbWD3kj4IsJLf9J8R98Bqobu8HZwwqk92hlZ4zVzRqOM\r\naccept-encoding: gzip, deflate\r\naccept: application/json\r\nuser-agent: apitools Python/2.7.5 gsutil/4.57 (linux2) analytics/disabled interactive/True command/ls google-cloud-sdk/324.0.0\r\n\r\n'
reply: 'HTTP/1.1 200 OK\r\n'
<snip>

4. sekmeden (psc-instance-2) depolama alanı grubuna erişirken GoogleAPI.com herkese açık DNS A kayıtlarının kullanıldığını doğrulayın.

metadata.google.internal.domain > psc-instance-2.c.yourprojectname.internal.33973: [udp sum ok] 36442 q: A? storage.googleapis.com. 11/0/0 storage.googleapis.com. A 108.177.111.128, storage.googleapis.com. A 142.250.128.128, storage.googleapis.com. A 74.125.70.128, storage.googleapis.com. A 74.125.201.128, storage.googleapis.com. A 64.233.183.128, storage.googleapis.com. A 173.194.198.128, storage.googleapis.com. A 172.217.219.128, storage.googleapis.com. A 142.250.136.128, storage.googleapis.com. A 209.85.234.128, storage.googleapis.com. A 172.217.212.128, storage.googleapis.com. A 172.217.214.128

13. Gsutil davranışını değiştir

Önceki bir adımda, PSC uç noktası IP adresine eşlenmiş bir Özel DNS Alt Bölgesi ve A kaydı oluşturduğunuzu hatırlatmak isteriz. Aşağıdaki adımda, artık psc-instance-1 sanal makinesindeki BOTO dosyasını güncelleyerek gsutil'in nasıl davrandığını kontrol edeceğiz.

Sekme 1'deki (psc-instance-1) sanal makine örneği terminalinden varsayılan BOTO yapılandırmasını görüntüleyin

[psc-instance ~]$ more  /etc/boto.cfg

Çıkış (project_id'niz farklılık gösterir)

[GSUtil]
default_project_id  = 234086459238
default_api_version = 2

[GoogleCompute]
service_account = default

BOTO yapılandırmasını nano veya VI Editor'ı kullanarak güncelleyin. Tüm girişleri kopyalayıp yapıştırdığınızdan emin olun.

Örnek: sudo nano /etc/boto.cfg

veya

Örnek: sudo vi /etc/boto.cfg

Sanal makine örneği terminal sekmesinden 1(psc-instance-1)

[Credentials]
gs_host = storage-pscendpoint.p.googleapis.com
gs_host_header = storage.googleapis.com
gs_json_host = storage-pscendpoint.p.googleapis.com
gs_json_host_header = www.googleapis.com

Yapılandırmayı doğrulayın. [Kimlik bilgilerinin] sırası DNS araması için kritik öneme sahiptir

more /etc/boto.cfg
[Credentials]
gs_host = storage-pscendpoint.p.googleapis.com
gs_host_header = storage.googleapis.com
gs_json_host = storage-pscendpoint.p.googleapis.com
gs_json_host_header = www.googleapis.com

[GSUtil]
default_project_id  = 234086459238
default_api_version = 2

[GoogleCompute]
service_account = default

14. Güncellenen gsutil arama davranışını doğrulama

3. sekmeden (psc-instance-1) tcpdump'ı başlatın ve DNS trafiğini izleyin

sudo tcpdump -vv -i eth0 port 53

1. sekmeden (psc-instance-1) depolama paketi gsutil aramasını inceleme

BUCKET_NAME=YOUR BUCKET NAME
echo $BUCKET_NAME

gsutil -D ls gs://$BUCKET_NAME

Hata ayıklama günlükleri, depolama paketine Private Service Connect uç noktası "pscendpoint" üzerinden erişilebildiğini onaylar

Çıkış:

<snip>
INFO 0131 22:14:18.795986 base_api.py] Making http GET to https://storage-pscendpoint.p.googleapis.com/storage/v1/b/$BUCKET_NAME/o?delimiter=%2F&projection=noAcl&versions=False&fields=prefixes%2CnextPageToken%2Citems%2Fname&alt=json&maxResults=1000
INFO 0131 22:14:18.796415 base_api.py] Headers: {u'Host': 'www.googleapis.com',
 'accept': 'application/json',
 'accept-encoding': 'gzip, deflate',
 'content-length': '0',
 'user-agent': 'apitools Python/2.7.5 gsutil/4.57 (linux2) analytics/disabled interactive/True command/ls google-cloud-sdk/324.0.0'}
INFO 0131 22:14:18.796502 base_api.py] Body: (none)
connect: (storage-pscendpoint.p.googleapis.com, 443)
send: 'GET /storage/v1/b/psc-bucket/o?delimiter=%2F&projection=noAcl&versions=False&fields=prefixes%2CnextPageToken%2Citems%2Fname&alt=json&maxResults=1000 HTTP/1.1\r\ncontent-length: 0\r\naccept-encoding: gzip, deflate\r\naccept: application/json\r\nuser-agent: apitools Python/2.7.5 gsutil/4.57 (linux2) analytics/disabled interactive/True command/ls google-cloud-sdk/324.0.0\r\nhost: www.googleapis.com\r\nauthorization: Bearer ya29.c.KpkB7wd3XWiYeRyTuth5_HPlNV-hPwc2Nn7RSIeMpzrpa_j4EsMPl2m_mDGKAcGHvYIgiC5bT2UVQirAPpSbbpToa6G6lkaBbH5SZwHwgNXYfisp5Ww1UjXe4rTa69a_Wp0WesafcwPNnYzDo3xf5VGh3iGhySA04kTXuyT--MgOU8U-XLII2LJQxUWlV8KEdrvyCuqRb-jsDdk_\r\n\r\n'
reply: 'HTTP/1.1 200 OK\r\n'
<snip>

3. sekmede (psc-instance-1) PSC uç nokta IP'nizin, depolama alanı paketinize erişmeye çalışırken kullanılan DNS A kaydı olduğunu doğrulayın.

@psc-instance-1 ~]$ sudo tcpdump -vv -i eth0 port 53
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
05:02:33.936256 IP (tos 0x0, ttl 64, id 55416, offset 0, flags [DF], proto UDP (17), length 82)
    psc-instance-1.c.yourprojectname.internal.42296 > metadata.google.internal.domain: [bad udp cksum 0x5e4e -> 0xcceb!] 34796+ A? storage-pscendpoint.p.googleapis.com. (54)
05:02:33.936269 IP (tos 0x0, ttl 64, id 55417, offset 0, flags [DF], proto UDP (17), length 82)
    psc-instance-1.c.yourprojectname.internal.42296 > metadata.google.internal.domain: [bad udp cksum 0x5e4e -> 0x3ebd!] 5632+ AAAA? storage-pscendpoint.p.googleapis.com. (54)
05:02:33.944018 IP (tos 0x0, ttl 64, id 0, offset 0, flags [none], proto UDP (17), length 98)
    metadata.google.internal.domain > psc-instance-1.c.yourprojectname.42296: [udp sum ok] 34796 q: A? storage-pscendpoint.p.googleapis.com. 1/0/0 storage-pscendpoint.p.googleapis.com. A 10.10.110.10 (70)
05:02:33.946005 IP (tos 0x0, ttl 64, id 0, offset 0, flags [none], proto UDP (17), length 175)

Private Service Connect uç nokta IP'sinin artık DNS çözümlemesi için kullanıldığını doğrulama

Sekme1'den

nslookup storage-pscendpoint.p.googleapis.com

Çıkış

@psc-instance ~]$ nslookup storage-pscendpoint.p.googleapis.com
Server:         169.254.169.254
Address:        169.254.169.254#53

Non-authoritative answer:
Name:   storage-pscendpoint.p.googleapis.com
Address: <pscip>

15. Temizleme adımları

Sanal makine örneğinden çıkış (tüm sekmeler)

exit

Laboratuvar bileşenlerini tek bir Cloud Shell terminalinden silin

gcloud compute routers nats delete cloudnat --router=crnat --region=us-central1 --quiet

gcloud compute routers delete crnat --region=us-central1 --quiet

gcloud beta compute forwarding-rules delete pscendpoint --global --quiet

gcloud beta compute addresses delete psc-ip --global --quiet

gsutil rm -r gs://$BUCKET_NAME

gcloud compute instances delete psc-instance-1 --zone=us-central1-a --quiet

gcloud compute instances delete psc-instance-2 --zone=us-central1-a --quiet

gcloud compute firewall-rules delete psclab-ssh --quiet

gcloud compute networks subnets delete psclab-subnet --region us-central1 --quiet

gcloud compute networks delete psc-lab --quiet

Console'da doğru projeyi görüntülediğinizden emin olun, ardından Networking Services → Cloud DNS'yi seçin

d0ed4bd585006e45.png

Tanımlayın ve "psc-dns-zone"u tıklayın

903532e68a262111.png

"storage-pscendpoint.p.googleapis.com" kayıt kümesini seçin ardından Delete Record Sets (Kayıt Kümelerini Sil) seçeneğini tıklayın.

e89394b43ddb5ce2.png

Laboratuvar temizliğini tamamlamak için Delete Zone (Bölgeyi Sil) seçeneğini tıklayın.

b2a612d7b3a80030.png

16. Tebrikler!

Codelab'i tamamladığınız için tebrikler.

İşlediklerimiz

  • Private Service Connect kullanım alanları
  • Ağ gereksinimleri
  • Desteklenen API'ler
  • Private Service Connect uç noktası oluşturuldu
  • Cloud Storage paketi oluşturuldu
  • Cloud DNS gizli alt bölgeleri oluşturuldu
  • BOTO yapılandırma dosyası güncellendi
  • NAT GW oluşturuldu
  • VM1'de, PSC hizmeti uç noktanıza karşı çözümlenen gsutil listesi oluşturun
  • VM2'de, herkese açık googleapis.com'a karşı çözümlenen gsutil listesi gerçekleştir
  • DNS çözümlemesini doğrulamak için Tcpdump'ı kullanın