1. Giriş
Şirket içi ana makineler için özel Google erişimi, şirket içi sistemlerin trafiği Cloud VPN tüneli veya Cloud Interconnect için bir VLAN eki üzerinden yönlendirerek Google API'lerine ve hizmetlerine bağlanmasını sağlar. Şirket içi ana makineler için Özel Google Erişimi, Google API'lerine ve hizmetlerine internet üzerinden bağlanmaya alternatif bir yöntemdir.
Şirket içi ana makineler için Özel Google Erişimi, Google API'leri isteklerini sanal IP adreslerine (VIP) yönlendirmenizi gerektirir. IPv6 için aşağıdaki IP adresleri kullanılır:
- private.googleapis.com için: 2600:2d00:0002:2000::/64
- restricted.googleapis.com için: 2600:2d00:0002:1000::/64
Seçtiğiniz VIP, hangi hizmetlere erişebileceğinizi belirler. Bu codelab'de private.googleapis.com'u kullanacağız. Daha fazla bilgi için Alan seçenekleri başlıklı makaleyi inceleyin.
Bu codelab'de, IPv6 adreslerini kullanan şirket içi ana makineler için Özel Google Erişimi'nin nasıl etkinleştirileceği açıklanmaktadır. Şirket içi bir ortamı temsil etmek için on-premises-vpc adlı bir VPC ağı oluşturacaksınız. Dağıtımınızda on-premises-vpc olmaz. Bunun yerine, şirket içi veri merkezinize veya bulut sağlayıcınıza hibrit ağ oluşturma kullanılır.
Ne oluşturacaksınız?
Bu codelab'de, Şekil 1'de gösterildiği gibi, CNAME *.googleapis.com'u private.googleapis.com IPv6 adresine 2600:2d00:0002:2000::/64 kullanarak bulut depolama API'sine şirket içi erişimi gösteren uçtan uca bir IPv6 ağı oluşturacaksınız.
Şekil 1

Neler öğreneceksiniz?
- Çift yığınlı VPC ağı oluşturma
- IPv6 ile HA VPN oluşturma
- Özel Google Erişimi'ne erişmek için DNS'yi güncelleme
- Özel Google Erişimi bağlantısını kurma ve doğrulama
İhtiyacınız olanlar
- Google Cloud projesi
2. Başlamadan önce
Proje, codelab'i destekleyecek şekilde güncellenmelidir.
Bu Codelab, Cloud Shell'de gcloud yapılandırma uygulamasını kolaylaştırmak için $variables kullanır.
Cloud Shell'de aşağıdakileri yapın:
gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
projectname=YOUR-PROJECT-NAME
echo $projectname
3. Transit VPC'yi oluşturma

Geçiş VPC ağı oluşturma
Cloud Shell'de aşağıdakileri yapın:
gcloud compute networks create transit-vpc --project=$projectname --subnet-mode=custom --mtu=1460 --enable-ula-internal-ipv6 --bgp-routing-mode=regional
4. Şirket içi ağı oluşturma

Bu VPC ağı, şirket içi bir ortamı temsil eder.
Şirket içi VPC ağını oluşturma
Cloud Shell'de aşağıdakileri yapın:
gcloud compute networks create on-premises-vpc --project=$projectname --subnet-mode=custom --mtu=1460 --enable-ula-internal-ipv6 --bgp-routing-mode=regional
Alt ağı oluşturun
Cloud Shell'de aşağıdakileri yapın:
gcloud compute networks subnets create on-premises-subnet1-us-central1 --project=$projectname --range=172.16.10.0/27 --stack-type=IPV4_IPV6 --ipv6-access-type=INTERNAL --network=on-premises-vpc --region=us-central1
5. Transit-vpc ve şirket içi-vpc için HA VPN oluşturma
Transit VPC için HA VPN ağ geçidini oluşturun.

