1. Giriş
Private Service Connect ile Google API'lerine erişmek için 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 veya VLAN üzerinden gönderebilirsiniz. Ayrıca 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.
- Etkin/aktif bir topolojide birden fazla Cloud Interconnect eki (VLAN) da 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.
Ş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şimi'nin etkinleştirilmiş olup olmaması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ı
Ş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
- Cloud Console'da oturum açıp 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.
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.
- 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ı değerindeki ücretsiz denemeden 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:
Ortamı sağlamak ve bağlamak yalnızca birkaç dakika sürer. Tamamlandığında şuna benzer bir sonuç görmeniz gerekir:
İ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
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 şartları yerine getiren bir güvenlik duvarı kuralı oluşturun:
- IAP kullanarak erişilmesini istediğiniz tüm sanal makine örnekleri için geçerlidir.
- 35.235.240.0/20 IP aralığından 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ç 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 compute addresses create psc-ip \ --global \ --purpose=PRIVATE_SERVICE_CONNECT \ --addresses=192.168.255.250 \ --network=psc-lab
"pscendpointip" öğesini depola (laboratuvar süresince)
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 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ı
Private Service Connect uç noktası oluşturduğunuzda Hizmet Dizini, söz konusu uç nokta kullanılarak kullanıma sunulan API'ler ve hizmetler için bir DNS kaydı oluşturur.
DNS kayıtları, Private Service Connect uç nokta IP adresinize yönlendirir 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.
Bir Private Service Connect uç noktasını Google API'lerine ve hizmetlerine erişen bir istemci veya uygulamayla kullanmak istiyorsanız istemcinizi veya uygulamanızı p.googleapis.com DNS adlarını kullanacak şekilde güncelleyin.
Ayrıntılı bilgi için istemci veya istemci kitaplığınızın dokümanlarına bakın. Örneğin:
- Python: api_endpoint'i, google-api-core paketindeki İstemci seçenekleri sınıfında yapılandırabilirsiniz.
- Go: WithEndpoint'i API paketindeki İstemci seçenekleri paketinde yapılandırabilirsiniz.
- gcloud: Bu komutu kullanarak api_endpoint_overrides'i yapılandırabilirsiniz. gcloud config set api_endpoint_overrides/SERVICE ENDPOINT_URL
Örnek: 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şecek 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ğrula
Cloud konsolunda, Ağ Hizmetleri → Cloud DNS altında bulunan, oluşturulan DNS girişini doğrulayın. Oluşturulan "p.googleapis.com" DNS adını not edin.
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.
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 = [your project number] 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 = [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ı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 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 Networking Services → Cloud DNS'yi seçin
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
- 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