Dokumen ini menjelaskan cara menyiapkan konektivitas pribadi dari host di jaringan VPC atau jaringan lokal ke Google API dan layanan Google yang didukung oleh Kontrol Layanan VPC.
Sebelum membaca dokumen ini, sebaiknya pahami konsep, spesifikasi, dan konfigurasi jaringan Akses Google Pribadi. Lihat contoh diagram topologi tentang penggunaan Akses Google Pribadi dengan Kontrol Layanan VPC.
Sebelum memulai
- Aktifkan API yang ingin Anda akses melalui halaman APIs & services di konsol Google Cloud .
- Pastikan Anda memiliki peran yang diperlukan untuk membuat atau memperbarui subnet. Pemilik project, editor, dan principal IAM dengan peran Network Admin dapat membuat atau memperbarui subnet dan menetapkan alamat IP. Untuk mengetahui informasi selengkapnya tentang peran, baca dokumentasi peran IAM.
- Pastikan jaringan VPC disiapkan untuk Akses Google Pribadi dan Akses Google Pribadi untuk host lokal. Jaringan VPC mode otomatis dan kustom didukung. Jaringan lama tidak didukung.
- Pastikan instance VM di jaringan VPC memiliki alamat IP pribadi (tanpa alamat IP publik) dan berada di subnet dengan Akses Google Pribadi diaktifkan.
- Untuk host lokal, pastikan Anda memiliki tunnel Cloud VPN yang sudah ada atau koneksi Cloud Interconnect ke jaringan VPC Anda. Untuk mendukung host lokal yang memiliki alamat IPv6, lihat dukungan IPv6.
Ringkasan prosedur
Untuk menyiapkan konektivitas pribadi, selesaikan tugas berikut:
- Konfigurasi rute untuk rentang alamat IP
restricted.googleapis.com. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi rute. - Konfigurasi aturan firewall untuk mengizinkan traffic
yang sesuai menjangkau rentang alamat IP
restricted.googleapis.com. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi aturan firewall. - Konfigurasi DNS agar traffic ke Google API di-resolve ke
rentang alamat IP
restricted.googleapis.com. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi DNS.
Dukungan IPv6 untuk restricted.googleapis.com
Anda dapat mengakses Google API menggunakan rentang alamat IPv6 untuk
domain restricted.googleapis.com: 2600:2d00:0002:1000::/64.
Pertimbangkan untuk mengonfigurasi alamat IPv6 jika Anda ingin menggunakan domain restricted.googleapis.com, dan Anda
memiliki klien yang juga menggunakan alamat IPv6. Klien IPv6 yang juga telah mengonfigurasi alamat IPv4 dapat
menjangkau Google API dan layanan Google menggunakan alamat IPv4. Tidak semua layanan Google menerima traffic dari
klien IPv6.
Agar klien IPv6 di lingkungan lokal Anda dapat mengakses Google API menggunakan
restricted.googleapis.com, Anda harus mengonfigurasi koneksi ke jaringan
VPC untuk mendukung IPv6. Untuk mengetahui informasi selengkapnya, lihat halaman berikut:
Klien lokal dapat mengirim permintaan dari alamat IPv6 GUA atau ULA mana pun, kecuali untuk rentang ULA
fda3:e722:ac3:cc00::/64, yang diperuntukkan bagi penggunaan internal.
Untuk mengetahui informasi selengkapnya tentang VIP restricted.googleapis.com, lihat Mengonfigurasi
Akses Google Pribadi.
Konektivitas langsung ke API dan layanan
Beberapa Google API dan layanan Google mendukung konektivitas langsung dari instance virtual machine (VM) Compute Engine, dengan melewati Google Front Ends (GFE), sehingga menawarkan performa yang lebih baik.
Untuk membuat konektivitas langsung,
rute dan
aturan firewall Anda
harus mengizinkan traffic IPv4 menjangkau 34.126.0.0/18 dan traffic IPv6
menjangkau 2001:4860:8040::/42. Alamat IP ini, yang merupakan subset dari
domain restricted.googleapis.com,
mendukung Kontrol Layanan VPC.
Selain itu, data DNS tidak perlu dibuat untuk alamat ini.
Perhatikan bahwa konektivitas langsung hanya tersedia dari resource Google Cloud dan tidak didukung dari host lokal.
Mengonfigurasi rute ke restricted.googleapis.com
Meskipun Kontrol Layanan VPC diterapkan untuk layanan yang kompatibel dan dikonfigurasi,
terlepas dari domain yang Anda gunakan, restricted.googleapis.com memberikan
mitigasi risiko tambahan untuk pemindahan data yang tidak sah. restricted.googleapis.com
menolak akses ke Google API dan layanan Google yang tidak didukung oleh
Kontrol Layanan VPC.
Untuk Akses Google Pribadi dan Akses Google Pribadi untuk host lokal,
jaringan VPC Anda harus menyertakan rute untuk
rentang alamat IP restricted.googleapis.com yang next hop-nya adalah gateway
internet default. Meskipun next hop adalah gateway internet default,
traffic yang dikirim ke restricted.googleapis.com tetap berada dalam jaringan Google.
Jika jaringan VPC Anda tidak memiliki
rute default yang next hop-nya adalah
gateway internet default, Anda dapat membuat rute statis kustom yang tujuannya
adalah rentang alamat IP restricted.googleapis.com, dan next hop-nya adalah
gateway internet default. Untuk mencegah akses ke internet, Anda harus menghapus
rute lain yang next hop-nya adalah gateway internet default.
Untuk mengetahui informasi selengkapnya tentang cara mengelola rute VPC, lihat Menggunakan Rute di dokumentasi VPC.
Mengonfigurasi rute statis kustom di jaringan VPC
Tambahkan rute statis kustom untuk mengaktifkan akses ke layanan yang dikelola Google yang didukung Kontrol Layanan VPC.
gcloud compute routes create ROUTE_NAME \ --network=NETWORK_NAME \ --destination-range=DESTINATION_RANGE \ --next-hop-gateway=default-internet-gateway
Ganti kode berikut:
ROUTE_NAME: nama untuk rute kustomNETWORK_NAME: nama jaringan VPC AndaDESTINATION_RANGE: rentang tujuan untuk rute- Untuk merutekan traffic ke VIP
restricted.googleapis.com, gunakan rentang berikut:- Untuk traffic IPv4:
199.36.153.4/30 - Untuk traffic IPv6:
2600:2d00:0002:1000::/64
- Untuk traffic IPv4:
- Untuk merutekan traffic ke API yang mengizinkan
konektivitas langsung, gunakan rentang berikut:
- Untuk traffic IPv4:
34.126.0.0/18 - Untuk traffic IPv6:
2001:4860:8040::/42
- Untuk traffic IPv4:
- Untuk merutekan traffic ke VIP
Mengumumkan rute yang dibatasi ke host di jaringan lokal
Jika Anda menggunakan Akses Google Pribadi untuk host lokal, konfigurasi rute agar traffic Google API diteruskan melalui koneksi Cloud VPN atau Cloud Interconnect Anda. Untuk mengumumkan rentang alamat VIP yang dibatasi ke jaringan lokal Anda, gunakan mode pemberitahuan kustom Cloud Router. Rentang alamat VIP yang dibatasi hanya dapat diakses oleh host lokal yang dapat menjangkau jaringan VPC Anda melalui alamat IP pribadi.
Anda dapat menambahkan rute kustom yang diberitahukan ini ke Cloud Router (untuk semua sesi BGP di router) atau sesi BGP tertentu (untuk satu tunnel Cloud VPN atau lampiran VLAN).
Rute IPv6 hanya diberitahukan dalam sesi BGP tempat IPv6 diaktifkan.
Guna membuat rute kustom yang diberitahukan untuk rentang yang dibatasi untuk semua sesi BGP di Cloud Router yang ada, ikuti langkah-langkah berikut:
Konsol
Di konsol Google Cloud , buka halaman Cloud Routers.
Pilih Cloud Router yang akan diupdate.
Di halaman detail Cloud Router, pilih Edit.
Luaskan bagian Advertised routes.
Untuk Routes, pilih Create custom routes.
Untuk terus memberitahukan subnet yang tersedia untuk Cloud Router, pilih Advertise all subnets visible to the Cloud Router. Mengaktifkan opsi ini akan meniru perilaku default Cloud Router.
Untuk menambahkan rute yang diberitahukan, pilih Add custom route.
Konfigurasi pemberitahuan rute.
- Source: Pilih Custom IP range.
- IP address range:
- Untuk konektivitas IPv4:
199.36.153.4/30 - Untuk konektivitas IPv6:
2600:2d00:0002:1000::/64
- Untuk konektivitas IPv4:
- Description: Tambahkan deskripsi
Restricted Google APIs IPs.
Setelah menambahkan rute, pilih Save.
gcloud
Jalankan perintah update, menggunakan flag --set-advertisement-ranges atau
--add-advertisement-ranges untuk menentukan rentang IP kustom:
Untuk menetapkan rentang IP kustom, gunakan flag
--set-advertisement-ranges. Semua rute kustom yang diberitahukan akan diganti. Contoh berikut mengupdate Cloud Routermy-routeruntuk memberitahukan semua subnet dan rentang alamat IPrestricted.googleapis.com.gcloud compute routers update my-router \ --advertisement-mode CUSTOM \ --set-advertisement-groups ALL_SUBNETS \ --set-advertisement-ranges RANGESGanti
RANGESdengan rentang yang ingin Anda gunakan:- Untuk konektivitas IPv4:
199.36.153.4/30 - Untuk konektivitas IPv6:
2600:2d00:0002:1000::/64 - Untuk konektivitas IPv4 dan IPv6:
199.36.153.4/30,2600:2d00:0002:1000::/64
- Untuk konektivitas IPv4:
Untuk menambahkan rentang IP kustom ke pemberitahuan yang ada, gunakan flag
--add-advertisement-ranges. Perhatikan bahwa flag ini mengharuskan mode pemberitahuan Cloud Router telah ditetapkan kecustom. Contoh berikut menambahkan rentang alamat IPrestricted.googleapis.comke pemberitahuan Cloud Router:gcloud compute routers update my-router \ --add-advertisement-ranges RANGESGanti
RANGESdengan rentang yang ingin Anda gunakan:- Untuk konektivitas IPv4:
199.36.153.4/30 - Untuk konektivitas IPv6:
2600:2d00:0002:1000::/64 - Untuk konektivitas IPv4 dan IPv6:
199.36.153.4/30,2600:2d00:0002:1000::/64
- Untuk konektivitas IPv4:
Guna membuat rute kustom yang diberitahukan untuk rentang yang dibatasi pada sesi BGP tertentu dari Cloud Router yang ada, ikuti langkah-langkah berikut:
Konsol
Di konsol Google Cloud , buka halaman Cloud Routers.
Pilih Cloud Router yang berisi sesi BGP yang akan diupdate.
Di halaman detail Cloud Router, pilih sesi BGP yang akan diupdate.
Di halaman BGP session details, pilih Edit.
Untuk Routes, pilih Create custom routes.
Pilih Advertise all subnets visible to the Cloud Router untuk terus memberitahukan subnet yang tersedia untuk Cloud Router. Mengaktifkan opsi ini akan meniru perilaku default Cloud Router.
Pilih Add custom route untuk menambahkan rute yang diberitahukan.
Konfigurasi pemberitahuan rute.
- Source: Pilih Custom IP range untuk menentukan rentang IP kustom.
- IP address range:
- Untuk konektivitas IPv4:
199.36.153.4/30 - Untuk konektivitas IPv6:
2600:2d00:0002:1000::/64
- Untuk konektivitas IPv4:
- Description: Tambahkan deskripsi
Restricted Google APIs IPs.
Setelah menambahkan rute, pilih Save.
gcloud
Jalankan perintah update-bgp-peer, menggunakan flag
--set-advertisement-ranges atau --add-advertisement-ranges untuk menentukan
rentang IP kustom.
Untuk menetapkan rentang IP kustom, gunakan flag
--set-advertisement-ranges. Semua rute kustom yang diberitahukan akan diganti.Jika Anda menambahkan rentang kustom IPv6 dan traffic IPv6 dinonaktifkan untuk sesi BGP, Anda dapat mengaktifkannya kembali dengan flag
--enable-ipv6.Contoh berikut memperbarui sesi BGP
my-bgp-sessiondi Cloud Routermy-routeruntuk memberitahukan semua subnet dan rentang IP kustom:gcloud compute routers update-bgp-peer my-router \ --peer-name my-bgp-session \ --advertisement-mode CUSTOM \ --set-advertisement-groups ALL_SUBNETS \ --set-advertisement-ranges RANGESGanti
RANGESdengan rentang yang ingin Anda gunakan:- Untuk konektivitas IPv4:
199.36.153.4/30 - Untuk konektivitas IPv6:
2600:2d00:0002:1000::/64 - Untuk konektivitas IPv4 dan IPv6:
199.36.153.4/30,2600:2d00:0002:1000::/64
- Untuk konektivitas IPv4:
Untuk menambahkan rentang IP kustom ke rentang IP yang ada, gunakan flag
--add-advertisement-ranges. Perhatikan bahwa flag ini mengharuskan mode pemberitahuan Cloud Router telah ditetapkan kecustom.Jika Anda menambahkan rentang kustom IPv6 dan traffic IPv6 dinonaktifkan untuk sesi BGP, Anda dapat mengaktifkannya kembali dengan flag
--enable-ipv6.Contoh berikut menambahkan rentang alamat VIP yang dibatasi ke pemberitahuan Cloud Router:
gcloud compute routers update-bgp-peer my-router \ --peer-name my-bgp-session \ --add-advertisement-ranges RANGESGanti
RANGESdengan rentang yang ingin Anda gunakan:- Untuk konektivitas IPv4:
199.36.153.4/30 - Untuk konektivitas IPv6:
2600:2d00:0002:1000::/64 - Untuk konektivitas IPv4 dan IPv6:
199.36.153.4/30,2600:2d00:0002:1000::/64
Untuk mengetahui informasi selengkapnya tentang mode pemberitahuan kustom, lihat Rute kustom yang diberitahukan.
- Untuk konektivitas IPv4:
Mengonfigurasi aturan firewall
Untuk Akses Google Pribadi, instance VM menggunakan alamat IP internal dan tidak memerlukan alamat IP eksternal untuk menjangkau resource Google API yang dilindungi. Namun, instance VM dapat memiliki alamat IP eksternal atau memenuhi persyaratan untuk akses internet. Selain rute kustom yang diberitahukan, Anda dapat membatasi traffic egress dari instance VM di jaringan VPC dengan membuat aturan firewall untuk menolak traffic egress.
Secara default, aturan firewall egress izinkan yang tersirat mengizinkan instance VM mengirim
traffic ke tujuan mana pun jika ada rute yang berlaku. Anda dapat membuat
aturan penolakan egress terlebih dahulu untuk memblokir semua traffic keluar. Kemudian, Anda dapat membuat
aturan egress dengan prioritas yang lebih tinggi yang mengizinkan traffic ke tujuan tertentu di
jaringan VPC Anda dan ke rentang alamat IP restricted.googleapis.com. Semua komunikasi ke restricted.googleapis.com dilakukan di port TCP
443.
Agar traffic dari Google Cloud dapat menjangkau VIP
restricted.googleapis.com, tambahkan aturan firewall untuk tujuan berikut:
- Untuk traffic IPv4:
199.36.153.4/30 - Untuk traffic IPv6:
2600:2d00:0002:1000::/64
Untuk mengizinkan traffic dari Google Cloud menjangkau API dan layanan yang mengizinkan konektivitas langsung, tambahkan aturan firewall untuk tujuan berikut:
- Untuk traffic IPv4:
34.126.0.0/18 - Untuk traffic IPv6:
2001:4860:8040::/42
Untuk mengetahui informasi selengkapnya tentang cara menggunakan aturan firewall VPC, lihat Menggunakan aturan firewall VPC di dokumentasi Cloud Next Generation Firewall.
Konfigurasi aturan firewall lokal Anda untuk mengizinkan traffic dari
host lokal Anda menjangkau rentang alamat IP
restricted.googleapis.com.
- Untuk traffic IPv4:
199.36.153.4/30 - Untuk traffic IPv6:
2600:2d00:0002:1000::/64
Konektivitas langsung ke Google API dan layanan Google tidak didukung dari jaringan lokal.
Mengonfigurasi DNS
Anda dapat menggunakan zona pribadi terkelola untuk jaringan VPC Anda.
Zona DNS pribadi Cloud DNS memungkinkan Anda menghosting zona DNS yang dapat diakses dari
jaringan VPC yang diberi otorisasi.
Untuk mengonfigurasi penerusan dari server nama lokal tertentu, Anda dapat menggunakan
rentang alamat IP restricted.googleapis.com.
Kemudian, Anda dapat membuat zona pribadi untuk googleapis.com dengan data A DNS yang
memetakan restricted.googleapis.com dan data CNAME yang sesuai untuk
setiap nama *.googleapis.com. Untuk mengetahui informasi selengkapnya, lihat
Mengelola zona.
Untuk akses lokal, Anda dapat mengonfigurasi kebijakan penerusan masuk Cloud DNS untuk memungkinkan server nama lokal mengkueri zona pribadi terkelola Cloud DNS. Anda juga dapat mengonfigurasi server nama lokal, seperti yang menggunakan BIND:
Mengonfigurasi DNS dengan Cloud DNS
Untuk mengaktifkan resolusi DNS bagi instance VM di jaringan VPC Anda, host di jaringan lokal, atau keduanya, gunakan Cloud DNS. Jika Anda menggunakan VPC Bersama, lihat Zona pribadi dan VPC Bersama di dokumentasi Cloud DNS. Selain itu, jika Anda menggunakan VPC Bersama, sebaiknya sertakan project host jaringan VPC Bersama dalam perimeter layanan yang sama dengan project yang terhubung ke jaringan.
Mengonfigurasi Cloud DNS menggunakan zona pribadi
Anda dapat menggunakan zona pribadi untuk mengonfigurasi Cloud DNS:
Buat zona pribadi terkelola untuk jaringan VPC Anda.
gcloud dns managed-zones create ZONE_NAME \ --visibility=private \ --networks=https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/NETWORK_NAME \ --description=DESCRIPTION \ --dns-name=googleapis.com
Ganti kode berikut:
ZONE_NAME: nama untuk zona yang Anda buat. Contoh,vpc. Nama ini digunakan di setiap langkah berikutnya.PROJECT_ID: ID project yang menghosting jaringan VPC Anda.NETWORK_NAME: nama jaringan VPC Anda.DESCRIPTION: deskripsi zona terkelola yang dapat dibaca manusia dan bersifat opsional.
Mulai transaksi.
gcloud dns record-sets transaction start --zone=ZONE_NAME
Ganti
ZONE_NAMEdengan nama zona yang Anda buat di langkah pertama.Tambahkan data DNS.
gcloud dns record-sets transaction add --name=*.googleapis.com. \ --type=CNAME restricted.googleapis.com. \ --zone=ZONE_NAME \ --ttl=300
Ganti
ZONE_NAMEdengan nama zona yang Anda buat di langkah pertama.gcloud dns record-sets transaction add --name=restricted.googleapis.com. \ --type=A 199.36.153.4 199.36.153.5 199.36.153.6 199.36.153.7 \ --zone=ZONE_NAME \ --ttl=300
Ganti
ZONE_NAMEdengan nama zona yang Anda buat di langkah pertama.Jika Anda mengonfigurasi alamat IPv6 untuk
restricted.googleapis.com, buat juga set data berikut:gcloud dns record-sets transaction add --name=restricted.googleapis.com. \ --type=AAAA 2600:2d00:0002:1000:: \ --zone=ZONE_NAME \ --ttl=300
Jalankan transaksi.
gcloud dns record-sets transaction execute --zone=ZONE_NAME
Ganti
ZONE_NAMEdengan nama zona yang Anda buat di langkah pertama.Opsional. Untuk mengizinkan host lokal menjangkau VIP yang dibatasi, selesaikan langkah-langkah berikut:
Buat kebijakan DNS dan aktifkan penerusan DNS masuk untuk membuat layanan resolusi nama jaringan VPC tersedia secara eksternal untuk sistem di jaringan lokal.
gcloud dns policies create POLICY_NAME \ --networks=https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/NETWORK_NAME \ --enable-inbound-forwarding \ --description=DESCRIPTION
Ganti kode berikut:
POLICY_NAME: nama untuk kebijakan yang Anda buat. Contoh,apipolicy.PROJECT_ID: ID project yang menghosting jaringan VPC Anda.NETWORK_NAME: nama jaringan VPC Anda.DESCRIPTION: deskripsi zona terkelola yang dapat dibaca manusia dan bersifat opsional.
Di jaringan lokal Anda, arahkan DNS lokal ke alamat IP forwarder Cloud DNS. Untuk menemukan alamat IP forwarder, gunakan perintah
compute addresses list:gcloud compute addresses list --filter='name ~ ^dns-forwarding.*' \ --format='csv[no-heading](address, subnetwork)'
Mengonfigurasi DNS dengan BIND
Jika Anda menggunakan BIND untuk resolusi DNS, Anda dapat mengonfigurasinya untuk menyelesaikan permintaan Google API ke Google API yang dibatasi. Gunakan contoh konfigurasi BIND berikut, yang menggunakan zona kebijakan respons (RPZ) untuk mencapai perilaku ini:
Tambahkan baris berikut ke
/etc/bind/named.conf:include "/etc/bind/named.conf.options"; include "/etc/bind/named.conf.local";
Tambahkan baris berikut ke
/etc/bind/named.conf.options:options { directory "/var/cache/bind"; dnssec-validation no; auth-nxdomain no; # conform to RFC 1035 listen-on-v6 { any; }; listen-on { any; }; response-policy { zone "googleapis.zone"; }; allow-query { any;}; };Tambahkan baris berikut ke
/etc/bind/named.conf.local:include "/etc/bind/named.conf.default-zones";
zone "googleapis.zone" { type master; file "/etc/bind/db.googleapis.zone"; allow-query {none;}; };
Tambahkan baris berikut ke
/etc/bind/db.googleapis.zone:$TTL 1H @ SOA LOCALHOST. noreply.localhost(1 1h 15m 30d 2h) NS LOCALHOST.*.googleapis.com CNAME restricted.googleapis.com. restricted.googleapis.com CNAME rpz-passthru.
Mengonfigurasi DNS dalam kasus khusus
Saat Anda perlu mengonfigurasi DNS dalam kasus khusus, perhatikan hal berikut:
- BIND kustom tidak didukung saat menggunakan Dataflow. Untuk menyesuaikan resolusi DNS saat menggunakan Dataflow dengan Kontrol Layanan VPC, gunakan zona pribadi Cloud DNS, bukan menggunakan server BIND kustom. Untuk menggunakan resolusi DNS lokal Anda sendiri, pertimbangkan untuk menggunakan metode penerusan DNSGoogle Cloud .
Anda juga mungkin perlu mengonfigurasi DNS untuk
gcr.iojika, misalnya, Anda menggunakan Google Kubernetes Engine (GKE). Untuk mengetahui informasi selengkapnya, lihat Menyiapkan Container Registry untuk cluster pribadi GKE.