Her ağ geçidi oluşturulduğunda, her ağ geçidi arayüzü için biri olmak üzere iki harici IPv4 adresi otomatik olarak ayrılır. Yapılandırma adımlarında daha sonra kullanmak üzere bu IP adreslerini not edin.
Cloud Shell'de, yığın türü IPV4_IPV6 olan HA VPN ağ geçidini oluşturun.
gcloud compute vpn-gateways create transit-vpc-vpngw \
--network=transit-vpc\
--region=us-central1 \
--stack-type=IPV4_IPV6
Şirket içi vpc için HA VPN GW'yi oluşturun.
Cloud Shell'de, yığın türü IPV4_IPV6 olan HA VPN ağ geçidini oluşturun.
gcloud compute vpn-gateways create on-premises-vpc-vpngw \
--network=on-premises-vpc\
--region=us-central1 \
--stack-type=IPV4_IPV6
HA VPN GW oluşturma işlemini doğrulama
Konsolu kullanarak Karma Bağlantı → VPN → CLOUD VPN GATEWAYS'e (Cloud VPN Ağ Geçitleri) gidin.

Transit-vpc için Cloud Router'ı oluşturun.
Cloud Shell'de us-central1 bölgesinde bulunan Cloud Router'ı oluşturun.
gcloud compute routers create transit-vpc-cr-us-central1 \
--region=us-central1 \
--network=transit-vpc\
--asn=65001
şirket içi-vpc için Cloud Router oluşturun
Cloud Shell'de us-central1 bölgesinde bulunan Cloud Router'ı oluşturun.
gcloud compute routers create on-premises-vpc-cr-us-central1 \
--region=us-central1 \
--network=on-premises-vpc \
--asn=65002
Transit-vpc için VPN tünelleri oluşturun
Her HA VPN ağ geçidinde iki VPN tüneli oluşturursunuz.
VPN tüneli oluşturma
Cloud Shell'de tunnel0'ı oluşturun:
gcloud compute vpn-tunnels create transit-vpc-tunnel0 \
--peer-gcp-gateway on-premises-vpc-vpngw \
--region us-central1 \
--ike-version 2 \
--shared-secret [ZzTLxKL8fmRykwNDfCvEFIjmlYLhMucH] \
--router transit-vpc-cr-us-central1 \
--vpn-gateway transit-vpc-vpngw \
--interface 0
VPN tüneli oluşturma
Cloud Shell'de tunnel1'i oluşturun:
gcloud compute vpn-tunnels create transit-vpc-tunnel1 \
--peer-gcp-gateway on-premises-vpc-vpngw \
--region us-central1 \
--ike-version 2 \
--shared-secret [bcyPaboPl8fSkXRmvONGJzWTrc6tRqY5] \
--router transit-vpc-cr-us-central1 \
--vpn-gateway transit-vpc-vpngw \
--interface 1
Şirket içi VPC için VPN tünellerini oluşturun
Her HA VPN ağ geçidinde iki VPN tüneli oluşturursunuz.
VPN tüneli oluşturma
Cloud Shell'de tunnel0'ı oluşturun:
gcloud compute vpn-tunnels create on-premises-tunnel0 \
--peer-gcp-gateway transit-vpc-vpngw \
--region us-central1 \
--ike-version 2 \
--shared-secret [ZzTLxKL8fmRykwNDfCvEFIjmlYLhMucH] \
--router on-premises-vpc-cr-us-central1 \
--vpn-gateway on-premises-vpc-vpngw \
--interface 0
VPN tüneli oluşturma
Cloud Shell'de tunnel1'i oluşturun:
gcloud compute vpn-tunnels create on-premises-tunnel1 \
--peer-gcp-gateway transit-vpc-vpngw \
--region us-central1 \
--ike-version 2 \
--shared-secret [bcyPaboPl8fSkXRmvONGJzWTrc6tRqY5] \
--router on-premises-vpc-cr-us-central1 \
--vpn-gateway on-premises-vpc-vpngw \
--interface 1
VPN tüneli oluşturma işlemini doğrulama
Konsolu kullanarak Hybrid Connectivity (Karma Bağlantı) → VPN → CLOUD VPN TUNNELS (CLOUD VPN TÜNELLERİ) bölümüne gidin.

