IPv6 adreslerini kullanarak şirket içi ana makinelerden Google API'lerine erişme

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ına olanak tanır. Şirket içi ana makineler için Özel Google Erişimi, internet üzerinden Google API'lerine ve hizmetlerine bağlanmanın bir alternatifidir.

Şirket içi ana makineler için özel Google Erişimi, Google API'lerine yönelik istekleri 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
  • kısıtlı.googleapis.com için: 2600:2d00:0002:1000::/64

Hangi hizmetlere erişebileceğinizi seçtiğiniz VIP belirler. Bu codelab'de private.googleapis.com'u kullanacağız. Daha fazla bilgi için Alan adı seçenekleri bölümüne bakın.

Bu kod laboratuvarında, IPv6 adresleri kullanan şirket içi ana makineler için Özel Google Erişimi'nin nasıl etkinleştirileceği açıklanmaktadır. Yerleşik bir ortamı temsil etmek için on-premises-vpc adlı bir VPC ağı oluşturursunuz. Dağıtımınız için şirket içi VPC kullanılmaz. Bunun yerine şirket içi veri merkezinize veya bulut sağlayıcınıza karma ağ iletişimi kullanılır.

Neler oluşturacaksınız?

Bu codelab'de, Şekil 1'de gösterildiği gibi, CNAME *.googleapis.com ile private.googleapis.com IPv6 adresi 2600:2d00:0002:2000::/64 adresini kullanarak bulut depolama API'sine şirket içi erişimi gösteren uçtan uca bir IPv6 ağı oluşturacaksınız.

Şekil 1

a0fc56abf24f3535.png

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ı oluşturma ve doğrulama

İhtiyacınız olanlar

  • Google Cloud Projesi

2. Başlamadan önce

Projeyi codelab'i destekleyecek şekilde güncelleme

Bu Codelab, Cloud Shell'de gcloud yapılandırması uygulamasına yardımcı olmak 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. Toplu taşıma VPC'sini oluşturma

f6932f551b5acac0.png

Geçiş VPC ağını oluşturma

Cloud Shell'in içinde aşağıdaki işlemleri gerçekleştirin:

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

58d75cbc9cb20a51.png

Bu VPC ağı, şirket içi bir ortamı temsil etmektedir.

Ş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şturma

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. Toplu taşıma VPC'si ve şirket içi VPC için HA VPN oluşturma

Toplu taşıma-vpc için HA VPN GW'yu oluşturma

a0fc56abf24f3535.png

Her ağ geçidi oluşturulduğunda, her ağ geçidi arayüzü için bir tane olmak üzere iki harici IPv4 adresi otomatik olarak ayrılır. Daha sonra yapılandırma adımlarında kullanmak üzere bu IP adreslerini not edin.

Cloud Shell'de IPV4_IPV6 yığın türüyle HA VPN GW 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 ağ geçidini oluşturun

Cloud Shell'de IPV4_IPV6 yığın türüyle HA VPN GW 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şturmayı doğrulama

Konsolu kullanarak Karma Bağlantı → VPN → CLOUD VPN GATEWAYS'a gidin.

c8eed6ca929935bc.png

Transit-vpc için Cloud Router'ı oluşturun

Cloud Shell'in içinde 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şturma

Cloud Shell'in içinde 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ünellerini oluşturun

Her HA VPN ağ geçidinde iki VPN tüneli oluşturacaksınız.

VPN tüneli oluştur0

Cloud Shell'de tunnel0 adlı bir bağlantı 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ştur1

Cloud Shell'de tunnel1 adlı bir tünel 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şturacaksınız.

VPN tüneli oluştur0

Cloud Shell'de tunnel0 adlı bir bağlantı 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ştur1

Cloud Shell'in içinde tünel1 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 Karma Bağlantı → VPN → CLOUD VPN TÜNELLERİ'ne gidin.

85fd5aef4b2c4010.png

BGP oturumları oluşturma

