Bagikan melalui


Mengakses server API Azure Kubernetes Service (AKS)

Azure Bastion
Azure ExpressRoute
Azure Kubernetes Service (AKS)
Tautan Privat Azure
Azure VPN Gateway

Artikel ini menguraikan opsi cara menyambungkan ke server API kluster Azure Kubernetes Service (AKS). Dalam kluster AKS standar, server API diekspos melalui internet. Dalam kluster AKS privat, Anda hanya dapat terhubung ke internet dari perangkat yang memiliki akses jaringan ke kluster privat.

Merencanakan akses server API adalah aktivitas nol hari, dan bagaimana Anda mengakses server tergantung pada skenario penyebaran Anda.

Akses server API AKS

Untuk mengelola kluster AKS, Anda berinteraksi dengan server API-nya. Sangat penting untuk membatasi akses server API hanya untuk pengguna yang diperlukan. Anda dapat menyediakan akses terperinci dengan mengintegrasikan kluster AKS dengan ID Microsoft Entra. Administrator dapat mengelola akses dengan menggunakan kontrol akses berbasis peran (RBAC). Mereka juga dapat menempatkan pengguna dan identitas di grup Microsoft Entra dan menetapkan peran dan izin yang sesuai. Autentikasi Microsoft Entra diaktifkan di kluster AKS melalui OpenID Connect. Untuk informasi selengkapnya, lihat sumber daya berikut ini:

Nota

Anda dapat meningkatkan keamanan kluster AKS dengan hanya mengizinkan rentang alamat IP resmi untuk mengakses server API.

azure DDoS Protection, dikombinasikan dengan praktik terbaik desain aplikasi, menyediakan fitur mitigasi yang ditingkatkan terhadap serangan penolakan layanan terdistribusi (DDoS). Aktifkan DDoS Protection pada setiap jaringan virtual perimeter.

Mengakses kluster AKS melalui internet

Saat Anda membuat kluster non-privat yang diselesaikan ke nama domain server API yang sepenuhnya memenuhi syarat (FQDN), kluster tersebut diberi alamat IP publik secara default. Anda dapat terhubung ke kluster Anda dengan menggunakan portal Microsoft Azure atau shell seperti Azure CLI, PowerShell, atau prompt perintah.

Nota

Anda dapat menggunakan klien baris perintah Kubernetes kubectl untuk terhubung ke kluster melalui internet.

Cloud Shell

Azure Cloud Shell adalah shell yang dibangun ke dalam portal Microsoft Azure. Anda dapat mengelola dan menyambungkan ke sumber daya Azure dari Cloud Shell seperti yang Anda bisa dari PowerShell atau Azure CLI.

Mengakses kluster privat AKS

Ada beberapa cara untuk terhubung ke kluster privat AKS. Akses perencanaan adalah aktivitas nol hari yang didasarkan pada kebutuhan dan batasan skenario Anda. Anda dapat terhubung ke kluster privat Anda dengan menggunakan komponen dan layanan berikut:

  • Jump box yang disebarkan ke subnet sebagai stasiun kerja operasi Anda: Pengaturan ini dapat komputer virtual (VM) yang berdiri sendiri dan persisten dalam set ketersediaan atau Azure Virtual Machine Scale Sets.

  • Azure Container Instances dan klien yang kompatibel dengan OpenSSH: Menyebarkan instans kontainer yang menjalankan server Secure Shell (SSH), lalu gunakan klien yang kompatibel dengan OpenSSH Anda untuk mengakses kontainer. Kontainer ini berfungsi sebagai jump box dalam jaringan Anda untuk menjangkau kluster privat Anda.

  • Azure Bastion: Gunakan Azure Bastion untuk membangun akses jarak jauh berbasis browser yang lebih aman ke VM atau jump box dalam Azure Virtual Network Anda. Akses ini memungkinkan Anda terhubung dengan lebih aman ke titik akhir privat seperti server API AKS Anda.

  • Jaringan privat virtual (VPN): Buat koneksi VPN aman yang memperluas jaringan lokal atau jarak jauh Anda ke jaringan virtual Anda. Koneksi ini memungkinkan Anda mengakses kluster privat seperti terhubung secara lokal.

  • Azure ExpressRoute : Gunakan ExpressRoute untuk membangun koneksi privat khusus antara jaringan lokal Anda dan Azure. Koneksi ini membantu memastikan akses yang lebih aman dan andal ke kluster privat Anda tanpa menggunakan internet publik.

  • Azure CLI perintah az aks memanggil perintah: Lakukan perintah langsung di kluster AKS Anda dengan menggunakan Azure CLI dengan perintah az aks command invoke. Perintah ini berinteraksi dengan kluster tanpa mengekspos lebih banyak titik akhir jaringan.

  • instans Cloud Shell yang disebarkan ke subnet yang terhubung ke server API untuk kluster: Sebarkan Cloud Shell di subnet yang ditautkan ke server API kluster Anda. Pendekatan ini menyediakan lingkungan baris perintah terkelola yang lebih aman untuk mengelola kluster privat Anda.

  • Azure Virtual Desktop: Mengakses Azure Virtual Desktop untuk menggunakan desktop Windows atau Linux sebagai jump box untuk mengelola kluster privat Anda dengan lebih aman dari hampir di mana saja.

Nota

Semua lalu lintas ke server API ditransmisikan melalui Protokol Kontrol Transmisi ke port 443 melalui HTTPS. Kelompok keamanan jaringan (NSG) atau firewall jaringan lainnya harus mengizinkan lalu lintas dari asal ke FQDN server API pada port 443 untuk HTTPS. Jatah lalu lintas harus dibatasi khusus untuk FQDN untuk server API kluster.

Azure Bastion

Azure Bastion adalah platform sebagai penawaran layanan yang memungkinkan koneksi Remote Desktop Protocol (RDP) atau SSH yang aman ke VM dalam jaringan virtual Anda yang tidak memerlukan alamat IP publik pada VM. Saat Anda tersambung ke kluster AKS privat, gunakan Azure Bastion untuk mengakses jump box di jaringan virtual hub.

Atau, Anda dapat menggunakan SSH, RDP, dan Layanan Desktop Jarak Jauh untuk mengontrol jump box dari jarak jauh. Kluster AKS berada di jaringan spoke, yang memisahkannya dari jump box. Peering jaringan virtual menghubungkan jaringan hub dan spoke. Jump box dapat mengatasi FQDN server API AKS dengan menggunakan Azure Private Endpoint, zona DNS privat, dan catatan DNS A. Penyiapan ini membantu memastikan bahwa FQDN server API hanya dapat diselesaikan dalam jaringan virtual. Konfigurasi ini menyediakan koneksi tepercaya ke kluster AKS privat.

Nota

Untuk akses berkelanjutan ke kluster AKS privat Anda, ketersediaan dan redundansi jump box Anda sangat penting. Untuk membantu memastikan keandalan ini, tempatkan jump box Anda dalam set ketersediaan dan gunakan Virtual Machine Scale Sets yang memiliki beberapa instans VM. Untuk informasi selengkapnya, lihat sumber daya berikut ini:

Diagram Arsitektur yang menunjukkan rute lalu lintas dari pengguna ke kluster AKS privat. Lalu lintas mengalir melalui Azure Bastion dan jump box.

Unduh file Visio arsitektur ini.

Aliran Data

  1. Pengguna mencoba menyambungkan ke jump box dengan menggunakan Azure Bastion dan browser HTML5 dengan enkripsi Keamanan Lapisan Transportasi.

  2. Pengguna memilih dari portal apakah akan menggunakan RDP atau SSH untuk menyambungkan ke jump box.

  3. Pengguna masuk ke jump box melalui Azure Bastion. Upaya untuk menyambungkan ke kluster privat AKS dibuat dari jump box ini. Jaringan virtual hub memiliki tautan jaringan virtual ke zona DNS privat AKS untuk menyelesaikan FQDN kluster privat.

  4. Jaringan virtual hub dan jaringan virtual spoke berkomunikasi satu sama lain dengan menggunakan peering jaringan virtual.

  5. Untuk mencapai kluster AKS privat, lalu lintas memasuki backbone Azure. Titik akhir privat membuat koneksi privat dan terisolasi ke kluster AKS privat.

  6. Lalu lintas mencapai server API kluster AKS privat. Pengguna kemudian dapat mengelola pod, simpul, dan aplikasi.

Nota

FQDN kluster privat Anda dapat diselesaikan dari luar jaringan virtual Anda jika Anda tidak secara langsung menonaktifkan FQDN publik pada kluster yang ada.

Memecahkan masalah koneksi

Jika Anda tidak dapat terhubung ke kluster privat Anda:

  • Periksa peering jaringan virtual. Mekanisme ini menyediakan konektivitas jaringan-ke-jaringan antara dua jaringan virtual. Agar lalu lintas mengalir di antara kedua jaringan tersebut, Anda perlu membuat peering jaringan virtual di antara keduanya. Saat Anda membuat peering jaringan virtual, rute ditempatkan di tabel rute sistem jaringan virtual. Rute tersebut menyediakan jalur untuk mencapai ruang alamat tujuan. Untuk informasi selengkapnya tentang pemecahan masalah peering jaringan virtual, lihat Membuat, mengubah, atau menghapus peering jaringan virtual.

    Nota

    Anda tidak memerlukan peering jaringan virtual jika jump box Anda berada di jaringan virtual yang sama dengan titik akhir privat dan kluster privat AKS.

  • Periksa tautan jaringan virtual ke zona DNS privat. Tautan jaringan virtual menyediakan cara bagi VM yang berada di dalam jaringan virtual untuk menyambungkan ke zona DNS privat dan mengatasi catatan DNS di dalam zona. Jika Anda tidak dapat tersambung ke kluster AKS privat atau tidak dapat menyelesaikan FQDN kluster privat, periksa apakah jaringan virtual Anda memiliki tautan jaringan virtual ke zona DNS privat Anda. Nama zona DNS privat harus memiliki format privatelink.<region>.azmk8s.io.

    Untuk informasi selengkapnya tentang cara memecahkan masalah tautan jaringan virtual, lihat sumber daya berikut ini:

    Nota

    Saat Anda membuat kluster AKS privat, zona DNS privat dibuat yang memiliki tautan jaringan virtual ke jaringan virtual yang menghosting kluster AKS privat.

Meningkatkan keamanan

Untuk membantu mengamankan beban kerja AKS dan jump box Anda, gunakan akses just-in-time (JIT) dan Stasiun Kerja Akses Istimewa (PAW). Akses JIT adalah bagian dari Pertahanan Microsoft untuk Cloud. Ini dapat membantu meminimalkan potensi permukaan serangan dan kerentanan dengan memblokir lalu lintas masuk ke jump box Anda dan memungkinkan akses hanya untuk waktu yang ditentukan saat diperlukan. Setelah waktu kedaluwarsa, akses secara otomatis dicabut. Untuk informasi selengkapnya, lihat Akses mesin just-in-time.

PAW adalah perangkat yang diperkuat yang memberikan keamanan tinggi bagi operator dengan memblokir vektor serangan umum seperti email dan penjelajahan web. Untuk informasi selengkapnya, lihat Mengamankan perangkat sebagai bagian dari cerita akses istimewa.

VPN

Koneksi VPN menyediakan konektivitas hibrid dari lingkungan lokal Anda ke Azure. Konektivitas ini memungkinkan akses ke kluster AKS privat. Server API kluster privat tidak dapat dijangkau di luar jaringan virtual Anda. Dengan VPN, Anda dapat terhubung ke jaringan virtual di Azure melalui terowongan terenkripsi, mengakses jump box Anda, lalu menyambungkan ke server API kluster privat.

Diagram Arsitektur yang menunjukkan arus lalu lintas dari pengguna ke kluster AKS privat. Rute ini mencakup gateway VPN, terowongan Keamanan Protokol Internet, dan jump box.

Unduh file Visio arsitektur ini.