BGP oturumları oluşturma
Bu bölümde, Cloud Router arayüzlerini ve BGP eşlerini yapılandıracaksınız.
IPv6 trafiğine izin veren VPN tünelleri oluştururken add-bgp-peer komutunu çalıştırdığınızda --enable-ipv6 değerini belirtin.
Transit-vpc için BGP arayüzü ve eşleme oluşturma
Cloud Shell'de BGP arayüzünü oluşturun:
gcloud compute routers add-interface transit-vpc-cr-us-central1 \
--interface-name if-tunnel1-to-onpremise \
--ip-address 169.254.1.1 \
--mask-length 30 \
--vpn-tunnel transit-vpc-tunnel0 \
--region us-central1
Cloud Shell'de BGP eşini oluşturun:
gcloud compute routers add-bgp-peer transit-vpc-cr-us-central1 \
--peer-name bgp-on-premises-tunnel0 \
--interface if-tunnel1-to-onpremise \
--peer-ip-address 169.254.1.2 \
--peer-asn 65002 \
--region us-central1 \
--enable-ipv6 \
--ipv6-nexthop-address 2600:2d00:0:3:0:0:0:1 \
--peer-ipv6-nexthop-address 2600:2d00:0:3:0:0:0:2
Cloud Shell'de BGP arayüzünü oluşturun:
gcloud compute routers add-interface transit-vpc-cr-us-central1 \
--interface-name if-tunnel2-to-onpremise \
--ip-address 169.254.2.1 \
--mask-length 30 \
--vpn-tunnel transit-vpc-tunnel1 \
--region us-central1
Cloud Shell'de BGP eşini oluşturun:
gcloud compute routers add-bgp-peer transit-vpc-cr-us-central1 \
--peer-name bgp-on-premises-tunnel2 \
--interface if-tunnel2-to-onpremise \
--peer-ip-address 169.254.2.2 \
--peer-asn 65002 \
--region us-central1 \
--enable-ipv6 \
--ipv6-nexthop-address 2600:2d00:0:3:0:0:0:11 \
--peer-ipv6-nexthop-address 2600:2d00:0:3:0:0:0:12
Şirket içi VPC için BGP arayüzü ve eşlemesi oluşturma
Cloud Shell'de BGP arayüzünü oluşturun:
gcloud compute routers add-interface on-premises-vpc-cr-us-central1\
--interface-name if-tunnel1-to-hub-vpc \
--ip-address 169.254.1.2 \
--mask-length 30 \
--vpn-tunnel on-premises-tunnel0 \
--region us-central1
Cloud Shell'de BGP eşini oluşturun:
gcloud compute routers add-bgp-peer on-premises-vpc-cr-us-central1 \
--peer-name bgp-transit-vpc-tunnel0 \
--interface if-tunnel1-to-hub-vpc \
--peer-ip-address 169.254.1.1 \
--peer-asn 65001 \
--region us-central1 \
--enable-ipv6 \
--ipv6-nexthop-address 2600:2d00:0:3:0:0:0:2 \
--peer-ipv6-nexthop-address 2600:2d00:0:3:0:0:0:1
Cloud Shell'de BGP arayüzünü oluşturun:
gcloud compute routers add-interface on-premises-vpc-cr-us-central1\
--interface-name if-tunnel2-to-hub-vpc \
--ip-address 169.254.2.2 \
--mask-length 30 \
--vpn-tunnel on-premises-tunnel1 \
--region us-central1
Cloud Shell'de BGP eşini oluşturun:
gcloud compute routers add-bgp-peer on-premises-vpc-cr-us-central1\
--peer-name bgp-transit-vpc-tunnel1\
--interface if-tunnel2-to-hub-vpc \
--peer-ip-address 169.254.2.1 \
--peer-asn 65001 \
--region us-central1 \
--enable-ipv6 \
--ipv6-nexthop-address 2600:2d00:0:3:0:0:0:12 \
--peer-ipv6-nexthop-address 2600:2d00:0:3:0:0:0:11
VPN tüneli ayrıntılarını görüntülemek için Karma Bağlantı → VPN'e gidin.

Transit-vpc'nin HA VPN üzerinden IPv4 ve IPv6 rotalarını öğrendiğini doğrulayın.
HA VPN tünelleri ve BGP oturumları oluşturulduğundan, şirket içi-vpc'deki rotalar transit-vpc'den öğrenilir. Konsolu kullanarak VPC ağı → VPC ağları → transit-vpc → ROTALAR'a gidin.
Aşağıda gösterilen öğrenilmiş IPv4 ve IPv6 dinamik rotalarını inceleyin:

