1. Giriş
Private Service Connect ile Google API'lerine erişmek için VPC ağınızda 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ı adlar içeren DNS adları atayabilirsiniz. API isteklerini storage.googleapis.com gibi herkese açık hizmet uç noktalarına göndermek yerine, istekleri VPC ağınız için özel ve dahili olan Private Service Connect uç noktasına gönderebilirsiniz.
Bu adlar ve IP adresleri, VPC ağınızın ve Cloud VPN tünelleri veya Cloud Interconnect ekleri (VLAN'lar) kullanılarak kendisine bağlanan tüm şirket içi ağların içindedir.
Hangi trafiğin hangi uç noktaya gideceğini kontrol edebilir ve trafiğin Google Cloud içinde 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 özel bölgelerini oluşturma ve güncelleme
- Herkese açık googleapis'e erişmek için NAT ağ geçidi oluşturma
- BOTO yapılandırma dosyası oluşturma ve güncelleme
- VM1'de PSC hizmeti uç noktanıza göre çözümlenen gsutil list komutunu çalıştırın.
- Herkese açık googleapis.com'a göre çözümlenen VM2'de gsutil list komutunu çalıştırın.
- DNS çözümlemesini doğrulamak için Tcpdump'ı kullanma
Gerekenler
- DNS, nano veya vi düzenleyici hakkında bilgi sahibi olmanız gerekir.
2. Private Service Connect kullanım alanları
Aynı VPC ağında birden fazla Private Service Connect uç noktası oluşturabilirsiniz. Belirli bir uç noktaya yönelik bant genişliği sınırlaması yoktur. Private Service Connect uç noktaları genel dahili IP adresleri kullandığından VPC ağınızdaki tüm kaynaklar 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 Private Service Connect uç noktası üzerinden Google API'lerine erişmesini engellerken diğer sanal makinelerin erişmesine izin vermek için güvenlik duvarı kuralları oluşturabilirsiniz.
- Bir sanal makine örneğinde internete giden tüm trafiği engelleyen bir güvenlik duvarı kuralınız olabilir. Private Service Connect uç noktalarına gönderilen trafik yine de Google'a ulaşır.
- Cloud VPN tüneli veya Cloud Interconnect ara bağlantı eki (VLAN) kullanarak bir VPC'ye bağlı şirket içi ana makineleriniz varsa bazı istekleri tünel veya VLAN üzerinden, diğer istekleri ise herkese açık internet üzerinden 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, Private Service Connect uç noktası IP adreslerini Cloud Router özel rota reklamlarını kullanarak duyurun ve Cloud DNS gelen iletme politikasını etkinleştirin. Uygulama, Private Service Connect uç noktasının adını kullanarak bazı istekleri Cloud VPN tüneli veya Cloud Interconnect ara bağlantı eki (VLAN) üzerinden, diğerlerini 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ğlıyorsanız şirket içinden gelen trafiğin bir kısmını bir VLAN üzerinden, geri kalanını ise diğerleri üzerinden gönderebilirsiniz (Şekil 2'de gösterildiği gibi). Bu sayede, Google'ın geniş alan ağı yerine kendi geniş alan ağınızı kullanabilir ve coğrafi şartları 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 bildirimi oluşturun ve ikinci VLAN'ı yöneten Cloud Router'ın BGP oturumundaki ikinci uç nokta için farklı bir özel rota bildirimi oluşturun. Private Service Connect uç nokta adını kullanacak şekilde yapılandırılmış şirket içi ana makineler, trafiği ilgili Cloud Interconnect ara bağlantı eki (VLAN) üzerinden gönderir.
- Etkin/etkin topolojide birden fazla Cloud Interconnect eki (VLAN) de kullanabilirsiniz. VLAN'ları yöneten Cloud Router'lardaki BGP oturumları için özel rota bildirimlerini kullanarak aynı Private Service Connect uç nokta IP adresini duyurursanız şirket içi sistemlerden uç noktalara gönderilen paketler, ECMP kullanılarak VLAN'lar arasında yönlendirilir.

Ş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 ara bağlantı ekinin (VLAN) kullanılacağını kontrol edebilirsiniz.
3. Ağ gereksinimleri
Private Service Connect'i kullanmak için harici IP adresleri olmayan sanal makine (VM) örneklerinin birincil arayüzü, Özel Google Erişimi'nin etkin olduğu bir alt ağda olmalıdır.
Harici IP adresi olan bir sanal makine, alt ağı için Özel Google Erişimi etkinleştirilmiş olsun veya olmasın Private Service Connect uç noktalarını kullanarak Google API'lerine ve hizmetlerine erişebilir. Private Service Connect uç noktasına bağlantı, Google'ın ağı içinde kalır.
Private Service Connect uç noktalarına eşlenmiş VPC ağlarından erişilemez.
Desteklenen API'ler
Private Service Connect uç noktası oluşturduğunuzda, erişmeniz gereken API paketini (all-apis veya vpc-sc) seçersiniz.
API paketleri, Özel Google Erişimi VIP'leri üzerinden 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ı