Bu bölümde, Cloud Router arayüzlerini ve BGP eşlemelerini yapılandıracaksınız.

IPv6 trafiğine izin veren VPN tünelleri oluştururken add-bgp-peer komutunu çalıştırırken --enable-ipv6 seçeneğini belirtin.

BGP arayüzü ve geçiş-vpc için eşleme oluşturma

Cloud Shell'in içinde 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şlemesini 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'in içinde 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şlemesini 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şleme 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şlemesini 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'in içinde 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'in içinde BGP eşlemesini 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 bölümüne gidin.

e100e31ea22c8124.png

transit-vpc'nin HA VPN üzerinden IPv4 ve IPv6 rotalarını öğrendiğini doğrulama

HA VPN tünelleri ve BGP oturumları oluşturulduğundan, şirket içi VPC'deki rotalar toplu taşıma VPC'sinden öğrenilir. Konsolu kullanarak VPC ağı → VPC ağları → taşıma-vpc → ROUTES bölümüne gidin.

Aşağıda gösterilen öğrenilen IPv4 ve IPv6 dinamik rotalarını gözlemleyin:

216bde7d08d75ec4.png

Şirket içi VPC'nin HA VPN üzerinden rota öğrenmediğini doğrulama

Transit-vpc'nin bir alt ağı olmadığından Cloud Router, herhangi bir alt ağı şirket içi VPC'ye tanıtmaz. Konsolu kullanarak VPC ağı → VPC ağları → Şirket içi VPC → ROUTES bölümüne gidin.

6. IPv6 private.googleapis.com VIP'nin reklamını yapma

Özel Google Erişimi'ne şirket içinden erişmek için transit-vpc'den özel bir rota reklamı oluşturmanız gerekir. 2600:2d00:0002:2000:: IPv6 adresinin reklamı şirket içi ortama bildirilir ve yerel DNS güncellendikten sonra Cloud Storage, Cloud BigQuery ve Cloud Bigtable gibi Google API'lerine erişmek için iş yükleri tarafından kullanılır.

Bu kod laboratuvarında, VPC Hizmet Kontrolleri tarafından desteklenip desteklenmediklerinden bağımsız olarak çoğu Google API'sine ve hizmetine API erişimini etkinleştireceksiniz.

Konsolda Karma Bağlantı → Cloud Yönlendiriciler → transit-vpc-cr-us-central1'e gidin ve ardından DÜZENLE'yi seçin.

3e36e3b5ea741ec5.png

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

9283aba7b214f70d.png

Yerleşik vpc'nin IPv6 rotalarını öğrendiğini doğrulama

IPv6 private.googleapis.com VIP'si transit-vpc'den reklamı yapıldığına göre, on-premises-vpc, VIP için IPv6 dinamik rotalarını öğrenmiş olacaktır. Konsolu kullanarak VPC ağı → VPC ağları → Şirket içi VPC → ROUTES bölümüne gidin.

Toplu taşıma-vpc'den bildirilen IPv6 rotalarını inceleyin:

caf3b79b035b2a20.png

7. Özel Google Erişimini kullanarak Google API'leriyle iletişim kurma

Aşağıdaki bölümde, IPv6 private.googleapis.com VIP'sini kullanarak Cloud Storage'a erişip bağlantıyı doğrulayacağız. Bunun için şirket içi vpc'de aşağıdaki işlemleri gerçekleştirmemiz gerekir.

  • SSH erişimi için Identity-Aware Proxy'ye (IAP) erişim izni vermek üzere bir giriş güvenlik duvarı kuralı oluşturun.
  • tcpdump ve dnsutils'i indirmek için bir Cloud Router ve Cloud NAT oluşturun.
  • googleapis.com için gizli bir Cloud DNS alt 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 şartları yerine getiren bir güvenlik duvarı kuralı oluşturun:

  • IAP kullanılarak 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'in içinde 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ğinin harici IP adresi olmadığı için kod laboratuvarında yazılım paketi yükleme işleminde 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'in içinde 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