Şirket içi VPC'nin HA VPN üzerinden rotaları öğrenmediğini doğrulayın.
Transit-vpc'nin alt ağı yoktur. Bu nedenle Cloud Router, şirket içi-vpc'ye herhangi bir alt ağ bildirmez. Konsolu kullanarak VPC ağı → VPC ağları → şirket içi-vpc → ROTALAR'a gidin.
6. IPv6 private.googleapis.com VIP'sini duyurun
Özel Google Erişimi'ne şirket içi ağdan erişmek için transit-vpc'den özel bir rota bildirme oluşturmanız gerekir. IPv6 adresi 2600:2d00:0002:2000::, şirket içi ortama duyurulur ve yerel DNS güncellendikten sonra iş yükleri tarafından Cloud Storage, Cloud BigQuery ve Cloud Bigtable gibi Google API'lerine erişmek için kullanılır.
Bu codelab'de, VPC Hizmet Kontrolleri tarafından desteklenip desteklenmediklerine bakılmaksızın çoğu Google API'sine ve hizmetine API erişimini etkinleştireceksiniz.
Konsolda Hybrid Connectivity (Hibrit Bağlantı) → Cloud Routers (Cloud Yönlendiriciler) → transit-vpc-cr-us-central1'e gidin ve EDIT'i (DÜZENLE) seçin.

Reklamı yapılan rotalar bölümünde Özel rotalar oluştur seçeneğini belirleyin, alanları aşağıdaki örneğe göre güncelleyin, BİTTİ'yi seçin ve ardından KAYDET'i tıklayın.

Şirket içi VPC'nin IPv6 rotalarını öğrendiğini doğrulayın.
IPv6 private.googleapis.com VIP'si artık transit-vpc'den duyurulduğundan şirket içi-vpc, VIP için IPv6 dinamik rotalarını öğrenmiş olur. Konsolu kullanarak VPC ağı → VPC ağları → şirket içi-vpc → ROTALAR'a gidin.
Transit-vpc'den bildirilen IPv6 rotalarını inceleyin:

7. Özel Google Erişimi'ni kullanarak Google API'leriyle iletişim kurma
Aşağıdaki bölümde, IPv6 private.googleapis.com VIP'sini kullanarak Cloud Storage'a bağlantıyı doğrulayacağız. Bunun için şirket içi VPC'de aşağıdaki işlemleri yapmamız gerekir.
- SSH erişimi için Identity-Aware Proxy (IAP) erişimine izin veren bir giriş güvenlik duvarı kuralı oluşturun.
- tcpdump ve dnsutils'i indirmek için Cloud Router ve Cloud NAT oluşturun.
- googleapis.com için özel bir Cloud DNS bölgesi oluşturun.
- Cloud Storage paketi oluşturun.
IAP güvenlik duvarı kuralını 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'de IAP güvenlik duvarı kuralını oluşturun.
gcloud compute firewall-rules create ssh-iap-on-premises-vpc \
--network on-premises-vpc \
--allow tcp:22 \
--source-ranges=35.235.240.0/20
Cloud Router ve NAT yapılandırması
Sanal makine örneğinde harici IP adresi bulunmadığı için yazılım paketi yükleme amacıyla bu kod laboratuvarında Cloud NAT kullanılır.
Cloud Shell'de Cloud Router'ı oluşturun.
gcloud compute routers create on-premises-cr-us-central1-nat --network on-premises-vpc --region us-central1
Cloud Shell'de NAT ağ geçidini oluşturun.
gcloud compute routers nats create on-premises-nat-us-central1 --router=on-premises-cr-us-central1-nat --auto-allocate-nat-external-ips --nat-all-subnet-ip-ranges --region us-central1
Şirket içi test kutusu olan bir test örneği oluşturun
IPv6 private.googleapis.com VIP'ye bağlantıyı test etmek ve doğrulamak için kullanılacak bir test örneği oluşturun.
Cloud Shell'de örneği oluşturun.
gcloud compute instances create on-premises-testbox \
--project=$projectname \
--machine-type=e2-micro \
--stack-type=IPV4_IPV6 \
--image-family debian-10 \
--no-address \
--image-project debian-cloud \
--zone us-central1-a \
--subnet=on-premises-subnet1-us-central1 \
--metadata startup-script="#! /bin/bash
sudo apt-get update
sudo apt-get install tcpdump -y
sudo apt-get install dnsutils -y"
Cloud DNS özel bölgesi oluşturma
*.googleapis.com için özel bir bölge ve kayıtlar oluşturmak üzere Cloud DNS'yi kullanacağız. Gerekli adımlar aşağıda verilmiştir.
Cloud Shell'de v6-googleapis.com özel DNS bölgesini oluşturun.
gcloud dns --project=$projectname managed-zones create v6-googleapis --description="" --dns-name="googleapis.com." --visibility="private" --networks="on-premises-vpc"
Cloud Shell'de, 2600:2d00:0002:2000:: IPv6 adresini işaret eden private.googleapis.com için AAAA kaydı oluşturun.
gcloud dns --project=$projectname record-sets create private.googleapis.com. --zone="v6-googleapis" --type="AAAA" --ttl="300" --rrdatas="2600:2d00:0002:2000::"
Cloud Shell'de, *.googleapis.com için private.googleapis.com'a yönlendiren bir CNAME oluşturun.
gcloud dns --project=$projectname record-sets create *.googleapis.com. --zone="v6-googleapis" --type="CNAME" --ttl="300" --rrdatas="private.googleapis.com."
Cloud DNS özel bölgesini doğrulama
Ağ hizmetleri → Cloud DNS → v6-googleapis'e gidin.