Şekil 1: Codelab topolojisi
Codelab kullanım alanı:
Müşterimiz, bulut depolama alanı verilerinin aktarılması için özel (ara bağlantı) ve herkese açık googleapis erişiminin bir arada kullanılmasını gerektiriyor. Müşterilerimizin gereksinimlerini karşılamak için benzersiz bir /32 adresi, BOTO yapılandırması ve DNS kaydı güncellemelerinden oluşan Private Service Connect'i dağıtacağız. 1. sanal makine, bulut depolama alanı paketi erişimi için PSC'yi kullanır. Buna karşılık, 2. sanal makine NAT GW üzerinden herkese açık googleapis.com IP aralıklarını kullanır.
Laboratuvarın tüm yönleri Google Cloud Platform'da dağıtılır. Ancak aynı kullanım alanı, trafik ayrımı gerektiren hibrit bulut dağıtımı için de geçerlidir.
5. Kurulum ve Gereksinimler
Yönlendirmesiz ortam kurulumu
- Cloud Console'da oturum açın ve yeni bir proje oluşturun veya mevcut bir projeyi yeniden kullanın. Gmail veya Google Workspace hesabınız yoksa hesap oluşturmanız gerekir.



Proje kimliğini unutmayın. Bu kimlik, tüm Google Cloud projelerinde benzersiz bir addır (Yukarıdaki ad zaten alınmış olduğundan sizin için çalışmayacaktır). Bu codelab'in ilerleyen kısımlarında PROJECT_ID olarak adlandırılacaktır.
- Ardından, Google Cloud kaynaklarını kullanmak için Cloud Console'da faturalandırmayı etkinleştirmeniz gerekir.
Bu codelab'i tamamlamak neredeyse hiç maliyetli değildir. Bu eğitimin ötesinde faturalandırma ücreti alınmaması için kaynakları nasıl kapatacağınız konusunda size tavsiyelerde bulunan "Temizleme" bölümündeki talimatları uyguladığınızdan emin olun. Google Cloud'un yeni kullanıcıları 300 ABD doları değerinde ücretsiz deneme programından yararlanabilir.
Cloud Shell'i başlatma
Google Cloud, dizüstü bilgisayarınızdan uzaktan çalıştırılabilir. Ancak 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 Cloud Shell simgesini tıklayın:

Ortamın temel hazırlığı ve bağlanması yalnızca birkaç dakikanızı alır. İşlem tamamlandığında aşağıdakine benzer bir sonuç görürsünüz:

Bu sanal makine, ihtiyaç duyacağınız tüm geliştirme araçlarını içerir. 5 GB boyutunda kalıcı bir ana dizin sunar ve Google Cloud üzerinde çalışır. Bu sayede ağ performansı ve kimlik doğrulama önemli ölçüde güçlenir. Bu laboratuvardaki çalışmalarınızın tamamını yalnızca bir tarayıcı kullanarak 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
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
Güvenlik Duvarı Kuralları Oluşturma
IAP'nin sanal makine örneklerinize bağlanmasına izin vermek için aşağıdaki özellikleri içeren bir güvenlik duvarı kuralı oluşturun:
- IAP kullanarak erişmek istediğiniz tüm sanal makine örnekleri için geçerlidir.
- 35.235.240.0/20 IP aralığından gelen giriş trafiğine izin verir. Bu aralık, IAP'nin TCP yönlendirme için kullandığı tüm IP adreslerini içerir.
Cloud Shell'den
gcloud compute firewall-rules create psclab-ssh \
--network psc-lab --allow tcp:22 --source-ranges=35.235.240.0/20
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ç noktası IP'sini <pscendpointip> yapılandırırken VPC'nde tanımlanmamış benzersiz bir IP adresi sağlamanız gerekir.
Cloud Shell'den
gcloud compute addresses create psc-ip \
--global \
--purpose=PRIVATE_SERVICE_CONNECT \
--addresses=192.168.255.250 \
--network=psc-lab
Laboratuvar süresince "pscendpointip" değerini saklayın.
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 yönlendirme kuralı oluşturun.
Cloud Shell'den
gcloud 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
Cloud Storage paketi oluşturun ve BUCKET_NAME'i tercih ettiğiniz küresel olarak benzersiz bir adla değiştirin.
Cloud Shell'den
gsutil mb -l us-central1 -b on gs://BUCKET_NAME
Laboratuvar süresince "BUCKET_NAME" adlı paketi saklayın.
BUCKET_NAME=YOUR BUCKET NAME echo $BUCKET_NAME
10. DNS Yapılandırması
Private Service Connect uç noktası oluşturduğunuzda Hizmet Dizini, bu uç nokta kullanılarak sunulan API'ler ve hizmetler için bir DNS kaydı oluşturur.
DNS kayıtları, Private Service Connect uç nokta IP adresinizi gösterir ve şu biçimdedir: SERVICE-ENDPOINT.p.googleapis.com.
İsteği Private Service Connect uç noktanıza yönlendirmek için API isteklerinizde bu DNS adlarını kullanabilirsiniz. Bu DNS adlarını isteğinizin Ana Makine başlığında da kullanabilirsiniz.
Google API'lerine ve hizmetlerine erişen bir istemci veya uygulamayla Private Service Connect uç noktası kullanmak istiyorsanız istemcinizi ya da uygulamanızı p.googleapis.com DNS adlarını kullanacak şekilde güncelleyin.
Ayrıntılar için istemcinizin veya istemci kitaplığınızın belgelerine bakın. Örneğin:
- Python: google-api-core paketindeki Client options class içinde api_endpoint'i yapılandırabilirsiniz.
- Go: WithEndpoint'i api paketindeki Client options package içinde yapılandırabilirsiniz.
- gcloud: You can configure api_endpoint_overrides using this command. gcloud config set api_endpoint_overrides/SERVICE ENDPOINT_URL
Örneğin: gcloud config set api_endpoint_overrides/storage https://storage-xyz.p.googleapis.com/storage/v1/
İstemcinizi veya uygulamanızı farklı bir uç nokta kullanacak şekilde yapılandıramıyorsanız varsayılan DNS adlarıyla eşleşen DNS kayıtları oluşturun. Örneğin, storage.googleapis.com. Varsayılan DNS adlarını kullanarak DNS kayıtları oluşturma başlıklı makaleyi inceleyin.
DNS kaydını doğrulama
Bulut konsolunda, Ağ Hizmetleri → Cloud DNS altında bulunan oluşturulmuş DNS girişini doğrulayın. Oluşturulan DNS adını ("p.googleapis.com") not edin.
11. Sanal makine 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 ile bağlanma
gcloud compute ssh --zone "us-central1-a" "psc-instance-1" --project "$projectname"
+ simgesini (aşağıdaki ekran görüntüsü) üç kez tıklayarak ek Cloud Shell terminalleri oluşturun.

