Bantu tingkatkan halaman ini
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Untuk berkontribusi pada panduan pengguna ini, pilih Edit halaman ini pada GitHub tautan yang terletak di panel kanan setiap halaman.
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Topik ini membantu Anda mengaktifkan akses pribadi untuk titik akhir server API Kubernetes klaster Amazon EKS Anda dan membatasi, atau sepenuhnya menonaktifkan, akses publik dari internet.
Ketika Anda membuat klaster baru, Amazon EKS membuat titik akhir untuk server API Kubernetes terkelola yang Anda gunakan untuk berkomunikasi dengan klaster Anda (menggunakan alat pengelolaan Kubernetes seperti kubectl
). Secara default, endpoint server API ini bersifat publik ke internet, dan akses ke server API diamankan menggunakan kombinasi AWS Identity and Access Management (IAM) and Access Management (IAM) dan native Kubernetes
IPv6
format titik akhir cluster
EKS membuat titik akhir dual-stack unik dalam format berikut untuk IPv6
cluster baru yang dibuat setelah Oktober 2024. Cluster adalah IPv6 cluster yang Anda pilih IPv6
dalam pengaturan IP family (ipFamily
) cluster.
catatan
Titik akhir cluster dual-stack diperkenalkan pada Oktober 2024. Untuk informasi selengkapnya tentang IPv6
cluster, lihatPelajari tentang IPv6 alamat ke klaster, Pod, dan layanan. Cluster yang dibuat sebelum Oktober 2024, gunakan format titik akhir berikut sebagai gantinya.
IPv4
format titik akhir cluster
EKS membuat titik akhir unik dalam format berikut untuk setiap cluster yang memilih IPv4
dalam pengaturan keluarga IP (IPFamily) cluster:
catatan
Sebelum Oktober 2024, IPv6
cluster menggunakan format titik akhir ini juga. Untuk cluster tersebut, titik akhir publik dan titik akhir pribadi hanya memiliki IPv4
alamat penyelesaian dari titik akhir ini.
Titik akhir pribadi cluster
Anda dapat mengaktifkan akses privat ke server API Kubernetes sehingga semua komunikasi antara simpul Anda dan server API tetap berada di dalam VPC Anda. Anda dapat membatasi alamat IP yang dapat mengakses server API Anda dari internet, atau sepenuhnya menonaktifkan akses internet ke server API.
catatan
Karena titik akhir ini untuk server API Kubernetes dan bukan AWS PrivateLink titik akhir tradisional untuk berkomunikasi dengan AWS API, titik akhir ini tidak muncul sebagai titik akhir di konsol VPC Amazon.
Saat Anda mengaktifkan akses pribadi titik akhir untuk klaster Anda, Amazon EKS membuat zona host pribadi Route 53 atas nama Anda dan mengaitkannya dengan VPC klaster Anda. Zona host pribadi ini dikelola oleh Amazon EKS, dan tidak muncul di sumber daya Route 53 akun Anda. Agar zona privat yang di-hosting dapat merutekan lalu lintas ke server API Anda dengan benar, VPC Anda harus memiliki enableDnsHostnames
dan enableDnsSupport
yang diatur ke true
, dan opsi DHCP yang diatur untuk VPC Anda harus menyertakan AmazonProvidedDNS
dalam daftar server nama domainnya. Untuk informasi selengkapnya, lihat Memperbarui DNS dukungan untuk VPC Anda dalam Panduan Pengguna Amazon VPC.
Anda dapat menentukan persyaratan akses titik akhir server API ketika membuat klaster baru, dan dapat memperbarui akses tersebut untuk klaster kapanpun.
Memodifikasi akses titik akhir klaster
Gunakan prosedur di bagian ini untuk memodifikasi akses titik akhir untuk klaster yang sudah ada. Tabel berikut menunjukkan kombinasi akses titik akhir server API yang didukung dan perilaku terkaitnya.
Akses publik titik akhir | Akses privat titik akhir | Perilaku |
---|---|---|
Diaktifkan |
Dinonaktifkan |
|
Diaktifkan |
Diaktifkan |
|
Nonaktif |
Diaktifkan |
|
Anda dapat memodifikasi akses endpoint server API cluster menggunakan AWS Management Console atau AWS CLI.
Konfigurasikan akses titik akhir - konsol AWS
-
Buka konsol Amazon EKS
. -
Pilih nama klaster untuk menampilkan informasi klaster Anda.
-
Pilih tab Jaringan dan pilih Kelola akses titik akhir.
-
Untuk akses Private, pilih apakah akan mengaktifkan atau menonaktifkan akses pribadi untuk endpoint server API Kubernetes klaster Anda. Jika Anda mengaktifkan akses pribadi, permintaan Kubernetes API yang berasal dari dalam VPC klaster Anda menggunakan titik akhir VPC pribadi. Anda harus mengaktifkan akses privat untuk menonaktifkan akses publik.
-
Untuk akses Publik, pilih apakah akan mengaktifkan atau menonaktifkan akses publik untuk titik akhir server Kubernetes API klaster Anda. Jika Anda menonaktifkan akses publik, server API Kubernetes klaster Anda hanya dapat menerima permintaan dari dalam VPC klaster.
-
(Opsional) Jika Anda telah mengaktifkan akses Publik, Anda dapat menentukan alamat mana dari internet yang dapat berkomunikasi ke titik akhir publik. Pilih Pengaturan lanjutan. Masukkan blok CIDR, seperti
203.0.113.5/32
. Blok tidak dapat mencakup reserved addresses. Anda dapat memasukkan blok tambahan dengan memilih Tambahkan sumber. Ada jumlah maksimum blok CIDR yang dapat Anda tentukan. Untuk informasi selengkapnya, lihat Lihat dan kelola kuota layanan Amazon EKS dan Fargate. Jika Anda menetapkan tidak ada blok, maka titik akhir server API publik menerima permintaan dari semua ( 0.0.0.0/0
) alamat IP. Jika Anda membatasi akses ke titik akhir publik menggunakan blok CIDR, disarankan agar Anda juga mengaktifkan akses endpoint pribadi sehingga node dan Pod Fargate (jika Anda menggunakannya) dapat berkomunikasi dengan cluster. Tanpa mengaktifkan titik akhir privat, sumber CIDR titik akhir akses publik Anda harus menyertakan sumber keluar dari VPC Anda. Misalnya, jika Anda memiliki simpul di subnet privat yang berkomunikasi dengan internet melalui NAT Gateway, Anda perlu menambahkan alamat IP keluar dari NAT Gateway sebagai bagian dari blok CIDR yang diizinkan di titik akhir publik Anda. -
Pilih Perbarui untuk menyelesaikan.
Konfigurasikan akses titik akhir - AWS CLI
Selesaikan langkah-langkah berikut menggunakan versi AWS CLI 1.27.160
atau yang lebih baru. Anda dapat memeriksa versi saat ini dengan aws --version
. Untuk menginstal atau memutakhirkan AWS CLI, lihat Menginstal CLI AWS.
-
Perbarui akses endpoint server API cluster Anda dengan perintah AWS CLI berikut. Gantikan nama klaster Anda dan nilai akses titik akhir yang diinginkan. Jika Anda mengatur
endpointPublicAccess=true
, maka Anda dapat (opsional) memasukkan satu blok CIDR, atau daftar blok CIDR yang dipisahkan koma untukpublicAccessCidrs
. Blok tidak dapat mencakup alamat yang disimpan. Jika Anda menentukan blok CIDR, maka titik akhir server API publik hanya akan menerima permintaan dari blok yang terdaftar. Ada jumlah maksimum blok CIDR yang dapat Anda tentukan. Untuk informasi selengkapnya, lihat Lihat dan kelola kuota layanan Amazon EKS dan Fargate. Jika Anda membatasi akses ke titik akhir publik menggunakan blok CIDR, disarankan agar Anda juga mengaktifkan akses endpoint pribadi sehingga node dan Pod Fargate (jika Anda menggunakannya) dapat berkomunikasi dengan cluster. Tanpa mengaktifkan titik akhir privat, sumber CIDR titik akhir akses publik Anda harus menyertakan sumber keluar dari VPC Anda. Misalnya, jika Anda memiliki simpul di subnet privat yang berkomunikasi dengan internet melalui NAT Gateway, Anda perlu menambahkan alamat IP keluar dari NAT Gateway sebagai bagian dari blok CIDR yang diizinkan di titik akhir publik Anda. Jika Anda tidak menentukan blok CIDR, maka titik akhir server API publik menerima permintaan dari semua alamat IP (0.0.0.0/0). catatan
Perintah berikut memungkinkan akses privat dan akses publik dari satu alamat IP untuk titik akhir server API. Ganti
203.0.113.5/32
dengan satu blok CIDR, atau daftar blok CIDR yang dipisahkan koma yang ingin Anda batasi akses jaringan.aws eks update-cluster-config \ --region region-code \ --name my-cluster \ --resources-vpc-config endpointPublicAccess=true,publicAccessCidrs="203.0.113.5/32",endpointPrivateAccess=true
Contoh output adalah sebagai berikut.
{ "update": { "id": "e6f0905f-a5d4-4a2a-8c49-EXAMPLE00000", "status": "InProgress", "type": "EndpointAccessUpdate", "params": [ { "type": "EndpointPublicAccess", "value": "true" }, { "type": "EndpointPrivateAccess", "value": "true" }, { "type": "publicAccessCidrs", "value": "[\203.0.113.5/32\"]" } ], "createdAt": 1576874258.137, "errors": [] } }
-
Pantau status pembaruan akses titik akhir Anda dengan perintah berikut, menggunakan nama klaster dan ID pembaruan yang dikembalikan oleh perintah sebelumnya. Pembaruan Anda selesai saat status ditampilkan sebagai
Successful
.aws eks describe-update \ --region region-code \ --name my-cluster \ --update-id e6f0905f-a5d4-4a2a-8c49-EXAMPLE00000
Contoh output adalah sebagai berikut.
{ "update": { "id": "e6f0905f-a5d4-4a2a-8c49-EXAMPLE00000", "status": "Successful", "type": "EndpointAccessUpdate", "params": [ { "type": "EndpointPublicAccess", "value": "true" }, { "type": "EndpointPrivateAccess", "value": "true" }, { "type": "publicAccessCidrs", "value": "[\203.0.113.5/32\"]" } ], "createdAt": 1576874258.137, "errors": [] } }
Mengakses server API privat saja
Jika Anda telah menonaktifkan akses publik untuk titik akhir server Kubernetes API klaster Anda, Anda hanya dapat mengakses server API dari dalam VPC atau jaringan yang terhubung. Berikut adalah beberapa alternatif cara untuk mengakses titik akhir server Kubernetes API:
- Jaringan yang terhubung
-
Hubungkan jaringan Anda ke VPC dengan gateway AWS transit atau opsi konektivitas lainnya dan kemudian gunakan komputer di jaringan yang terhubung. Anda harus memastikan bahwa grup keamanan pesawat kendali Amazon EKS Anda berisi aturan yang mengizinkan lalu lintas masuk di port 443 dari jaringan terhubung milik Anda.
- Tuan rumah EC2 benteng Amazon
-
Anda dapat meluncurkan EC2 instans Amazon ke subnet publik di VPC klaster Anda dan kemudian masuk melalui SSH ke instance tersebut untuk menjalankan perintah.
kubectl
Untuk informasi selengkapnya, lihat Linux bastion host di AWS. Anda harus memastikan bahwa grup keamanan pesawat kendali Amazon EKS Anda berisi aturan yang mengizinkan lalu lintas masuk di port 443 dari host bastion milik Anda. Untuk informasi selengkapnya, lihat Lihat persyaratan grup keamanan Amazon EKS untuk cluster. Saat Anda mengonfigurasi
kubectl
untuk host bastion Anda, pastikan untuk menggunakan AWS kredenal yang sudah dipetakan ke konfigurasi RBAC cluster Anda, atau tambahkan prinsipal IAM yang akan digunakan bastion Anda ke konfigurasi RBAC sebelum Anda menghapus akses publik titik akhir. Untuk informasi selengkapnya, silakan lihat Berikan akses kepada pengguna dan peran IAM ke Kubernetes APIs dan Tidak sah atau akses ditolak (kubectl). - AWS Cloud9 IDE
-
AWS Cloud9 adalah lingkungan pengembangan terintegrasi berbasis cloud (IDE) yang memungkinkan Anda menulis, menjalankan, dan men-debug kode Anda hanya dengan browser. Anda dapat membuat AWS Cloud9 IDE di VPC klaster Anda dan menggunakan IDE untuk berkomunikasi dengan cluster Anda. Untuk informasi selengkapnya, lihat Membuat lingkungan di AWS Cloud9. Anda harus memastikan bahwa grup keamanan pesawat kendali Amazon EKS Anda berisi aturan yang mengizinkan lalu lintas masuk di port 443 dari grup keamanan IDE milik Anda. Untuk informasi selengkapnya, lihat Lihat persyaratan grup keamanan Amazon EKS untuk cluster.
Saat Anda mengonfigurasi
kubectl
untuk AWS Cloud9 IDE, pastikan untuk AWS menggunakan kredensi yang sudah dipetakan ke konfigurasi RBAC klaster Anda, atau tambahkan prinsip IAM yang akan digunakan IDE Anda ke konfigurasi RBAC sebelum Anda menghapus akses publik titik akhir. Untuk informasi selengkapnya, silakan lihat Berikan akses kepada pengguna dan peran IAM ke Kubernetes APIs dan Tidak sah atau akses ditolak (kubectl).