Test örneği oluşturma, on-premises-testbox

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'in içinde ö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 alanını oluşturma

*.googleapis.com için özel alt bölge ve kayıtlar oluşturmak amacıyla Cloud DNS kullanacağız. Gerekli adımları aşağıda bulabilirsiniz.

Cloud Shell'de gizli bir DNS alt bölgesi v6-googleapis.com 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, private.googleapis.com için 2600:2d00:0002:2000:: IPv6 adresini işaret eden AAAA kaydını 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 adresine 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 alt bölgesini doğrulama

Ağ hizmetleri → Cloud DNS → v6-googleapis'e gidin.

455e355195a2a48f.png

Cloud Storage paketini oluşturma

Cloud Shell'de bir bulut depolama paketi oluşturun ve paket_name'i tercih ettiğiniz genel olarak benzersiz bir adla değiştirin. 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 bu API'leri doğrulama

Aşağıdaki bölümde, iki Cloud Shell terminaline SSH bağlantısı kuracaksınız. İlk terminal, tcpdump'u kullanarak IPv6 aramasını doğrulamak için kullanılırken ikinci terminal, bulut depolama alanı paketine erişim için kullanılır.

Cloud Shell'in içinde, on-premises-testbox örneğini test etmek için bir ssh uygulayın.

 gcloud compute ssh --zone "us-central1-a" "on-premises-testbox" --project "$projectname"

Birinci Cloud Shell terminalinde tcpdump'i 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

"+" işaretini seçerek yeni bir Cloud Shell terminali açın. Yeni sekme açıldıktan sonra proje adı değişkenini güncelleyin.

Cloud Shell'in içinde proje adı değişkenini güncelleyin.

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

Cloud Shell ikinci'de on-premises-testbox örneğini test etmek için ssh uygulayın.

gcloud compute ssh --zone "us-central1-a" "on-premises-testbox" --project "$projectname"

DNS aramasını doğrulamak için bir inceleme yapın

Cloud Shell ikinci terminalinde storage.googleapis.com için dig çalıştırın.

dig AAAA storage.googleapis.com

CEVAP BÖLÜMÜ olan gizli DNS bölgesi Storage.googleapis.com CNAME ile private.googleapis.com AAAA 2600:2d00:2:2000:: bağlantısını inceleyin. Örnek:

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

Birinci Cloud Shell terminalinde, DNS çözümlemesinin AAAA 2600:2d00:2:2000:: olduğunu daha da doğrulayan tcpdump'i 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'e göre, storage.googleapis.com için DNS çözümlemesinin private.googleapis.com'un IPv6 adresi olan 2600:2d00:2:2000:: üzerinden yapıldığı sonucuna varabiliriz.

Bulut depolama alanına erişimi doğrulamak için gsutil listesi oluşturun

İkinci Cloud Shell terminalinde, gsutil'i kullanarak önceden oluşturulan depolama paketine karşılık bir liste hazırlayın. Bundle_name değerini daha önce oluşturduğunuz paket olarak değiştirin.

gsutil -d ls gs://bucket_name

codelab-ipv6 bulut depolama paketinin kullanıldığı örnek. storage.googleapis.com ve HTTP/1.1 200 OK bilgilerini 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:~$ 

Birinci Cloud Shell terminalinde, DNS çözümlemesini AAAA 2600:2d00:2:2000:: olarak 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ği işletim sisteminden çıkarak 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ırıp doğruladınız.

Geçiş ve şirket içi altyapıyı ve IPv6 kullanarak Google API alanlarının çözümünü sağlayan özel bir DNS bölgesi oluşturdunuz. Dizi ve bulut depolama alanını kullanarak IPv6 erişimini nasıl test edip doğrulayacağınızı öğrendiniz.

Cosmopup, codelab'lerin muhteşem olduğunu düşünüyor!!

8c2a10eb841f7b01.jpeg

Sırada ne var?

Bu codelab'lerden bazılarına göz atın...

Daha fazla bilgi ve videolar

Referans dokümanları