Cloud Storage paketi oluşturma
Cloud Shell'de bir Cloud Storage paketi oluşturun ve bucket_name yerine tercih ettiğiniz, genel olarak benzersiz bir ad girin. Ad zaten kullanılıyorsa başka bir ad deneyin.
gsutil mb -l us-central1 -b on gs://bucket_name
8. IPv6 adreslerini kullanarak Google API'lerine erişme ve bunları doğrulama
Aşağıdaki bölümde, iki Cloud Shell terminaline SSH bağlantısı oluşturacaksınız. İlk terminal, tcpdump kullanılarak IPv6 aramasının doğrulanması için kullanılırken ikinci terminal, bulut depolama alanı paketine erişim için kullanılır.
Cloud Shell'de, şirket içi-testbox test örneğine SSH uygulayın.
gcloud compute ssh --zone "us-central1-a" "on-premises-testbox" --project "$projectname"
Birinci Cloud Shell terminalinde tcpdump'ı başlatın ve DNS trafiği için 53 numaralı bağlantı noktasını izleyin.
sudo tcpdump -nn -i ens4 port 53
Aşağıda bir örnek verilmiştir.
user@on-premises-testbox:~$ sudo tcpdump -nn -i ens4 port 53
"+"yı seçerek yeni bir Cloud Shell terminali açın. Yeni sekme açıldıktan sonra proje adı değişkenini güncelleyin.
Cloud Shell'de proje adı değişkenini güncelleyin.
gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
projectname=YOUR-PROJECT-NAME
echo $projectname
İkinci Cloud Shell'de şirket içi-testbox test örneğine SSH uygulayın.
gcloud compute ssh --zone "us-central1-a" "on-premises-testbox" --project "$projectname"
DNS aramasını doğrulamak için dig komutunu kullanma
İki numaralı Cloud Shell terminalinde storage.googleapis.com'a karşı bir dig işlemi gerçekleştirin.
dig AAAA storage.googleapis.com
YANIT BÖLÜMÜ'nü inceleyin. Özel DNS bölgesi storage.googleapis.com, private.googleapis.com AAAA'ya CNAME'dir 2600:2d00:2:2000::. Aşağıda örnek verilmiştir:
user@on-premises-testbox:~$ dig AAAA storage.googleapis.com
; <<>> DiG 9.11.5-P4-5.1+deb10u8-Debian <<>> AAAA storage.googleapis.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2782
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;storage.googleapis.com. IN AAAA
;; ANSWER SECTION:
storage.googleapis.com. 300 IN CNAME private.googleapis.com.
private.googleapis.com. 300 IN AAAA 2600:2d00:2:2000::
;; Query time: 9 msec
;; SERVER: 169.254.169.254#53(169.254.169.254)
;; WHEN: Mon Feb 20 01:56:33 UTC 2023
;; MSG SIZE rcvd: 101
Cloud Shell terminalinde, AAAA 2600:2d00:2:2000:: için DNS çözümlemesini daha da doğrulayan tcpdump'ı inceleyin.
user@on-premises-testbox:~$ sudo tcpdump -nn -i ens4 port 53
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ens4, link-type EN10MB (Ethernet), capture size 262144 bytes
01:56:33.473208 IP 172.16.10.3.41476 > 169.254.169.254.53: 2782+ [1au] AAAA? storage.googleapis.com. (63)
01:56:33.482580 IP 169.254.169.254.53 > 172.16.10.3.41476: 2782 2/0/1 CNAME private.googleapis.com., AAAA 2600:2d00:2:2000:: (101)
dig ve tcpdump'a göre, storage.googleapis.com için DNS çözümlemesinin 2600:2d00:2:2000:: (private.googleapis.com'un IPv6 adresi) üzerinden yapıldığı sonucuna varabiliriz.
Bulut depolama alanına erişimi doğrulamak için gsutil list komutunu çalıştırın.
İkinci Cloud Shell terminalinde, gsutil'i kullanarak daha önce oluşturulan depolama paketiyle ilgili bir liste oluşturun. bucket_name'i daha önce oluşturduğunuz paketle değiştirin.
gsutil -d ls gs://bucket_name
codelab-ipv6 adlı Cloud Storage paketinin kullanıldığı örnekte, storage.googleapis.com ve HTTP/1.1 200 OK değerlerini gösteren hata ayıklama çıkışını inceleyin.
user@on-premises-testbox:~$ gsutil -d ls gs://codelab-ipv6
***************************** WARNING *****************************
*** You are running gsutil with debug output enabled.
*** Be aware that debug output includes authentication credentials.
*** Make sure to remove the value of the Authorization header for
*** each HTTP request printed to the console prior to posting to
*** a public medium such as a forum post or Stack Overflow.
***************************** WARNING *****************************
gsutil version: 5.19
checksum: 49a18b9e15560adbc187bab09c51b5fd (OK)
boto version: 2.49.0
python version: 3.9.16 (main, Jan 10 2023, 02:29:25) [Clang 12.0.1 ]
OS: Linux 4.19.0-23-cloud-amd64
multiprocessing available: True
using cloud sdk: True
pass cloud sdk credentials to gsutil: True
config path(s): /etc/boto.cfg
gsutil path: /usr/lib/google-cloud-sdk/bin/gsutil
compiled crcmod: True
installed via package manager: False
editable install: False
shim enabled: False
Command being run: /usr/lib/google-cloud-sdk/platform/gsutil/gsutil -o GSUtil:default_project_id=myprojectid -o GoogleCompute:service_account=default -d ls gs://codelab-ipv6
config_file_list: ['/etc/boto.cfg']
config: [('working_dir', '/mnt/pyami'), ('debug', '0'), ('https_validate_certificates', 'true'), ('working_dir', '/mnt/pyami'), ('debug', '0'), ('default_project_id', 'myproject'), ('default_api_version', '2')]
DEBUG 0220 02:01:14.713012 multiprocess_file_storage.py] Read credential file
INFO 0220 02:01:14.714742 base_api.py] Calling method storage.objects.list with StorageObjectsListRequest: <StorageObjectsListRequest
bucket: 'codelab-ipv6'
delimiter: '/'
maxResults: 1000
projection: ProjectionValueValuesEnum(noAcl, 1)
versions: False>
INFO 0220 02:01:14.715939 base_api.py] Making http GET to https://storage.googleapis.com/storage/v1/b/codelab-ipv6/o?alt=json&fields=prefixes%2Citems%2Fname%2CnextPageToken&delimiter=%2F&maxResults=1000&projection=noAcl&versions=False
INFO 0220 02:01:14.716369 base_api.py] Headers: {'accept': 'application/json',
'accept-encoding': 'gzip, deflate',
'content-length': '0',
'user-agent': 'apitools Python/3.9.16 gsutil/5.19 (linux) analytics/disabled '
'interactive/True command/ls google-cloud-sdk/416.0.0'}
INFO 0220 02:01:14.716875 base_api.py] Body: (none)
connect: (storage.googleapis.com, 443)
send: b'GET /storage/v1/b/codelab-ipv6/o?alt=json&fields=prefixes%2Citems%2Fname%2CnextPageToken&delimiter=%2F&maxResults=1000&projection=noAcl&versions=False HTTP/1.1\r\nHost: storage.googleapis.com\r\ncontent-length: 0\r\nuser-agent: apitools Python/3.9.16 gsutil/5.19 (linux) analytics/disabled
<SNIP>
reply: 'HTTP/1.1 200 OK\r\n'
header: X-GUploader-UploadID: ADPycdvunHlbN1WQBxDr_LefzLaH_HY1bBH22X7IxX9sF1G2Yo_7-nhYwjxUf6N7AF9Zg_JDwPxYtuNJiFutfd6qauEfohYPs7mE
header: Content-Type: application/json; charset=UTF-8
header: Date: Mon, 20 Feb 2023 02:01:14 GMT
header: Vary: Origin
header: Vary: X-Origin
header: Cache-Control: private, max-age=0, must-revalidate, no-transform
header: Expires: Mon, 20 Feb 2023 02:01:14 GMT
header: Content-Length: 3
header: Server: UploadServer
INFO 0220 02:01:14.803286 base_api.py] Response of type Objects: <Objects
items: []
prefixes: []>
user@on-premises-testbox:~$
Cloud Shell terminalinde, AAAA 2600:2d00:2:2000:: için DNS çözümlemesini daha da doğrulayan tcpdump'ı inceleyin.
eepakmichael@on-premises-testbox:~$ sudo tcpdump -nn -i ens4 port 53
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ens4, link-type EN10MB (Ethernet), capture size 262144 bytes
02:01:14.725000 IP 172.16.10.3.48792 > 169.254.169.254.53: 7056+ A? storage.googleapis.com. (40)
02:01:14.725106 IP 172.16.10.3.48792 > 169.254.169.254.53: 50841+ AAAA? storage.googleapis.com. (40)
02:01:14.732516 IP 169.254.169.254.53 > 172.16.10.3.48792: 50841 2/0/0 CNAME private.googleapis.com., AAAA 2600:2d00:2:2000:: (90)
Şirket içi test kutusu örneğinin işletim sisteminden çıkıp Cloud Shell istemine dönün.
9. Temizleme
Cloud Shell'de aşağıdakileri yapın:
gcloud compute vpn-tunnels delete transit-vpc-tunnel0 transit-vpc-tunnel1 on-premises-tunnel1 --region=us-central1 --quiet
gcloud compute vpn-tunnels delete on-premises-tunnel0 on-premises-tunnel1 --region=us-central1 --quiet
gcloud compute vpn-gateways delete on-premises-vpc-vpngw transit-vpc-vpngw --region=us-central1 --quiet
gcloud compute routers delete transit-vpc-cr-us-central1 on-premises-vpc-cr-us-central1 on-premises-cr-us-central1-nat --region=us-central1 --quiet
gcloud compute instances delete on-premises-testbox --zone=us-central1-a --quiet
gcloud compute networks subnets delete on-premises-subnet1-us-central1 --region=us-central1 --quiet
gcloud compute firewall-rules delete ssh-iap-on-premises-vpc --quiet
gcloud compute networks delete on-premises-vpc --quiet
gcloud compute networks delete transit-vpc --quiet
gsutil rb gs://bucket_name
gcloud dns record-sets delete *.googleapis.com. \
--type=CNAME \
--zone=v6-googleapis
gcloud dns record-sets delete private.googleapis.com. \
--type=AAAA \
--zone=v6-googleapis
gcloud dns managed-zones delete v6-googleapis
10. Tebrikler
Tebrikler, IPv6 ile Özel Google Erişimi'ni başarıyla yapılandırdınız ve doğruladınız.
Geçiş ve şirket içi altyapıyı oluşturup Google API alanları için IPv6 kullanarak çözümlemeyi etkinleştiren özel bir DNS bölgesi oluşturdunuz. dig ve Cloud Storage'ı kullanarak IPv6 erişimini nasıl test edip doğrulayacağınızı öğrendiniz.
Cosmopup, codelab'lerin harika olduğunu düşünüyor.

Yapabilecekleriniz
Şu codelab'lere göz atın: