Mengakses API dari VM dengan alamat IP eksternal
Instance virtual machine (VM) dengan alamat IP eksternal yang ditetapkan ke antarmuka jaringannya dapat terhubung ke Google API dan layanan Google jika persyaratan jaringan yang dijelaskan pada halaman ini terpenuhi. Meskipun koneksi dibuat dari alamat IP eksternal VM, traffic tetap berada dalam Google Cloud dan tidak dikirim melalui internet publik.
Persyaratan jaringan
Anda harus memenuhi persyaratan berikut untuk mengakses Google API dan layanan Google dari VM dengan alamat IP eksternal:
- Anda harus mengaktifkan Google API yang perlu digunakan di Konsol Google Cloud, di halaman API & layanan.
Jika ingin terhubung ke Google API dan layanan Google menggunakan IPv6, Anda harus memenuhi kedua persyaratan berikut:
VM Anda harus dikonfigurasi dengan rentang alamat IPv6
/96
eksternal.Software yang berjalan di VM harus mengirim paket yang sumbernya cocok dengan salah satu alamat IPv6 dari rentang tersebut.
- Bergantung pada konfigurasi yang dipilih, Anda mungkin perlu memperbarui entri DNS, rute, dan aturan firewall. Untuk informasi selengkapnya, lihat Ringkasan opsi konfigurasi.
Ringkasan opsi konfigurasi
Tabel berikut merangkum berbagai cara untuk mengonfigurasi Private Google Access. Untuk informasi konfigurasi yang lebih mendetail, lihat Konfigurasi jaringan.
Opsi domain | Konfigurasi DNS | Konfigurasi pemilihan rute | Konfigurasi firewall |
---|---|---|---|
Domain default | Tidak diperlukan konfigurasi DNS khusus. | Pastikan jaringan VPC Anda dapat merutekan traffic ke rentang alamat IP yang digunakan oleh Google API dan layanan Google.
|
Pastikan aturan firewall Anda mengizinkan traffic keluar ke rentang alamat IP yang digunakan oleh Google API dan layanan Google. Aturan firewall izinkan traffic keluar default mengizinkan traffic ini, jika tidak ada aturan prioritas yang lebih tinggi yang memblokirnya. |
private.googleapis.com
|
Konfigurasikan data DNS di zona DNS pribadi untuk mengirim permintaan ke alamat IP berikut: Untuk traffic IPv4:
Untuk traffic IPv6:
|
Pastikan jaringan VPC Anda memiliki rute ke rentang IP berikut: Untuk traffic IPv4:
Untuk traffic IPv6:
|
Pastikan aturan firewall Anda mengizinkan traffic keluar ke rentang IP berikut: Untuk traffic IPv4:
Untuk traffic IPv6:
|
restricted.googleapis.com
|
Konfigurasikan data DNS untuk mengirim permintaan ke alamat IP berikut: Untuk traffic IPv4:
Untuk traffic IPv6:
|
Pastikan jaringan VPC Anda memiliki rute ke rentang IP berikut: Untuk traffic IPv4:
Untuk traffic IPv6:
|
Pastikan aturan firewall Anda mengizinkan traffic keluar ke rentang IP berikut: Untuk traffic IPv4:
Untuk traffic IPv6:
|
Konfigurasi jaringan
Bagian ini menjelaskan persyaratan jaringan dasar yang harus Anda penuhi agar VM di jaringan VPC Anda dapat mengakses Google API dan layanan Google.
Opsi domain
Pilih domain yang ingin Anda gunakan untuk mengakses Google API dan layanan Google.
Alamat IP virtual (VIP) private.googleapis.com
dan restricted.googleapis.com
hanya mendukung protokol berbasis HTTP melalui TCP (HTTP, HTTPS, dan HTTP/2). Semua protokol lainnya, termasuk MQTT dan ICMP, tidak didukung.
Domain dan rentang alamat IP | Layanan yang didukung | Contoh penggunaan |
---|---|---|
Domain default. Semua nama domain untuk Google API dan layanan Google kecuali untuk Beragam rentang alamat IP—Anda dapat menentukan sekumpulan rentang IP yang berisi kemungkinan alamat yang digunakan oleh domain default dengan mereferensikan alamat IP untuk domain default. |
Mengaktifkan akses API ke sebagian besar Google API dan layanan Google terlepas dari apakah keduanya didukung oleh Kontrol Layanan VPC. Mencakup akses API ke Google Maps, Google Ads, dan Google Cloud. Mencakup aplikasi web Google Workspace seperti Gmail dan Google Dokumen, serta aplikasi web lainnya. |
Domain default digunakan jika Anda tidak mengonfigurasi data DNS untuk |
|
Mengaktifkan akses API ke sebagian besar Google API dan layanan Google terlepas dari apakah keduanya didukung oleh Kontrol Layanan VPC. Mencakup akses API ke Google Maps, Google Ads, Google Cloud, dan sebagian besar Google API lainnya, termasuk di daftar berikut. Tidak mendukung aplikasi web Google Workspace seperti Gmail dan Google Dokumen. Tidak mendukung situs interaktif apa pun. Nama domain yang cocok:
|
Gunakan Pilih
|
|
Mengaktifkan akses API ke Google API dan layanan Google yang didukung oleh Kontrol Layanan VPC. Memblokir akses ke Google API dan layanan Google yang tidak mendukung Kontrol Layanan VPC. Tidak mendukung Google Workspace API atau aplikasi web Google Workspace seperti Gmail dan Google Dokumen. |
Gunakan Pilih Domain |
restricted.googleapis.com
, karena menyediakan mitigasi risiko tambahan untuk pemindahan data yang tidak sah. Penggunaan restricted.googleapis.com
akan menolak akses ke
Google API dan layanan Google yang tidak didukung oleh Kontrol Layanan VPC. Lihat
Menyiapkan konektivitas
pribadi dalam dokumentasi Kontrol Layanan VPC untuk mengetahui detail selengkapnya.
Dukungan IPv6 untuk private.googleapis.com
dan restricted.googleapis.com
Rentang alamat IP IPv6 berikut dapat digunakan untuk mengarahkan traffic dari klien IPv6 ke Google API dan layanan Google:
private.googleapis.com
:2600:2d00:0002:2000::/64
restricted.googleapis.com
:2600:2d00:0002:1000::/64
Pertimbangkan untuk mengonfigurasi alamat IPv6 jika Anda ingin menggunakan domain private.googleapis.com
atau restricted.googleapis.com
, dan Anda
memiliki klien yang menggunakan alamat IPv6 juga. Klien IPv6 yang juga telah mengonfigurasi alamat IPv4 dapat menjangkau Google API dan layanan Google menggunakan alamat IPv4. Tidak semua layanan menerima traffic dari
klien IPv6.
Konfigurasi DNS
Untuk konektivitas ke Google API dan layanan Google, Anda dapat memilih untuk mengirim paket ke alamat IP yang terkait dengan VIP private.googleapis.com
atau restricted.googleapis.com
. Untuk menggunakan VIP, Anda harus mengonfigurasi DNS sehingga VM di jaringan VPC Anda menjangkau layanan menggunakan alamat VIP, bukan alamat IP publik.
Bagian berikut menjelaskan cara menggunakan zona DNS untuk mengirim paket ke alamat IP yang terkait dengan VIP yang Anda pilih. Ikuti petunjuk untuk semua skenario yang berlaku untuk Anda:
- Jika Anda menggunakan layanan yang memiliki nama domain
*.googleapis.com
, lihat Mengonfigurasi DNS untukgoogleapis.com
. Jika Anda menggunakan layanan yang memiliki nama domain lain, lihat Mengonfigurasi DNS untuk domain lain.
Misalnya, jika menggunakan Google Kubernetes Engine (GKE), Anda juga perlu mengonfigurasi
*.gcr.io
dan*.pkg.dev
, atau jika menggunakan Cloud Run, Anda perlu mengonfigurasi*.run.app
.Jika Anda menggunakan bucket Cloud Storage, dan mengirim permintaan ke nama domain kustom Cloud Storage, lihat Mengonfigurasi DNS untuk nama domain kustom Cloud Storage.
Saat mengonfigurasi data DNS untuk VIP, hanya gunakan alamat IP yang
dijelaskan pada langkah berikut. Jangan mencampur alamat dari
VIP private.googleapis.com
dan restricted.googleapis.com
. Hal ini dapat
menyebabkan kegagalan berkala karena layanan yang ditawarkan berbeda
berdasarkan tujuan paket.
Mengonfigurasi DNS untuk googleapis.com
Membuat zona dan data DNS untuk googleapis.com
:
- Membuat zona DNS pribadi untuk
googleapis.com
. Pertimbangkan untuk membuat zona pribadi Cloud DNS untuk tujuan ini. Di zona
googleapis.com
, buat data DNS pribadi berikut untukprivate.googleapis.com
ataurestricted.googleapis.com
, bergantung pada domain yang Anda pilih untuk digunakan.Untuk
private.googleapis.com
:Buat data
A
untukprivate.googleapis.com
yang mengarah ke alamat IP berikut:199.36.153.8
,199.36.153.9
,199.36.153.10
,199.36.153.11
.Untuk terhubung ke API menggunakan alamat IPv6, konfigurasikan juga data
AAAA
untukprivate.googleapis.com
yang mengarah ke2600:2d00:0002:2000::
.
Untuk
restricted.googleapis.com
:Buat data
A
untukrestricted.googleapis.com
yang mengarah ke alamat IP berikut:199.36.153.4
,199.36.153.5
,199.36.153.6
,199.36.153.7
.Agar terhubung ke API menggunakan alamat IPv6, buat juga data
AAAA
untukrestricted.googleapis.com
yang mengarah ke2600:2d00:0002:1000::
.
Untuk membuat data DNS pribadi di Cloud DNS, lihat menambahkan data.
Di zona
googleapis.com
, buat dataCNAME
untuk*.googleapis.com
yang mengarah ke domain yang telah Anda konfigurasi:private.googleapis.com
ataurestricted.googleapis.com
.
Mengonfigurasi DNS untuk domain lain
Beberapa Google API dan layanan Google disediakan menggunakan nama domain tambahan,
termasuk *.gcr.io
, *.gstatic.com
, *.pkg.dev
, pki.goog
, dan *.run.app
.
Lihat tabel domain dan rentang alamat IP di Opsi domain
untuk menentukan apakah layanan domain tambahan dapat diakses menggunakan private.googleapis.com
atau restricted.googleapis.com
. Kemudian, untuk setiap domain tambahan:
Buat zona DNS untuk
DOMAIN
(misalnya,gcr.io
). Jika Anda menggunakan Cloud DNS, pastikan zona ini berada di project yang sama dengangoogleapis.com
zona pribadi Anda.Di zona DNS ini, buat data DNS pribadi berikut untuk baik
private.googleapis.com
maupunrestricted.googleapis.com
, bergantung pada domain yang Anda pilih untuk digunakan.Untuk
private.googleapis.com
:Buat data
A
untukDOMAIN
yang mengarah ke alamat IP berikut:199.36.153.8
,199.36.153.9
,199.36.153.10
,199.36.153.11
.Agar terhubung ke API menggunakan alamat IPv6, buat juga data
AAAA
untukDOMAIN
yang mengarah ke2600:2d00:0002:2000::
.
Untuk
restricted.googleapis.com
:Buat data
A
untukDOMAIN
yang mengarah ke alamat IP berikut:199.36.153.4
,199.36.153.5
,199.36.153.6
,199.36.153.7
.Agar terhubung ke API menggunakan alamat IPv6, buat juga data
AAAA
untukrestricted.googleapis.com
yang mengarah ke2600:2d00:0002:1000::
.
Di zona
DOMAIN
, buat dataCNAME
untuk*.DOMAIN
yang mengarah keDOMAIN
. Misalnya, buat dataCNAME
untuk*.gcr.io
yang mengarah kegcr.io
.
Mengonfigurasi DNS untuk nama domain kustom Cloud Storage
Jika Anda menggunakan bucket Cloud Storage, dan mengirim permintaan ke
nama domain kustom Cloud Storage,
konfigurasi data DNS untuk nama domain kustom Cloud Storage agar mengarah
ke alamat IP untuk private.googleapis.com
atau restricted.googleapis.com
tidak
cukup untuk mengizinkan akses ke bucket Cloud Storage.
Jika ingin mengirim permintaan ke nama domain kustom Cloud Storage, Anda juga harus secara eksplisit
menetapkan header Host dan TLS SNI permintaan HTTP ke storage.googleapis.com
Alamat
IP untuk private.googleapis.com
dan restricted.googleapis.com
tidak
mendukung nama host Cloud Storage kustom di header Host permintaan HTTP dan TLS
SNI.
Opsi pemilihan rute
Jaringan VPC Anda harus memiliki rute yang sesuai dengan next hop yang merupakan gateway internet default. Google Cloud tidak mendukung pemilihan rute traffic ke Google API dan layanan Google melalui instance VM lain atau next hop kustom. Meskipun disebut sebagai gateway internet default, paket yang dikirim dari VM di jaringan VPC Anda ke Google API dan layanan Google tetap berada dalam jaringan Google.
Jika Anda memilih domain default, instance VM Anda akan terhubung ke Google API dan layanan Google menggunakan sebagian alamat IP eksternal Google. Alamat IP ini dapat dirutekan secara publik, tetapi jalur dari VM dalam jaringan VPC ke alamat tersebut tetap berada dalam jaringan Google.
Google tidak memublikasikan rute di internet ke alamat IP mana pun yang digunakan oleh domain
private.googleapis.com
ataurestricted.googleapis.com
. Akibatnya, domain ini hanya dapat diakses oleh VM di jaringan VPC atau sistem lokal yang terhubung ke jaringan VPC.
Jika jaringan VPC Anda berisi rute default yang next hop-nya adalah gateway internet default, Anda dapat menggunakan rute tersebut untuk mengakses Google API dan layanan Google, tanpa perlu membuat rute kustom. Lihat pemilihan rute dengan rute default untuk mengetahui detailnya.
Jika Anda telah mengganti rute default (tujuan 0.0.0.0/0
atau ::0/0
) dengan rute kustom yang next hop-nya bukan gateway internet default, Anda dapat memenuhi persyaratan pemilihan rute untuk Google API dan layanan Google menggunakan pemilihan rute kustom.
Jika jaringan VPC Anda tidak memiliki rute default IPv6, Anda tidak akan memiliki konektivitas IPv6 ke Google API dan layanan Google. Tambahkan rute default IPv6 untuk mengizinkan konektivitas IPv6.
Pemilihan rute dengan rute default
Setiap jaringan VPC berisi rute default IPv4 (0.0.0.0/0
) saat dibuat. Jika Anda mengaktifkan alamat IPv6 eksternal di subnet, rute default IPv6 yang dihasilkan sistem (::/0
) akan ditambahkan ke jaringan VPC tersebut.
Rute default menyediakan jalur ke alamat IP untuk tujuan berikut:
Domain default.
private.googleapis.com
:199.36.153.8/30
dan2600:2d00:0002:2000::/64
.restricted.googleapis.com
:199.36.153.4/30
dan2600:2d00:0002:1000::/64
.
Untuk memeriksa konfigurasi rute default di jaringan tertentu, ikuti petunjuk berikut.
Konsol
Di Konsol Google Cloud, buka halaman Routes.
Filter daftar rute untuk hanya menampilkan rute untuk jaringan yang perlu Anda periksa.
Cari rute yang tujuannya
0.0.0.0/0
untuk traffic IPv4 atau::/0
untuk traffic IPv6 dan yang next hop-nya adalah gateway internet default.
gcloud
Gunakan perintah gcloud
berikut, dengan mengganti NETWORK_NAME
dengan nama jaringan yang akan diperiksa:
gcloud compute routes list \ --filter="default-internet-gateway NETWORK_NAME"
Jika Anda perlu membuat rute IPv4 default pengganti, lihat Menambahkan rute statis.
Jika Anda perlu membuat rute IPv6 default pengganti, lihat Menambahkan rute default IPv6.
Pemilihan rute kustom
Sebagai alternatif rute default, Anda dapat menggunakan rute statis kustom, yang masing-masing memiliki tujuan yang lebih spesifik, dan menggunakan next hop gateway internet default. Jumlah rute yang Anda butuhkan dan alamat IP tujuannya bergantung pada domain yang Anda pilih.
- Domain default: Anda harus memiliki rute untuk rentang alamat IP untuk Google API dan layanan Google.
private.googleapis.com
:199.36.153.8/30
dan2600:2d00:0002:2000::/64
restricted.googleapis.com
:199.36.153.4/30
dan2600:2d00:0002:1000::/64
Selain itu, sebaiknya tambahkan rute untuk 34.126.0.0/18
dan 2001:4860:8040::/42
. Untuk informasi selengkapnya, lihat Ringkasan
opsi konfigurasi.
Untuk memeriksa konfigurasi rute kustom untuk Google API dan layanan Google di jaringan tertentu, ikuti petunjuk berikut.
Konsol
Di Konsol Google Cloud, buka halaman Routes.
Gunakan kolom teks Filter table untuk memfilter daftar rute menggunakan kriteria berikut, yang mengganti
NETWORK_NAME
dengan nama jaringan VPC Anda.- Jaringan:
NETWORK_NAME
- Jenis next hop:
default internet gateway
- Jaringan:
Lihat kolom Destination IP range untuk setiap rute. Jika Anda memilih domain default, periksa beberapa rute statis kustom, satu rute untuk setiap rentang alamat IP yang digunakan oleh domain default. Jika Anda memilih
private.googleapis.com
ataurestricted.googleapis.com
, cari rentang IP domain tersebut.
gcloud
Gunakan perintah gcloud
berikut, dengan mengganti NETWORK_NAME
dengan nama jaringan yang akan diperiksa:
gcloud compute routes list \ --filter="default-internet-gateway NETWORK_NAME"
Rute dicantumkan dalam format tabel kecuali jika Anda menyesuaikan perintah dengan flag --format
. Lihat di kolom DEST_RANGE
untuk tujuan setiap rute. Jika Anda memilih domain default, periksa beberapa rute statis kustom, satu rute untuk setiap rentang alamat IP yang digunakan oleh domain default. Jika Anda memilih private.googleapis.com
atau restricted.googleapis.com
, cari rentang IP domain tersebut.
Jika Anda perlu membuat rute, lihat Menambahkan rute statis.
Konfigurasi firewall
Konfigurasi firewall jaringan VPC Anda harus mengizinkan akses dari VM ke alamat IP yang digunakan oleh Google API dan layanan Google. Aturan allow egress
tersirat memenuhi persyaratan ini.
Di beberapa konfigurasi firewall, Anda harus membuat aturan izinkan traffic keluar khusus.
Misalnya, anggaplah Anda telah membuat aturan tolak traffic keluar yang memblokir traffic ke semua tujuan (0.0.0.0
untuk IPv4 atau ::/0
untuk IPv6). Dalam hal ini, Anda harus membuat satu aturan firewall izinkan traffic keluar yang prioritasnya lebih tinggi daripada aturan tolak traffic keluar untuk setiap rentang alamat IP yang digunakan oleh domain yang Anda pilih untuk Google API dan layanan Google.
- Domain default: semua rentang alamat IP untuk Google API dan layanan Google.
private.googleapis.com
:199.36.153.8/30
dan2600:2d00:0002:2000::/64
restricted.googleapis.com
:199.36.153.4/30
dan2600:2d00:0002:1000::/64
Selain itu, sebaiknya sertakan 34.126.0.0/18
dan
2001:4860:8040::/42
dalam aturan firewall izinkan keluar. Untuk informasi
selengkapnya, lihat Ringkasan opsi konfigurasi.
Untuk membuat aturan firewall, baca artikel Membuat aturan firewall. Anda dapat membatasi VM yang menerapkan aturan firewall saat Anda menentukan target dari setiap aturan izinkan traffic keluar.
Alamat IP untuk domain default
Bagian ini menjelaskan cara membuat daftar rentang IP domain default yang digunakan oleh Google API dan layanan Google, seperti *.googleapis.com
dan *.gcr.io
. Rentang ini dialokasikan secara dinamis dan sering berubah, sehingga tidak mungkin untuk menentukan rentang IP tertentu untuk setiap layanan atau API. Untuk mempertahankan daftar yang akurat, siapkan otomatisasi untuk menjalankan skrip setiap hari. Sebagai alternatif untuk mempertahankan daftar rentang alamat IP, pertimbangkan untuk menggunakan private.googleapis.com VIP atau Private Service Connect.
Google akan memublikasikan daftar lengkap rentang IP yang disediakannya bagi pengguna di internet di goog.json.
Google juga memublikasikan daftar rentang alamat IP eksternal global dan regional yang tersedia untuk resource Google Cloud pelanggan di cloud.json.
Alamat IP yang digunakan oleh domain default untuk Google API dan layanan Google sesuai dengan daftar rentang yang dihitung dengan menghapus semua rentang di cloud.json
dari rentang di goog.json
. Daftar ini sering diupdate.
Anda dapat menggunakan skrip Python berikut untuk membuat daftar rentang alamat IP yang mencakup rentang yang digunakan oleh domain default untuk Google API dan layanan Google.
Untuk informasi tentang cara menjalankan skrip ini, lihat Cara menjalankan.