Azure Architectural Series: Static Website Part 2

Heri Fauzan
ecomindo-dev
Published in
5 min readJul 19, 2020

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..!!!

--

--

Heri Fauzan
ecomindo-dev

Cloud Solutions Architect, AWS Azure GCP and Kubernetes Certified