Herkese açık Google API'lerini doğrulamak için kullanılan sanal makineyi (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 Cloud Shell aracılığıyla sanal makineye SSH bağlayın.
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 Cloud Shell aracılığıyla psc-instance-1'e SSH ile bağlanın.
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 SSH
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 grubu DNS aramasını inceleyin.
BUCKET_NAME=YOUR BUCKET NAME echo $BUCKET_NAME gsutil -D ls gs://$BUCKET_NAME
gsutil hata ayıklama işlemini inceleyin. DNS çözümlemesi için HOST storage.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 paketine erişilirken GoogleAPI.com ortak 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ştirme
Önceki bir adımda, PSC uç noktası IP adresiyle eşlenmiş bir özel DNS bölgesi ve A kaydı oluşturduğunuzu hatırlayın. Sonraki adımda, psc-instance-1'deki sanal makine BOTO dosyası güncellenerek gsutil'in nasıl davranacağı kontrol edilecek.
1. sekmedeki (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 değeriniz farklı olacaktır)
[GSUtil] default_project_id = [your project number] default_api_version = 2 [GoogleCompute] service_account = default
Nano veya VI Editor'ı kullanarak BOTO yapılandırmasını 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 terminali sekmesi 1'den(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 Bilgileri] sırası DNS araması için önemlidir.
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 = [your project number 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ıyla ilgili inceleme yapın.
BUCKET_NAME=YOUR BUCKET NAME echo $BUCKET_NAME gsutil -D ls gs://$BUCKET_NAME
Hata ayıklama günlükleri, depolama paketine "pscendpoint" adlı Private Service Connect uç noktası üzerinden erişilebildiğini onaylıyor.
Çı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 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)
DNS çözümlemesi için artık Private Service Connect uç noktası IP'sinin kullanıldığını doğrulayın.
tab1'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 çıkma (tüm sekmeler)
exit
Tek bir Cloud Shell terminalinden laboratuvar bileşenlerini silme
gcloud compute routers nats delete cloudnat --router=crnat --region=us-central1 --quiet gcloud compute routers delete crnat --region=us-central1 --quiet gcloud compute forwarding-rules delete pscendpoint --global --quiet gcloud 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 Ağ Hizmetleri → Cloud DNS'yi seçin.
16. Tebrikler!
Codelab'i tamamladığınız için tebrik ederiz.
İşlediğimiz konular
- Private Service Connect kullanım alanları
- Ağ gereksinimleri
- Desteklenen API'ler
- Private Service Connect uç noktası oluşturduysanız
- Cloud Storage paketi oluşturma
- BOTO yapılandırma dosyasını güncellediyseniz
- NAT ağ geçidi oluşturduysanız
- PSC hizmet uç noktanızla çözümlenen VM1'de gsutil list komutunu çalıştırın.
- Herkese açık googleapis.com'a göre çözümlenen VM2'de gsutil list komutunu çalıştırın.
- DNS çözümlemesini doğrulamak için Tcpdump'ı kullanma