WordPress di Azure

Azure App Service
Azure Front Door
Azure Kubernetes Service (AKS)
Azure Web Application Firewall
Azure Private Link

WordPress adalah sistem manajemen konten serbaguna dan populer yang digunakan untuk membuat situs web dari semua ukuran, untuk berbagai tujuan. Dari blog pribadi kecil hingga situs perusahaan skala besar dan toko e-niaga, WordPress menawarkan berbagai fungsionalitas dan penyesuaian agar sesuai dengan kebutuhan yang berbeda. Namun, karena ukuran instalasinya yang bervariasi dan kasus penggunaan, WordPress juga memiliki persyaratan hosting unik yang bergantung pada faktor-faktor seperti volume lalu lintas dan kebutuhan penyimpanan.

Artikel ini membahas penyebaran WordPress di Azure. Ini memberikan panduan tentang apa yang harus dipertimbangkan dan diterapkan untuk membantu memastikan penginstalan yang aman, dapat diskalakan, dan hemat biaya.

Tips keamanan dan performa WordPress umum

Karena popularitasnya yang luar biasa, WordPress adalah target bagi peretas. Situs web yang berjalan di platform dapat rentan terhadap ancaman keamanan seperti malware dan serangan phishing. Tips berikut dapat membantu Anda mengatasi risiko ini dengan membuat instalasi WordPress yang lebih aman dan berkinerja lebih baik.

Baik Anda menggunakan komputer virtual (VM) atau Azure App Service untuk arsitektur hosting Anda, atau apakah Anda menggunakan beberapa solusi lain, tips ini berlaku.

Menggunakan Azure Web Application Firewall

Web Application Firewall membantu mengamankan situs web Anda dari serangan berbasis web umum. Ini bertindak sebagai filter antara situs web Anda dan internet. Dalam kapasitas ini, Web Application Firewall memantau lalu lintas masuk dan memblokir permintaan berbahaya yang dapat mengeksploitasi kerentanan dalam kode situs web Anda. Web Application Firewall membantu melindungi situs web Anda dari berbagai serangan, termasuk injeksi SQL, scripting lintas situs (XSS), dan pemalsuan permintaan lintas situs (CSRF).

Anda harus menggunakan Web Application Firewall di Azure Front Door untuk mendapatkan perlindungan terpusat untuk aplikasi web Anda. Azure Front Door adalah jaringan pengiriman konten yang membantu memberi pengguna akses cepat, andal, dan aman ke konten web statis dan dinamis aplikasi Anda. Menyebarkan Web Application Firewall di Azure Front Door membantu mempertahankan layanan web Anda dari eksploitasi dan kerentanan umum.

Menghapus plug-in dan tema yang tidak digunakan

Anda harus menghapus plug-in dan tema yang tidak digunakan dari instalasi WordPress Anda. Langkah ini penting untuk membantu menjaga situs web WordPress Anda tetap aman dan mengoptimalkan performanya. Bahkan plug-in atau tema yang tidak Anda gunakan secara aktif dapat menimbulkan risiko keamanan dengan menyediakan titik masuk bagi peretas untuk mengeksploitasi kerentanan dalam kode yang kedaluwarsa atau tidak ternoda. Selain itu, memiliki banyak plug-in dan tema yang diinstal di situs web Anda dapat memperlambat performanya dengan meningkatkan waktu muat dan penggunaan sumber daya server.

Membongkar konten statis dari prosesor PHP

Untuk mengurangi beban pada prosesor PHP, Anda harus membongkar konten statis, seperti gambar, video, dan file CSS. Membongkar konten statis membantu mengoptimalkan performa situs web dan mengurangi beban server. Ketika pengguna mengunjungi situs web, server memproses kode PHP dan menghasilkan konten HTML secara dinamis. Proses ini intensif sumber daya. Namun, konten statis tidak sering berubah, sehingga Anda dapat menyajikan konten statis langsung dari sistem file server atau jaringan pengiriman konten. Dengan membongkar aset ini, Anda dapat mengurangi beban pada CPU dan RAM server Anda. Konfigurasi ini menghasilkan waktu pemuatan halaman yang lebih cepat, peningkatan performa situs web, dan pengalaman pengguna yang lebih baik.

Ada juga manfaat lain untuk melayani sumber daya statis dari layanan jaringan pengiriman konten seperti Azure Front Door. Misalnya, ketika Anda membongkar konten statis, Anda dapat mengurangi latensi dan meningkatkan kecepatan situs web dengan menempatkan server yang dekat dengan lokasi geografis pengguna.

Catatan

Untuk membantu mengamankan asal dengan Azure Front Door dengan menggunakan titik akhir privat, Anda perlu menggunakan SKU Premium Azure Front Door. Untuk informasi selengkapnya, lihat Mengamankan asal Anda dengan Private Link.

Invalidasi cache jaringan pengiriman konten

Untuk penginstalan WordPress besar yang menggunakan jaringan pengiriman konten, seperti Azure Front Door atau Azure Content Delivery Network, Anda perlu menerapkan logika pembatalan cache. Setiap kali peristiwa baru terjadi, Anda perlu membatalkan cache di jaringan pengiriman konten untuk halaman yang terpengaruh. Contoh peristiwa termasuk menerbitkan artikel baru, memperbarui halaman yang sudah ada, dan menambahkan komentar. Logika pembatalan perlu menemukan semua URL yang dipengaruhi oleh perubahan. Secara khusus, logika perlu menemukan dan membatalkan halaman yang dihasilkan secara dinamis, seperti kategori dan arsip, dalam cache jaringan pengiriman konten. Dengan beberapa tema dan plug-in yang diinstal, bahkan perubahan kecil dapat memengaruhi setiap halaman.

Cara mudah untuk menerapkan logika penemuan adalah dengan menggunakan plug-in yang memungkinkan pemicu manual pembatalan cache untuk semua URL. Tetapi membatalkan semua URL sekaligus dapat menyebabkan lalu lintas lonjakan di situs WordPress Anda. Untuk contoh logika pembatalan cache untuk Content Delivery Network, lihat Cache Azure Flush dan terapkan implementasi hook di GitHub.

Mengaktifkan autentikasi dua faktor

Autentikasi dua faktor meningkatkan keamanan penginstalan Anda dan membantu melindungi akun admin Anda dari akses dan serangan yang tidak sah. Untuk memanfaatkan autentikasi dua faktor, Anda dapat menggunakan plug-in seperti plug-in autentikasi miniOrange. Di antara fitur lain, plug-in ini menyediakan cara bagi Anda untuk mengonfigurasi Microsoft Authenticator sebagai metode autentikasi dua faktor untuk pengguna yang masuk ke situs WordPress Anda sebagai administrator.

Menonaktifkan akses XML-RPC

XML-RPC adalah protokol jarak jauh yang menyediakan cara bagi aplikasi pihak ketiga untuk berinteraksi dengan server situs web Anda. Namun, protokol ini juga merupakan target umum bagi peretas, yang menggunakannya untuk meluncurkan serangan brute force atau mengeksploitasi kerentanan dalam sistem manajemen konten Anda. Jika Anda menggunakan Azure Front Door, Anda dapat menonaktifkan XML-RPC dengan menyiapkan aturan tolak untuk URL dengan format /xmlrpc.php.

Membatasi akses ke panel administrasi

Secara default, panel administrasi WordPress Anda dapat diakses oleh siapa pun dengan kredensial akun Anda dan URL yang benar, yang memiliki format /wp-login.php atau /wp-admin. Akibatnya, peretas dan aktor jahat lainnya dapat mencoba menebak kredensial Anda, melakukan pembajakan sesi, meluncurkan serangan brute force, atau mengeksploitasi kerentanan di WordPress untuk mendapatkan akses.

Web Application Firewall dapat membantu mencegah beberapa serangan, tetapi banyak administrator lebih suka membatasi akses ke panel administrasi WordPress pada tingkat jaringan.

Misalnya, Anda dapat memblokir akses ke URL privat di Azure Front Door. Anda kemudian dapat menggunakan Azure Application Gateway untuk menyediakan akses internal dari jaringan privat yang menggunakan topologi hub-and-spoke. Instans internal Application Gateway mendukung aturan Web Application Firewall dan aturan Azure Front Door. Aturan ini membantu melindungi instalasi WordPress Anda dari serangan internal. Jika Anda dapat mentolerir risiko serangan internal, Anda dapat menggunakan instans internal Azure Load Balancer alih-alih Application Gateway. Load Balancer beroperasi pada lapisan empat model Open Systems Interconnection (OSI).

Diagram arsitektur yang menunjukkan akses publik yang diblokir ke panel administrasi WordPress. VPN dalam topologi hub-and-spoke menyediakan akses internal.

Unduh file Visio arsitektur ini.

Plug-in WordPress tertentu memerlukan URL dengan format /wp-admin/admin-ajax.php agar dapat diakses publik dan dihapus dari aturan tolak ini.

Menyimpan rahasia di Azure Key Vault

Untuk membantu memastikan keamanan penyebaran WordPress di Azure, kami sarankan Anda menyimpan rahasia, seperti kata sandi database dan sertifikat TLS atau SSL, dalam Key Vault. Layanan berbasis cloud ini membantu menyediakan penyimpanan dan manajemen kunci kriptografi, sertifikat, dan rahasia yang aman.

Key Vault membantu aplikasi dan layanan resmi Anda untuk mengakses rahasia dengan aman. Anda tidak perlu menyimpannya dalam teks biasa dalam gambar kontainer WordPress Anda atau dalam kode aplikasi.

Menyetel performa

Untuk mengoptimalkan performa WordPress, Anda harus menyetel berbagai pengaturan dan menggunakan plug-in. Plug-in berikut dapat berguna untuk men-debug instalasi WordPress:

  • Pemantau Kueri menyediakan perincian waktu yang dihabiskan untuk setiap kueri SQL dan tindakan lainnya. Contohnya termasuk kesalahan PHP, hook dan tindakan, blok editor blok, skrip dan lembar gaya antrean, dan panggilan API HTTP.
  • Gulungan menyediakan perincian tentang bagaimana waktu dihabiskan untuk pemuatan halaman WordPress.

Tantangan hosting WordPress

Dengan arsitektur aplikasi WordPress, ada beberapa tantangan hosting, termasuk:

  • Skalabilitas. Arsitektur hosting harus dapat diskalakan selama periode lalu lintas puncak.
  • Penyimpanan ReadWriteMany (RWX). Secara default, WordPress menyimpan semua aset statis, plug-in, dan kode sumber tema di /wp-content/ direktori. Selama peluasan skala, semua simpul harus dapat membaca dari dan menulis ke direktori tersebut.
  • Kelas penyimpanan operasi input/output per detik (IOPS). WordPress terdiri dari lebih dari 1.000 file .php kecil yang direferensikan, dimuat, dan dijalankan prosesor PHP selama permintaan masuk. Dengan beberapa protokol, memuat banyak file kecil dapat meningkatkan overhead. Performa keseluruhan kemudian lebih lambat daripada memuat satu file dengan ukuran total yang sama. Akibatnya, solusi penyimpanan perlu mendukung IOPS tinggi.
  • Pembatalan cache. Ketika ada aktivitas baru dalam aplikasi, seperti ketika Anda menerbitkan artikel baru, Anda perlu membatalkan cache di semua simpul.
  • Waktu untuk membangun cache. Untuk pengguna pertama simpul tertentu, waktu respons bisa lambat sampai cache dibuat.

Opsi hosting WordPress di Azure

WordPress dapat berjalan di App Service, Azure Kubernetes Service (AKS), dan Azure Virtual Machines. Ukuran penginstalan adalah faktor penting dalam host yang Anda pilih. Untuk penginstalan kecil hingga menengah, App Service adalah opsi hemat biaya. Namun, untuk penginstalan yang lebih besar, Anda harus mempertimbangkan hosting AKS atau VM.

