Dokumen ini menunjukkan cara merutekan traffic dari GKE di AWS melalui proxy HTTP/HTTPS. Anda menentukan konfigurasi proxy saat membuat cluster.
Ringkasan
GKE di AWS dapat mengarahkan traffic internet keluar melalui proxy karena alasan berikut:
- Untuk mendaftarkan cluster dengan Google Cloud melalui Connect
- Untuk menjalankan Connect Agent
- Untuk mendownload image dari Container Registry
Batasan
- Kolom
httpProxy
danhttpsProxy
tidak mendukung URL yang diawali denganhttps://
. Anda harus menggunakanhttp://
. Permintaan ke port 443 menggunakan HTTPS. - Anda harus menetapkan nilai untuk
httpProxy
,httpsProxy
, dannoProxy
. - Anda mungkin perlu menambahkan domain, IP, atau CIDR lain ke kolom
noProxy
. Sebaiknya tambahkan rentang IP VPC. Mulai dari Google Kubernetes Engine versi 1.22, GKE di AWS secara otomatis menambahkan CIDR alamat Pod dan CIDR alamat layanan.
Prasyarat
Bagian ini menjelaskan prasyarat yang harus Anda terapkan sebelum menggunakan proxy.
Mengaktifkan endpoint VPC
Sebelum mengonfigurasi proxy, Anda harus membuat endpoint VPC untuk penginstalan GKE di AWS.
Dengan endpoint VPC, resource dalam subnet pribadi dapat mengakses layanan AWS tanpa akses internet publik.
Tabel berikut mencantumkan layanan AWS yang diperlukan GKE di AWS dengan endpoint VPC, beserta jenis endpoint dan Grup Keamanan yang memerlukan akses ke endpoint.
Layanan | Jenis endpoint | Grup keamanan |
---|---|---|
Penskalaan Otomatis | Antarmuka | Bidang kontrol, kumpulan node |
EC2 | Antarmuka | Bidang kontrol, kumpulan node |
EFS | Antarmuka | Bidang kontrol |
Load Balancing | Antarmuka | Bidang kontrol, kumpulan node |
Key Management Service | Antarmuka | Bidang kontrol, kumpulan node |
S3 | Gateway | Bidang kontrol, kumpulan node |
Secret Manager | Antarmuka | Bidang kontrol, kumpulan node |
Layanan Token Keamanan (STS) | Antarmuka | Bidang kontrol, kumpulan node |
Anda dapat membuat endpoint dari Konsol VPC AWS. Opsi yang Anda tetapkan saat membuat endpoint VPC bergantung pada konfigurasi VPC Anda.
Menetapkan grup keamanan
GKE di AWS harus dapat terhubung ke server proxy untuk mendownload komponen software. Buat atau temukan grup keamanan AWS yang memungkinkan koneksi keluar ke server proxy Anda. Grup keamanan harus mengizinkan akses keluar dari Bidang kontrol, dan grup keamanan kumpulan Node ke alamat dan port proxy. Simpan ID grup keamanan ini—misalnya, sg-12345678
.
Jenis | Protokol | Dari port | Ke port | Alamat |
---|---|---|---|---|
Traffic Keluar | TCP | Porta proxy | Porta proxy | Grup keamanan proxy |
Daftar Proxy yang Diizinkan
Agar GKE di AWS dapat terhubung ke layanan Google Cloud, server proxy harus mengizinkan traffic ke domain berikut.
.gcr.io
cloudresourcemanager.googleapis.com
container.googleapis.com
gkeconnect.googleapis.com
gkehub.googleapis.com
oauth2.googleapis.com
securetoken.googleapis.com
storage.googleapis.com
sts.googleapis.com
www.googleapis.com
servicecontrol.googleapis.com
logging.googleapis.com
monitoring.googleapis.com
opsconfigmonitoring.googleapis.com
GCP_LOCATION-gkemulticloud.googleapis.com
Ganti GCP_LOCATION
dengan region Google Cloud tempat cluster GKE Enterprise Anda berada. Tentukan us-west1
atau wilayah lain yang didukung.
Memperbarui peran IAM AWS
Agar GKE di AWS dapat membaca konfigurasi proxy dari AWS Secrets Manager, Anda harus menambahkan secretsmanager:GetSecretValue
ke peran Bidang kontrol dan peran Node pool cluster Anda.
Untuk menambahkan izin ini, tambahkan izin tersebut ke bidang kontrol dan kebijakan kumpulan node Anda. Untuk mengetahui informasi selengkapnya, lihat Mengedit kebijakan IAM.
Membuat file konfigurasi proxy
Konfigurasi proxy disimpan dalam secret AWS Secrets Manager sebagai string JSON.
Anda dapat meneruskan konfigurasi ini ke alat command line aws
sebagai
file. Bagian ini menjelaskan cara membuat file tersebut.
Tabel berikut menjelaskan isi file ini.
Kolom | Deskripsi | Contoh | Wajib |
---|---|---|---|
httpProxy |
URL server proxy. Nilai ini harus mencakup nama host/alamat IP serta port, nama pengguna, dan sandi jika diinginkan. | "http://user:password@10.184.37.42:80" "10.184.37.42" |
Ya |
httpsProxy |
URL proxy untuk traffic HTTPS terenkripsi. URL httpProxy akan digunakan jika httpsProxy memiliki nilai kosong. | "http://10.101.16.31:80"
|
Ya |
noProxy |
Daftar URL yang dipisahkan koma yang akan dikecualikan dari proxy. Setiap nilai dapat berupa alamat IP, rentang CIDR, nama domain, atau karakter asterix (*). Domain yang ditentukan dengan titik di awal (misalnya, `.google.com`) menunjukkan bahwa subdomain diperlukan. Asterix tunggal * mengabaikan semua konfigurasi proxy. | "1.2.3.4,10.0.0.0/16,example.com,.site.com" |
Ya |
Untuk membuat file konfigurasi, buat file JSON yang berisi nilai untuk kunci
httpProxy
,noProxy
, danhttpsProxy
opsional.{ "httpProxy": "AUTHENTICATION_URL", "httpsProxy": "AUTHENTICATION_URL", "noProxy": "NO_PROXY_ADDRESSES" }
Ganti kode berikut:
AUTHENTICATION_URL
: URL yang dienkode yang berisi nama pengguna dan sandi proxyNO_PROXY_ADDRESSES
: Daftar blok CIDR dan URL yang dipisahkan koma, misalnya10.0.0.0/16,http://example.com
Simpan file untuk digunakan di bagian berikut.
Buat secret dengan data JSON ini sebagai rahasia di AWS Secret Manager menggunakan alat command line
aws
.aws secretsmanager create-secret \ --name SECRET_NAME \ --secret-string file://PROXY_CONFIGURATION_FILE
Ganti kode berikut:
SECRET_NAME
: nama secret baruPROXY_CONFIGURATION_FILE
: jalur ke file konfigurasi proxy Anda.
Output-nya mencakup nama resource (ARN) dan isi rahasia. Sekarang Anda dapat merujuk rahasia ini saat membuat cluster.
Membuat cluster yang menggunakan proxy
Untuk mengonfigurasi GKE di AWS agar dapat menggunakan proxy HTTP untuk konektivitas keluar, lakukan langkah-langkah berikut:
Ikuti langkah-langkah di bagian
Membuat cluster
dan teruskan flag proxy-secret-arn
dan proxy-secret-version-id
.
gcloud container aws clusters create CLUSTER_NAME \
--proxy-secret-arn=PROXY_SECRET_ARN \
--proxy-secret-version-id=PROXY_SECRET_VERSION \
Ganti kode berikut:
CLUSTER_NAME
: nama cluster AndaPROXY_SECRET_ARN
: ARN secret yang berisi setelan proxy — misalnya,arn:aws::secretsmanager:us-east-2:111122223333:secret:example/ExampleSecret-jiObOV
PROXY_SECRET_VERSION
: ID versi rahasia—misalnya,EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE
Perbarui konfigurasi proxy
Anda dapat memperbarui konfigurasi proxy untuk bidang kontrol cluster atau kumpulan node. Untuk memperbarui ARN konfigurasi proxy, Anda harus terlebih dahulu memperbarui bidang kontrol atau peran IAM AWS kumpulan node.
Memperbarui peran IAM AWS
Sebelum mengubah ARN tempat konfigurasi proxy disimpan, Anda harus mengonfirmasi bahwa Peran bidang kontrol dan peran Kumpulan node cluster Anda memiliki akses baca ke ARN rahasia. Jika pernyataan IAM Anda dengan izin secretsmanager:GetSecretValue
dicakup untuk ARN resource tertentu, tambahkan ARN rahasia baru ke daftar tersebut sebelum memperbarui konfigurasi proxy.
Mengupdate konfigurasi proxy cluster
Untuk mengupdate konfigurasi proxy cluster, gunakan Google Cloud CLI.
gcloud container aws clusters update CLUSTER_NAME \
--location GOOGLE_CLOUD_LOCATION \
--proxy-secret-arn=PROXY_SECRET_ARN \
--proxy-secret-version-id=PROXY_SECRET_VERSION
Ganti kode berikut:
CLUSTER_NAME
: nama cluster AndaGOOGLE_CLOUD_LOCATION
: region Google Cloud yang didukung yang mengelola cluster AndaPROXY_SECRET_ARN
: ARN rahasia yang berisi setelan proxyPROXY_SECRET_VERSION
: ID versi rahasia—misalnya,EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE
Mengupdate konfigurasi proxy kumpulan node
Untuk memperbarui konfigurasi proxy kumpulan node, gunakan Google Cloud CLI.
gcloud container aws node-pools update NODE_POOL_NAME
--cluster CLUSTER_NAME \
--location GOOGLE_CLOUD_LOCATION \
--proxy-secret-arn=PROXY_SECRET_ARN \
--proxy-secret-version-id=PROXY_SECRET_VERSION
Ganti kode berikut:
NODE_POOL_NAME
: nama kumpulan node AndaCLUSTER_NAME
: nama cluster AndaGOOGLE_CLOUD_LOCATION
: region Google Cloud yang didukung yang mengelola cluster AndaPROXY_SECRET_ARN
: ARN rahasia yang berisi setelan proxyPROXY_SECRET_VERSION
: ID versi rahasia—misalnya,EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE
Hapus konfigurasi proxy
Anda dapat menghapus konfigurasi proxy dari bidang kontrol cluster atau kumpulan node. Operasi ini bersifat independen. Menghapus konfigurasi dari bidang kontrol tidak akan menghapusnya dari kumpulan node cluster.
Hapus konfigurasi proxy bidang kontrol
Untuk menghapus konfigurasi proxy bidang kontrol cluster Anda, gunakan Google Cloud CLI.
gcloud container aws clusters update CLUSTER_NAME \
--location GOOGLE_CLOUD_LOCATION \
--clear-proxy-config
Ganti kode berikut:
CLUSTER_NAME
: nama cluster AndaGOOGLE_CLOUD_LOCATION
: region Google Cloud yang didukung yang mengelola cluster Anda—misalnya,us-west1
Hapus konfigurasi proxy kumpulan node
Untuk menghapus konfigurasi proxy dari kumpulan node, gunakan Google Cloud CLI.
gcloud container aws node-pools update NODE_POOL_NAME
--cluster CLUSTER_NAME \
--location GOOGLE_CLOUD_LOCATION \
--clear-proxy-config
Ganti kode berikut:
NODE_POOL_NAME
: nama kumpulan node AndaCLUSTER_NAME
: nama cluster AndaGOOGLE_CLOUD_LOCATION
: region Google Cloud yang didukung yang mengelola cluster Anda—misalnya,us-west1
Langkah selanjutnya
- Baca informasi tambahan tentang cara Membuat cluster.