Azure P2S Connection Menggunakan VPN Gateway
Artikel ini merupakan kelanjutan dari Azure Hub-Spoke Network Topology, anda sebaiknya membaca artikel tersebut sebelum memulai artikel ini.
Point-to-Site (P2S) memberikan kemungkinan untuk melakukan koneksi ke network atau resource yang terdapat di cloud dari berbagai tempat yang ada di seluruh dunia. Koneksi P2S ke service yang berada di Azure dapat terjadi melewati VPN Gateway. Jika dilakukan konfigurasi yang benar, kita bisa melakukan komunikasi ke service yang terdapat di Azure hanya dengan menggunakan email telah terdaftar sebelumnya dalam Azure Active Directory (Azure AD). Pada artikel ini saya akan membahas mengenai implementasi P2S Connection menggunakan Azure VPN Gateway dengan autentikasi Azure AD.
Requirements
Pertama hal-hal yang perlu dipersiapkan terlebih dahulu adalah:
- Azure AD tenant yang nantinya akan berfungsi sebagai tempat mengelola user yang diizinkan untuk melakukan remote connection melalui VPN Gateway dengan credential Azure AD.
- Azure VPN Enterprise Applications dari Tenant yang telah dibuat.
Mengenai cara konfigurasi Azure AD tenant dan Azure VPN Enterprise Application tidak dibahas di artikel ini. Anda dapat mengikuti link ini
- VPN Gateway yang telah terkonfigurasi dan menggunakan metode authentication berupa Azure AD.
- Aplikasi Azure VPN Client untuk memulai koneksi dengan VPN Gateway.
VPN Gateway
Kita memerlukan VPN Gateway sebagai “gerbang” yang akan menerima koneksi dari tempat kita berada. Pada Azure, VPN Gateway ini dapat dibuat dengan menggunakan resource Virtual Network Gateway. Virtual Network Gateway sendiri membutuhkan subnet tersendiri yang berbeda dengan subnet yang pernah kita buat sebelumnya. Karena Virtual Network Gateway ini akan kita tempatkan di hub-vnet, maka kita perlu menambahkan subnet khusus tersebut.
Pada blade Settings di hub-vnet kita perlu memilih Subnets dan menekan tombol Gateway Subnet.
Subnet yang terbuat otomatis akan bernama GatewaySubnet, nama ini tidak bisa diubah dan merupakan nama bawaan dari Azure.
Kemudian kita akan membuat Virtual Network Gateway bernama hub-gw, berada di hub-vnet, dan menggunakan subnet GatewaySubnet yang telah kita buat. Jangan lupa karena kita akan membuat VPN Gateway maka tipe Gateway akan kita gunakan adalah VPN, bukan ExpressRoute.
Berikut merupakan konfigurasi yang digunakan.
Setelah Virtual Network Gateway berhasil di deploy, kita dapat mengatur konfigurasi untuk P2S melalui blade Settings opsi Point-to-site Configuration di Virtual Network Gateway lalu menekan pilihan Configure now. Untuk penjelasan konfigurasi P2S dapat dilihat di link ini.
Berikut merupakan konfigurasi yang digunakan.
Jangan lupa untuk menggunakan tunnel type OpenVPN (SSL) dan Azure Active Directory sebagai authentication type.
Setelah konfigurasi P2S berhasil di save, kita perlu men-download configurasi yang akan digunakan untuk Azure VPN Client dengan cara menekan tombol Download VPN client. Akan ada file bernama hub-gw.zip. Extract file tersebut dan buka folder AzureVPN. Di dalamnya akan terdapat file bernama azurevpn config.xml. File ini nantinya akan digunakan untuk konfigurasi Azure VPN Client.
Azure VPN Client
Untuk memulai koneksi ke VPN Gateway yang telah dibuat, kita membutuhkan Azure VPN Client.
Azure VPN Client hanya tersedia di Microsoft Store dan Apple Mac App Store. Pada saat penulisan artikel Azure VPN Client untuk macOS masih berada pada tahap public preview.
Terdapat tombol “+” di pojok kiri bawah, tekan tombol tersebut lalu pilih opsi Import.
Lalu import file azurevpnconfig.xml sudah ada, maka akan muncul confirmation untuk pembuatan VPN Connection seperti ini,
Klik Save dan koneksi sudah terbuat. Jika ingin melakukan koneksi ke VPN, kita tinggal menekan tombol Connect dan login menggunakan user Azure AD yang sudah terdaftar di Azure AD tenant.
Testing
Ketika kita sudah terkoneksi dengan VPN, maka kita telah mendapatkan akses ke network seakan-akan kita berada di dalam network yang sama. Sekarang kita akan melakukan testing seperti di artikel sebelumnya, tetapi kali ini kita akan mencoba melakukan RDP ke private ip address dari VM yang sudah ada.
Tetapi kali ini ketika kita ingin melakukan RDP ke private ip address dari dev-vm1 dan test-vm1 tidak berhasil. Hal ini diakibatkan konfigurasi network peering kita yang tidak mengizinkan adanya koneksi langsung ke Spoke tanpa melalui Hub. Maka dari itu konfigurasi network peering harus kita ubah.
Kita perlu menambahkan opsi “Use this virtual network’s gateway or Route Server” untuk peering yang berasal dari hub-vnet dan “Use the remote virtual network’s gateway or Route Server” untuk peering yang berasal dari spoke-dev-vnet dan spoke-test-vnet.
Sekarang sudah dapat melakukan koneksi langsung ke VM yang berada di Spoke tanpa perlu melalui Hub terlebih dahulu.
Hasil di tes diatas menunjukkan hal yang sama seperti hasil tes di artikel sebelumnya, Hub tetap dapat berkomunikasi dengan Spoke dan isolasi antar Spoke tetap terjaga, tetapi kali ini koneksi RDP dilakukan dengan menggunakan private ip address dari VM. Hal ini menunjukkan bahwa dengan metode ini, inbound access dari VM tidak perlu dibuka ke Internet sehingga dapat lebih menjaga keamanan dari resource yang terdapat di dalam network.
Conclusion
Azure memberikan banyak kemungkinan dalam mengkonfigurasi suatu network, salah satu contohnya adalah P2S Connection yang sangat dibutuhkan dalam lingkup kerja profesional. P2S Connection yang ada juga tidak perlu menggunakan VPN saja, bisa dimodifikasi kembali sesuai kebutuhan.