WordPress di App Service

Microsoft menyediakan solusi yang dikelola sepenuhnya untuk menjalankan WordPress pada App Service di VM Linux. Untuk informasi selengkapnya, lihat Membuat situs WordPress. Solusi ini:

  • Dirancang untuk membantu Anda dengan cepat dan mudah menyebarkan instalasi WordPress.
  • Sangat ideal untuk instalasi WordPress berukuran kecil hingga menengah.
  • Menyediakan skalabilitas, keandalan, dan keamanan platform Azure tanpa perlu konfigurasi atau manajemen yang kompleks.
  • Melakukan pembaruan otomatis, pencadangan, dan pemantauan untuk membantu memastikan bahwa situs Anda selalu tersedia.

Untuk informasi selengkapnya, lihat WordPress di App Service.

Beban kerja intensif penyimpanan

Penginstalan WordPress besar dapat menjadi penyimpanan intensif. Dalam skenario ini, Anda harus menggunakan solusi penyimpanan dengan kelas IOPS tinggi dan latensi rendah. Kami merekomendasikan Azure NetApp Files. Azure NetApp Files dapat mendukung penyebaran WordPress intensif penyimpanan. Ini juga menyediakan fitur tambahan seperti perlindungan data, pencadangan dan pemulihan, replikasi lintas wilayah, dan pemulihan bencana.

Untuk penyebaran kontainer WordPress, Anda harus menggunakan AKS. Dengan Azure NetApp Files, terapkan penyimpanan melalui driver Antarmuka Penyimpanan Kontainer (CSI) Kubernetes. Azure NetApp Files menawarkan ReadWriteMany mode sehingga semua simpul dapat membaca dari dan menulis ke penyimpanan yang sama. Untuk informasi selengkapnya, lihat Arsitektur AKS WordPress.

Untuk penginstalan WordPress besar yang berjalan pada VM, Anda harus memasang Azure NetApp Files melalui protokol sistem file jaringan (NFS). Untuk informasi selengkapnya, lihat WordPress pada komputer virtual.

Kontainer WordPress yang tidak dapat diubah

Pendekatan alternatif untuk metode hosting tradisional adalah menyebarkan WordPress ke dalam kontainer yang tidak dapat diubah. Pendekatan ini memiliki kelebihan dan kekurangan. Kode sumber dan semua sumber daya dalam kontainer yang tidak dapat diubah diperbaiki dan tidak dapat dimodifikasi setelah penyebaran. Anda perlu membuat semua perubahan, termasuk penginstalan plug-in baru atau pembaruan core WordPress, dalam versi baru gambar kontainer. Meskipun pendekatan ini membantu memastikan konsistensi dan menyederhanakan pemutaran kembali, Anda harus membangun alur penyebaran untuk membuat perubahan. Selain itu, kontainer yang tidak dapat diubah dapat dibatasi dalam opsi penyimpanan persisten yang ditawarkannya. Anda mungkin perlu mengembangkan solusi untuk menangani file media dan data lainnya. Terlepas dari keterbatasan ini, penyebaran kontainer yang tidak dapat diubah menawarkan manfaat dalam hal keamanan, skalabilitas, dan portabilitas.

Anda dapat menyebarkan wordPress versi kontainer yang tidak dapat diubah di berbagai platform, termasuk Azure Container Apps, AKS, dan App Service dengan gambar kontainer kustom. Anda dapat menghosting gambar kontainer di Azure Container Registry.

Kontributor

Artikel ini dikelola oleh Microsoft. Awalnya ditulis oleh kontributor berikut.

Penulis utama:

Kontributor lainnya:

  • Adrian Calinescu | Arsitek Solusi Cloud Senior

Untuk melihat profil LinkedIn nonpublik, masuk ke LinkedIn.

Langkah berikutnya

Dokumentasi produk:

Modul pelatihan: