Azure Architectural Series: Static Website Part 2
Series ini terdiri dari dua bagian, ini merupakan bagian kedua dan lanjutan dari part bagian pertama yang ada pada link ini. Sebelum membaca bagian ini, baca yang bagian pertama dulu ya…!!
Membuat Azure CDN
1. Pada marketplace pilih “CDN”
2. Lalu klik “Create”
3. Sesuaikan dengan konfigurasi berikut:
4. Lalu klik “Create”, tunggu sampai beberapa menit.
Buat Azure Key Vault
Berikut langkah-langkah untuk membuat Azure Key Vault:
1. Isi semua kolom bergantung pada kebutuhan, soft delete berfungsi untuk menyimpan version certificate bila terhapus agar dapat dikembalikan lagi
2. Set Access Policy dengan menambahkan minimal 1 buah user sebagai admin dari Key Vault
3. Lihat ulang pada hasil validasi dan click “Create”
4. Tunggu beberapa saat, sampai resource selesai dibuat
Set Up CDN from Azure Storage Static Web
Tahapan yang perlu dilakukan adalah enable static feature di Azure Storage dan membuat CDN endpoint. Perlu diingat lagi bahwa fungsi CDN adalah mempercepat latensi dari klien untuk mengakses website yang digunakan dengan menempatkan konten pada POP location yang terdekat dengan klien. Berikut adalah daftar POP location untuk CDN di Asia:
Paling kiri merupakan Microsoft, tengah Verizon, dan kanan adalah Akamai. CDN yang paling bagus di Indonesia dan memiliki banyak POP location adalah Verizon. Fitur “Rules Engine” tidak ada pada Verizon Standard dan Akamai. Karena kita membutuhkan “Rules Engine” untuk redirect dari HTTP ke HTTPS maka kita hanya dapat memilih Microsoft Standard sebagai CDN yang dapat digunakan untuk POP location di Indonesia karena merupakan pilihan dengan cost termurah.
Membuat CDN Endpoint
1. Pada blade “Blob Service” pilih “Azure CDN”, sebelum melakukan tahapan ini harus sudah ada CDN Profile yang siap di Azure
2. Pada bagian new endpoint isi dengan CDN profile yang akan digunakan, nama endpoint, dan website URL yang akan jadi sumber (origin)
3. Klik “create” untuk menyelesaikan, tunggu 30 menit agar CDN terpropagasi
Membuat CNAME pada CDN Endpoint
Tidak ada fitur CNAME pada storage account, CNAME hanya dapat dibuat pada CDN Endpoint. Sebelum membuat CNAME untuk endpoint CDN, pastikan record CNAME sudah tercatat pada DNS Server kita. Cara pengecekan CNAME sudah terdaftar atau tidak adalah sebagai berikut:
1. Buka CNAME Checker pada mxtoolbox.com, pilih CNAME LookUp
2. Masukkan url yang ingin dicek lalu klik “CNAME LookUp”, jika sudah terdaftar maka akan tampil sebagai berikut.
Selanjutnya perlu diset CNAME pada Azure CDN Endpoint, dengan langkah sebagai berikut:
1. Pilih “Custom Domains” pada blade “Settings” pada endpoint
2. Klik “+ custom domain” untuk menambahkan domain baru
3. Sesuaikan nama url untuk CDN endpoint dengan custom domain yang akan ditambahkan sebagai berikut:
4. Lalu klik “Add” dan ketika selesai akan tampil seperti berikut
Enable HTTPS dengan Custom Certificate
Untuk menggunakan custom certificate, diperlukan Azure Key Vault untuk menyimpan certificate yang akan digunakan. Certificate yang akan digunakan adalah file pfx yang merupakan gabungan dari file crt dan private key dari domain tersebut. Sebelum menambahkan custom HTTPS pada Azure CDN, file pfx yang menyimpan certificate SSL harus sudah tersimpan di Azure Key Vault dan memberikan permission kepada CDN untuk memproses certificate tersebut.
Upload Certificate ke Azure Key Vault
Berikut langkah-langkah untuk melakukan upload certificate pada Key Vault:
1. Pilih blade “Settings”, klik pada “Certificates”
2. Klik pada tanda “+” untuk melakukan import certificate dari file di lokal
3. Jika sudah selesai, maka akan ada tampilan certificate yang telah di-import
Memberikan Permission ke Azure CDN
Ketika certificate telah ter-import, certificate masih belum dapat digunakan pada service yang diperlukan. Harus diberikan permission khusus agar dapat mengakses certificate yang telah tersimpan. Berikut langkah-langkahnya:
1. Kembali ke blade “settings”, sekarang pilih “Access Policies”
2. Tiru permission sebagai berikut:
3. Apabila tidak terdapat principal “Microsoft.Azure.CDN” pada pilihan principal lakukan berikut pada Cloud Powershell dengan role Azure AD Administrator:
New-AzureADServicePrincipal -AppId “205478c0-bd83–4e1b-a9d6-db63a3e1e1c8”
4. Apabila step 3 sudah dilakukan, kembali lagi lakukan step 2.
Enable HTTPS di CDN
Berikut langkah-langkahnya:
1. Pilih bagian pada blade “Custom Domain” dan klik pada hostname yang akan ditambahkan custom HTTPS
2. Pada bagian “Custom Domain HTTPS” pilih “On” dan pilih “use my own certificate” untuk menambahkan certificate dari Key Vault
3. Sesuaikan lokasi certificate sesuai yang diinginkan
4. Lalu klik save dan tunggu maksimal hingga 6 jam, sampai seluruh certificate terdeploy ke seluruh POP location
Redirect HTTPS dari HTTP
Pastikan protokol HTTP dan HTTPS di-allow pada setting endpoint di CDN. Untuk melakukan setting ini berikut langkah-langkahnya:
1. Pastikan pada endpoint CDN protokol HTTP dan HTTPS di-allow
2. Pilih “Rules Engine” pada blade Settings dan seesuaikan sebagai berikut:
3. Tunggu beberapa saat dan kemudian akses menggunakan HTTP pasti akan ter-redirect ke HTTPS
Fitur Geo-Filtering
Fitur ini digunakan untuk menjamin bahwa website tidak akan diakses dari lokasi yang tidak diperlukan. Karena keperluan client berada di lokasi Indonesia, maka kita perlu setting untuk lokasi di Indonesia saja. Berikut settingnya:
Sekian series terkait Static Website ini, series berikutnya akan membahas tentang Azure Kubernetes Service.
See You Next Series..!!!