Tutorial: Menyambungkan aplikasi Web App Services ke Azure Database for MySQL - Server Fleksibel dalam jaringan virtual
BERLAKU UNTUK: Azure Database for MySQL - Server Fleksibel
Tutorial ini menunjukkan kepada Anda cara membuat dan menyambungkan Aplikasi Web Azure App Service ke instans Azure Database for MySQL Flexible Server yang terisolasi di dalam jaringan virtual yang sama atau berbeda.
Dalam tutorial ini, Anda akan belajar cara:
- Membuat instans Server Fleksibel Azure Database for MySQL di jaringan virtual
- Buat subnet untuk didelegasikan ke App Service dan buat aplikasi web
- Menambahkan aplikasi web ke jaringan virtual
- Menyambungkan ke Server Fleksibel Azure Database for MySQL dari aplikasi web
- Menyambungkan aplikasi Web dan instans Azure Database for MySQL Flexible Server yang diisolasi di VNet yang berbeda
Prasyarat
Jika Anda tidak memiliki langganan Azure, buat akun gratis Azure sebelum memulai. Saat ini, dengan akun gratis Azure, Anda dapat mencoba Azure Database for MySQL - Server Fleksibel gratis selama 12 bulan. Untuk informasi selengkapnya, lihat Coba Azure Database for MySQL - Server Fleksibel secara gratis.
Artikel ini mengharuskan Anda menjalankan Azure CLI versi 2.0 atau versi yang lebih baru secara lokal. Untuk melihat versi yang dipasang, jalankan perintah az --version
. Jika Anda perlu memasang atau meningkatkan, lihat Memasang Azure CLI.
Anda harus masuk ke akun menggunakan perintah az login. Perhatikan properti id dari output perintah untuk nama langganan yang sesuai.
az login
Jika Anda memiliki beberapa langganan, pilih langganan yang sesuai dengan sumber daya yang harus ditagih. Pilih ID langganan tertentu di bawah akun Anda menggunakan perintah az account set. Ganti properti ID langganan dari output az login untuk langganan Anda ke tempat penampung ID langganan.
az account set --subscription <subscription ID>
Membuat instans Server Fleksibel Azure Database for MySQL
Buat instans Azure Database for MySQL Flexible Server privat di dalam jaringan virtual (VNET) menggunakan perintah berikut:
az mysql flexible-server create --resource-group myresourcegroup --location westus2 --vnet VNETName
Menyalin string koneksi dan nama jaringan virtual yang baru dibuat. Perintah ini melakukan tindakan berikut, yang mungkin memakan waktu beberapa menit:
- Buat grup sumber daya jika belum ada.
- Menghasilkan nama server jika tidak tersedia.
- Buat jaringan virtual baru,
VNETName
untuk instans Azure Database for MySQL Flexible Server dan subnet baru Anda dalam jaringan virtual ini untuk instans Server Fleksibel Azure Database for MySQL. Pastikan namanya bersifat unik. - Membuat nama pengguna admin, kata sandi untuk server Anda, jika tidak tersedia.
- Membuat database kosong yang disebut flexibleserverdb.
Catatan
Catat kata sandi Anda yang dihasilkan untuk Anda jika tidak disediakan. Jika Anda lupa kata sandi, Anda harus mengatur ulang kata sandi dengan menggunakan az mysql flexible-server update
perintah .
Membuat Subnet untuk Titik Akhir App Service
Anda sekarang memerlukan subnet yang didelegasikan ke titik akhir App Service Web App. Jalankan perintah berikut untuk membuat subnet baru di jaringan virtual yang sama dengan instans Azure Database for MySQL Flexible Server dibuat.
az network vnet subnet create -g myresourcegroup --vnet-name VNETName --name webappsubnetName --address-prefixes 10.0.1.0/24 --delegations Microsoft.Web/serverFarms --service-endpoints Microsoft.Web
Mencatat nama jaringan virtual dan nama subnet setelah perintah ini seperti yang dibutuhkan untuk menambahkan aturan integrasi VNET untuk aplikasi web setelah dibuat.
Membuat aplikasi web
Di bagian ini, Anda membuat host aplikasi di aplikasi App Service dan menyambungkan aplikasi ini ke database Server Fleksibel Azure Database for MySQL. Pastikan Anda berada di root repositori kode aplikasi Anda di terminal.
Buat aplikasi App Service (proses host) dengan perintah az webapp up.
az webapp up --resource-group myresourcegroup --location westus2 --plan testappserviceplan --sku P2V2 --name mywebapp
Catatan
- Untuk argumen --location, gunakan lokasi yang sama seperti yang Anda gunakan untuk database di bagian sebelumnya.
- Ganti <app-name> dengan nama unik di semua Azure (titik akhir server adalah
https://\<app-name>.azurewebsites.net
). Karakter yang diizinkan untuk <app-name> adalah A-Z, 0-9, dan -. Pola yang baik adalah menggunakan kombinasi nama perusahaan dan pengidentifikasi aplikasi Anda. - Tingkat App Service Basic tidak mendukung integrasi VNET. Silakan gunakan Paket Standar atau Premium.
Perintah ini melakukan tindakan berikut, yang mungkin memakan waktu beberapa menit:
- Buat grup sumber daya jika belum ada. (Dalam perintah ini Anda menggunakan grup sumber daya yang sama tempat Anda membuat database sebelumnya.)
- Buat paket App Service
testappserviceplan
di tingkat Harga dasar (B1), jika tidak ada. --paket dan --sku bersifat opsional. - Membuat aplikasi App Service jika tidak ada.
- Aktifkan pembuatan log default untuk aplikasi, jika belum diaktifkan.
- Mengunggah repositori menggunakan penyebaran ZIP dengan otomatisasi bangun yang diaktifkan.
Menambahkan aplikasi web ke jaringan virtual
Gunakan perintah integrasi vnet az webapp untuk menambahkan integrasi jaringan virtual regional ke webapp. Ganti <nama> vnet dan <nama subnet dengan jaringan virtual dan nama subnet yang digunakan instans Server Fleksibel Azure Database for MySQL.
az webapp vnet-integration add -g myresourcegroup -n mywebapp --vnet VNETName --subnet webappsubnetName
Mengonfigurasikan variabel lingkungan untuk menyambungkan database
Dengan kode yang sekarang disebarkan ke App Service, langkah selanjutnya adalah menyambungkan aplikasi ke instans Server Fleksibel Azure Database for MySQL di Azure. Kode aplikasi mengharapkan informasi database di sejumlah variabel lingkungan. Untuk mengatur variabel lingkungan di App Service, Anda membuat "pengaturan aplikasi" dengan az webapp config appsettings set
perintah .
az webapp config appsettings set --settings DBHOST="<mysql-server-name>.mysql.database.azure.com" DBNAME="flexibleserverdb" DBUSER="<username>" DBPASS="<password>"
- Ganti <mysql-server-name>, <username>, dan <password> untuk perintah Azure Database for MySQL Flexible Server yang baru dibuat.
- Ganti <username> dan <password> dengan info masuk yang juga dibuat oleh perintah untuk Anda.
- Grup sumber daya dan nama aplikasi diambil dari nilai cache dalam file .azure/config.
- Perintah ini membuat pengaturan bernama DBHOST, DBNAME, DBUSER, dan DBPASS. Jika kode aplikasi Anda menggunakan nama yang berbeda untuk informasi database, maka gunakan nama tersebut untuk pengaturan aplikasi seperti yang disebutkan dalam kode.
Mengonfigurasi aplikasi web untuk memungkinkan semua koneksi keluar dari dalam jaringan virtual.
az webapp config set --name mywebapp --resource-group myresourcesourcegroup --generic-configurations '{"vnetRouteAllEnabled": true}'
Aplikasi Web App Service dan instans Azure Database for MySQL Flexible Server di jaringan virtual yang berbeda
Jika Anda telah membuat aplikasi App Service dan instans Azure Database for MySQL Flexible Server di jaringan virtual (VNet) yang berbeda, Anda harus melakukan dua langkah berikut untuk membuat koneksi yang mulus:
- Menyambungkan kedua VNet menggunakan peering VNet (lokal atau global). Lihat panduan Menghubungkan jaringan virtual dengan peering jaringan virtual.
- Tautkan zona DNS Privat instans Azure Database for MySQL Flexible Server ke VNet aplikasi web menggunakan tautan jaringan virtual. Jika Anda menggunakan portal Azure atau Azure CLI untuk membuat instans Azure Database for MySQL Flexible Server di VNet, zona DNS privat baru disediakan secara otomatis di langganan Anda menggunakan nama server yang disediakan. Navigasi ke zona DNS privat instans Azure Database for MySQL Flexible Server dan ikuti panduan Cara menautkan zona DNS privat ke jaringan virtual untuk menyiapkan tautan jaringan virtual.
Membersihkan sumber daya
Membersihkan semua sumber daya yang Anda buat dalam tutorial menggunakan perintah berikut. Perintah ini menghapus semua sumber daya dalam grup sumber daya ini.
az group delete -n myresourcegroup