Aliran Data

  1. Pengguna memulai lalu lintas RDP atau SSH ke jump box dari stasiun kerja lokal.

  2. Lalu lintas jump box meninggalkan router tepi pelanggan dan appliance VPN. Lalu lintas menggunakan terowongan Keamanan Protokol Internet terenkripsi untuk melintasi internet.

  3. Lalu lintas jump box mencapai gateway jaringan virtual di Azure, yang merupakan titik masuk dan keluar dari infrastruktur jaringan virtual Azure.

  4. Setelah lalu lintas bergerak melewati gateway jaringan virtual, lalu lintas mencapai jump box. Upaya untuk menyambungkan ke kluster privat AKS dibuat dari jump box. Jaringan virtual hub memiliki tautan jaringan virtual ke zona DNS privat AKS untuk menyelesaikan FQDN kluster privat.

  5. Jaringan virtual hub dan jaringan virtual spoke berkomunikasi satu sama lain dengan menggunakan peering jaringan virtual.

  6. Untuk mencapai kluster AKS privat, lalu lintas memasuki backbone Azure. Titik akhir privat membuat koneksi privat dan terisolasi ke kluster AKS privat.

  7. Lalu lintas mencapai server API kluster AKS privat. Pengguna kemudian dapat mengelola pod, simpul, dan aplikasi.

ExpressRoute

ExpressRoute menyediakan konektivitas ke kluster privat AKS Anda dari lingkungan lokal. ExpressRoute menggunakan Border Gateway Protocol untuk bertukar rute antara jaringan lokal Anda dan Azure. Koneksi ini membuat jalur aman antara infrastruktur sebagai sumber daya layanan dan stasiun kerja lokal. ExpressRoute menyediakan koneksi khusus dan terisolasi yang memiliki bandwidth dan latensi yang konsisten, yang membuatnya ideal untuk lingkungan perusahaan.

Diagram Arsitektur yang menunjukkan rute lalu lintas dari pengguna ke kluster AKS privat. Rute ini mencakup ExpressRoute dan jump box.

Unduh file Visio arsitektur ini.

Aliran Data

  1. Pengguna memulai lalu lintas RDP atau SSH ke jump box dari stasiun kerja lokal.

  2. Lalu lintas jump box meninggalkan router tepi pelanggan dan melakukan perjalanan pada koneksi serat ke lokasi meet-me tempat sirkuit ExpressRoute berada. Lalu lintas mencapai perangkat Microsoft Enterprise Edge (MSEE) di sana. Kemudian memasuki kain Azure.

  3. Lalu lintas jump box mencapai gateway ExpressRoute, yang merupakan titik masuk dan keluar dari infrastruktur jaringan virtual Azure.

  4. Lalu lintas mencapai jump box. Upaya untuk menyambungkan ke kluster privat AKS dibuat dari jump box. Jaringan virtual hub memiliki tautan jaringan virtual ke zona DNS privat AKS untuk menyelesaikan FQDN kluster privat.

  5. Jaringan virtual hub dan jaringan virtual spoke berkomunikasi satu sama lain dengan menggunakan peering jaringan virtual.

  6. Untuk mencapai kluster AKS privat, lalu lintas memasuki backbone Azure. Titik akhir privat membuat koneksi privat dan terisolasi ke kluster AKS privat.

  7. Lalu lintas mencapai server API kluster AKS privat. Pengguna kemudian dapat mengelola pod, simpul, dan aplikasi.

Nota

ExpressRoute memerlukan penyedia konektivitas non-Microsoft untuk menyediakan koneksi peering ke router MSEE. lalu lintas ExpressRoute tidak dienkripsi.

Menjalankan pemanggilan perintah aks

Dengan kluster privat AKS, Anda dapat terhubung dari VM yang memiliki akses ke server API. Gunakan perintah aks command invoke Azure CLI untuk menjalankan perintah seperti kubectl atau helm dari jarak jauh melalui Azure API. Pendekatan ini membuat pod sementara dalam kluster, yang hanya berlangsung selama perintah. Perintah aks command invoke berfungsi sebagai metode koneksi alternatif jika Anda tidak memiliki VPN, ExpressRoute, atau jaringan virtual yang di-peering. Pastikan kluster dan kumpulan simpul Anda memiliki sumber daya yang memadai untuk membuat pod sementara.

