Topik ini menjelaskan cara merotasi kredensial keamanan untuk GKE Anda pada layanan pengelolaan AWS dan cluster pengguna. Untuk mengetahui informasi selengkapnya tentang fitur keamanan GKE di AWS, lihat Keamanan.
Sebelum memulai
Untuk menyelesaikan langkah-langkah di halaman ini, Anda harus memiliki akses ke direktori dengan konfigurasi GKE pada AWS Anda.
Sertifikat layanan pengelolaan
Bagian ini menjelaskan cara merotasi sertifikat untuk layanan pengelolaan Anda.
Manajemen certificate authority
Bagian ini menjelaskan cara merotasi sertifikat penandatanganan Certificate authority (CA) untuk GKE pada komponen AWS.
CA root server API Pengelolaan
Untuk merotasi CA root server API, lakukan langkah-langkah berikut:
- Beralihlah ke direktori yang memiliki konfigurasi GKE on AWS.
Anda membuat direktori ini saat
Menginstal layanan pengelolaan.
cd anthos-aws
- Buka
anthos-gke.status.yaml
di editor teks. - Hapus semua nilai pada kunci
certificateAuthority
. Ini mencakupencryptedPrivateKey.kmsKeyARN
,encryptedPrivateKey.value
, danencryptedPrivateKey.certificate
. Jalankan
anthos-gke aws management init
untuk mengupdate fileanthos-gke.status.yaml
.anthos-gke aws management init
Jalankan
anthos-gke aws management apply
untuk mengupdate layanan pengelolaan.anthos-gke aws management apply
- Dari direktori
anthos-aws
, gunakananthos-gke
untuk mengalihkan konteks ke layanan pengelolaan Anda.cd anthos-aws anthos-gke aws management get-credentials
CA pengelolaan lainnya
Bagian ini menjelaskan cara merotasi semua CA berikut:
- CA webhook autentikasi
- CA Etcd
- CA Penanda Tangan Akun Layanan
Anda dapat merotasi CA ini dengan salah satu metode berikut:
Hapus bagian
certificateAuthority
darianthos-gke.status.yaml
Anda.- Beralihlah ke direktori yang memiliki konfigurasi GKE on AWS.
Anda membuat direktori ini saat
Menginstal layanan pengelolaan.
cd anthos-aws
- Buka
anthos-gke.status.yaml
di editor teks. - Hapus semua nilai pada kunci
certificateAuthority
. Ini mencakupencryptedPrivateKey.kmsKeyARN
,encryptedPrivateKey.value
, danencryptedPrivateKey.certificate
. Jalankan
anthos-gke aws management init
untuk mengupdate fileanthos-gke.status.yaml
.anthos-gke aws management init
Jalankan
anthos-gke aws management apply
untuk mengupdate layanan pengelolaan.anthos-gke aws management apply
- Beralihlah ke direktori yang memiliki konfigurasi GKE on AWS.
Anda membuat direktori ini saat
Menginstal layanan pengelolaan.
Jika GKE baru di versi AWS tersedia, upgrade GKE Anda pada layanan pengelolaan AWS.
Buat ulang instance EC2 layanan pengelolaan.
- Dari direktori
anthos-aws
, gunakanterraform
untuk mendapatkan ID layanan pengelolaan Anda.cd anthos-aws terraform output cluster_id
Output mencakup ID layanan pengelolaan Anda. Dalam contoh di bawah ini, ID-nya adalahgke-12345abc
.terraform output cluster_id
gke-12345abc - Buka Konsol AWS EC2.
- Klik Instance
- Temukan instance bernama
cluster-id-management-0
. - Pilih Tindakan -> Status instance -> hentikan untuk menghapus instance. EC2 otomatis membuat instance baru dengan volume EBS yang sama.
- Dari direktori
Mengelola kunci dan sertifikat Klien / Server TLS
Untuk merotasi kunci dan sertifikat klien / server TLS untuk layanan pengelolaan, Anda harus membuat ulang instance layanan pengelolaan. Untuk membuat ulang instance, lakukan langkah-langkah berikut:
- Dari direktori
anthos-aws
, gunakanterraform
untuk mendapatkan ID layanan pengelolaan Anda.cd anthos-aws terraform output cluster_id
Output mencakup ID layanan pengelolaan Anda. Dalam contoh di bawah ini, ID-nya adalahgke-12345abc
.terraform output cluster_id
gke-12345abc - Buka Konsol AWS EC2.
- Klik Instance
- Temukan instance bernama
cluster-id-management-0
. - Pilih Tindakan -> Status instance -> hentikan untuk menghapus instance. EC2 otomatis membuat instance baru dengan volume EBS yang sama.
Akun layanan Google Cloud
Akun layanan pengelolaan
Guna merotasi akun layanan Google Cloud untuk layanan pengelolaan Anda, lakukan langkah-langkah berikut.
- Buat akun layanan baru dan download kunci akun layanan dengan mengikuti langkah-langkah di Prasyarat
- Beralihlah ke direktori yang memiliki konfigurasi GKE on AWS.
Anda membuat direktori ini saat
Menginstal layanan pengelolaan.
cd anthos-aws
Jika Anda mendownload kunci ke jalur yang berbeda, buka file
anthos-gke.yaml
di editor teks. Ubah nilai.spec.googleCloud.serviceAccountKeys.managementService
,.status.googleCloud.serviceAccountKeys.connectAgent
, dan.spec.googleCloud.serviceAccountKeys.node
ke jalur baru.apiVersion: multicloud.cluster.gke.io/v1 kind: AWSManagementService metadata: name: management spec: googleCloud: serviceAccountKeys: managementService: MANAGEMENT_KEY_PATH connectAgent: CONNECT_KEY_PATH node: NODE_KEY_PATH ...
Jalankan
anthos-gke aws management init
untuk mengupdate fileanthos-gke.status.yaml
.anthos-gke aws management init
Jalankan
anthos-gke aws management apply
untuk mengupdate layanan pengelolaan.anthos-gke aws management apply
Akun layanan cluster pengguna
Untuk menerapkan akun layanan ini di AWSClusters dan AWSNodePools, Anda harus mengupgrade atau menghapus lalu membuat ulang akun tersebut.
Sertifikat cluster pengguna
Bagian ini menjelaskan cara merotasi sertifikat untuk cluster pengguna Anda.
CA cluster pengguna dan kunci SSH
Sebagian besar CA untuk cluster pengguna Anda dibuat saat cluster dibuat.
Saat Anda menghapus cluster pengguna, GKE di AWS akan merotasi sertifikat berikut:
- CA root server API
- CA proxy depan API
- etcd CA
- CA penanda tangan akun layanan Kubernetes
- Bidang kontrol ke pasangan kunci SSH node
CA webhook autentikasi cluster pengguna
Untuk merotasi CA webhook autentikasi cluster pengguna, edit file anthos-gke.status.yaml
dan terapkan perubahannya.
- Beralihlah ke direktori yang memiliki konfigurasi GKE on AWS.
Anda membuat direktori ini saat
Menginstal layanan pengelolaan.
cd anthos-aws
- Buka
anthos-gke.status.yaml
di editor teks. - Hapus semua nilai pada kunci
certificateAuthority
. Ini mencakupencryptedPrivateKey.kmsKeyARN
,encryptedPrivateKey.value
, danencryptedPrivateKey.certificate
. Jalankan
anthos-gke aws management init
untuk mengupdate fileanthos-gke.status.yaml
.anthos-gke aws management init
Jalankan
anthos-gke aws management apply
untuk mengupdate layanan pengelolaan.anthos-gke aws management apply
Pasangan kunci dan sertifikat TLS cluster pengguna
GKE di AWS menghasilkan pasangan kunci dan sertifikat TLS saat membuat instance. Untuk merotasi pasangan ini, buat ulang instance dengan melakukan langkah-langkah berikut untuk bidang kontrol dan kumpulan node.
Bidang kontrol
- Dari direktori
anthos-aws
, gunakananthos-gke
untuk mengalihkan konteks ke layanan pengelolaan Anda.cd anthos-aws anthos-gke aws management get-credentials
Gunakan
kubectl
untuk mendapatkan grup target AWS EC2 bidang kontrol dari AWSCluster Anda.env HTTPS_PROXY=http://localhost:8118 \ kubectl get awscluster cluster-name \ -o jsonpath='{.status.targetGroupName}{"\n"}'
Outputnya mencakup nama grup target EC2 bidang kontrol Anda. Contoh,
gke-123456a7-controlplane
Buka Konsol AWS EC2. Pilih Target Groups dari panel kiri.
Klik kotak penelusuran dan cari grup target. Klik Name grup target, lalu klik Targets. Daftar instance bidang kontrol akan muncul.
Untuk setiap instance dalam grup target, lakukan langkah-langkah berikut:
Klik ID Instance instance. Konsol Instance AWS EC2 akan muncul.
Klik Instance ID.
Pilih Tindakan -> Status instance -> hentikan untuk menghapus instance. EC2 otomatis membuat instance baru dengan volume EBS yang sama.
Kembali ke halaman Target Groups.
Setelah Anda menghentikan semua instance dalam grup, kembali ke halaman Target Groups.
Di bagian Target Terdaftar pada halaman, temukan kolom Status. Setiap instance Anda harus memiliki Status Responsif. Jika salah satu instance responsif, tunggu beberapa menit lalu klik ikon Refresh (
).Setelah semua instance dalam grup target responsif, lanjutkan ke langkah berikutnya.
Kumpulan node
Untuk merotasi sertifikat TLS kumpulan node:
- Dari direktori
anthos-aws
, gunakananthos-gke
untuk mengalihkan konteks ke layanan pengelolaan Anda.cd anthos-aws anthos-gke aws management get-credentials
Gunakan
kubectl
untuk mendapatkan grup target AWS EC2 kumpulan node dari AWSNodePool Anda.env HTTPS_PROXY=http://localhost:8118 \ kubectl get awsnodepool -o jsonpath='{.items[*].status.autoScalingGroupName}{"\n"}'
Outputnya mencakup nama grup target EC2 kumpulan node Anda. Contoh,
gke-123456a7-nodepool-abc123
Buka Konsol AWS EC2. Pilih Target Groups dari panel kiri.
Klik kotak penelusuran dan cari grup target. Klik Name grup target, lalu klik Targets. Daftar instance bidang kontrol akan muncul.
Untuk setiap instance dalam grup target, lakukan langkah-langkah berikut:
Klik ID Instance instance. Konsol Instance AWS EC2 akan muncul.
Klik Instance ID.
Pilih Tindakan -> Status instance -> hentikan untuk menghapus instance. EC2 otomatis membuat instance baru dengan volume EBS yang sama.
Kembali ke halaman Target Groups.
Setelah Anda menghentikan semua instance dalam grup, kembali ke halaman Target Groups.
Di bagian Target Terdaftar pada halaman, temukan kolom Status. Setiap instance Anda harus memiliki Status Responsif. Jika salah satu instance responsif, tunggu beberapa menit lalu klik ikon Refresh (
).Setelah semua instance dalam grup target responsif, lanjutkan ke langkah berikutnya.