Untuk informasi selengkapnya, lihat perintah Gunakan untuk mengakses kluster AKS privat.

Menyambungkan Cloud Shell ke subnet

Saat Anda menyebarkan Cloud Shell ke jaringan virtual yang Anda kontrol, Anda dapat berinteraksi dengan sumber daya di dalam jaringan tersebut. Menyebarkan Cloud Shell ke subnet yang Anda kelola memungkinkan konektivitas ke server API kluster privat AKS. Penyebaran ini memungkinkan Anda untuk terhubung ke kluster privat. Untuk informasi selengkapnya, lihat Menyebarkan Cloud Shell ke jaringan virtual Azure.

Menggunakan SSH dan Visual Studio Code untuk pengujian

SSH mengelola dan mengakses file dengan aman pada host jarak jauh dengan menggunakan pasangan kunci publik-privat. Dari komputer lokal, Anda dapat menggunakan SSH dengan ekstensi Visual Studio Code Remote - SSH untuk menyambungkan ke jump box di jaringan virtual Anda. Terowongan SSH terenkripsi berakhir pada alamat IP publik jump box, yang memudahkan untuk memodifikasi file manifes Kubernetes.

Untuk mempelajari cara menyambungkan ke jump box Anda melalui SSH, lihat Pengembangan jarak jauh melalui SSH.

Jika Anda tidak dapat tersambung ke VM melalui SSH untuk mengelola kluster privat Anda:

  • Periksa aturan NSG masuk untuk subnet VM. Aturan NSG default memblokir semua lalu lintas masuk dari luar Azure, jadi buat aturan baru yang memungkinkan lalu lintas SSH dari alamat IP publik komputer lokal Anda.

  • Periksa lokasi sertifikat dan verifikasi penempatan sertifikat yang benar. Pastikan bahwa kunci privat berada di direktori C:\Users\User\.ssh\id_rsa di komputer lokal Anda, dan kunci publik terletak di file ~/.ssh/id_rsa.pub pada VM di Azure.

Nota

Kami menyarankan agar Anda:

  • Hindari menggunakan alamat IP publik untuk menyambungkan ke sumber daya di lingkungan produksi. Hanya gunakan alamat IP publik dalam lingkungan pengembangan atau pengujian. Dalam skenario ini, buat aturan NSG masuk untuk mengizinkan lalu lintas dari alamat IP publik komputer lokal Anda. Untuk informasi selengkapnya tentang aturan NSG, lihat Membuat, mengubah, atau menghapus NSG.

  • Hindari menggunakan SSH untuk terhubung langsung ke simpul atau kontainer AKS. Sebagai gantinya, gunakan solusi manajemen eksternal khusus. Praktik ini sangat penting ketika Anda menggunakan perintah aks command invoke, yang membuat pod sementara dalam kluster Anda untuk akses yang diproksi.

Kesimpulan

  • Anda dapat mengakses server API kluster AKS Anda melalui internet jika FQDN publik diaktifkan.

  • Cloud Shell adalah shell baris perintah bawaan di portal Microsoft Azure yang dapat Anda gunakan untuk menyambungkan ke kluster AKS.

  • Untuk akses yang lebih aman, gunakan Azure Bastion dan titik akhir privat.

  • VPN dan ExpressRoute menyediakan konektivitas hibrid ke kluster AKS privat Anda.

  • Jika tidak ada solusi konektivitas eksternal yang tersedia, Anda dapat menggunakan aks command invoke dari jarak jauh.

  • Anda dapat menyebarkan Cloud Shell langsung ke jaringan virtual yang Anda kelola untuk mengakses kluster privat.

  • Anda dapat menggunakan Visual Studio Code dengan SSH pada jump box untuk mengenkripsi koneksi dan menyederhanakan modifikasi file manifes. Namun, pendekatan ini mengekspos alamat IP publik di lingkungan Anda.

Kontributor

Microsoft mempertahankan artikel ini. Kontributor berikut menulis artikel ini.

Penulis utama:

Kontributor lain:

  • Shubham Agnihotri | Penasihat

Untuk melihat profil LinkedIn nonpublik, masuk ke LinkedIn.

Langkah berikutnya