Bagikan melalui


Tutorial: Membuat instans server yang fleksibel

dengan App Services Web App di jaringan virtual

Tutorial ini menunjukkan kepada Anda cara membuat aplikasi Web Azure App Service dengan server fleksibel Azure Database for PostgreSQL di dalam jaringan Virtual.

Dalam tutorial ini Anda akan belajar cara:

  • Membuat instans server fleksibel Azure Database for PostgreSQL di jaringan virtual
  • Membuat aplikasi web
  • Menambahkan aplikasi web ke jaringan virtual
  • Menyambungkan ke server fleksibel Azure Database for PostgreSQL dari aplikasi web

Prasyarat

  • Jika Anda tidak memiliki langganan Azure, buat akun gratis sebelum Anda memulai.

  • Instal Azure CLI versi 2.0 atau yang lebih baru secara lokal (atau gunakan Azure Cloud Shell yang telah menginstal CLI sebelumnya). Untuk melihat versi yang dipasang, jalankan perintah az --version.

  • Masuk ke akun Anda 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.

    az account set --subscription <subscription ID>
    

Membuat instans server yang fleksibel

di jaringan virtual baru

Buat instans server fleksibel Azure Database for PostgreSQL privat di dalam jaringan virtual (VNET) menggunakan perintah berikut:

az postgres flexible-server create --resource-group demoresourcegroup --name demoserverpostgres --vnet demoappvnet --location westus2

Perintah ini melakukan tindakan berikut, yang mungkin memakan waktu beberapa menit:

  • Buat grup sumber daya jika belum ada.
  • Menghasilkan nama server jika tidak disediakan.
  • Membuat jaringan virtual dan subnet untuk instans server fleksibel Azure Database for PostgreSQL.
  • Membuat nama pengguna dan kata sandi admin untuk server Anda jika tidak disediakan.
  • Membuat database kosong yang disebut postgres.

Berikut adalah output sampelnya.

Creating Resource Group 'demoresourcegroup'...
Creating new Vnet "demoappvnet" in resource group "demoresourcegroup"
Creating new Subnet "Subnetdemoserverpostgres" in resource group "demoresourcegroup"
Creating a private dns zone demoserverpostgres.private.postgres.database.azure.com in resource group "demoresourcegroup"
Creating PostgreSQL Server 'demoserverpostgres' in group 'demoresourcegroup'...
Your server 'demoserverpostgres' is using sku 'Standard_D2s_v3' (Paid Tier). Please refer to https://aka.ms/postgres-pricing for pricing details
Creating PostgreSQL database 'flexibleserverdb'...
Make a note of your password. If you forget, you would have to reset your password with "az postgres flexible-server update -n demoserverpostgres -g demoresourcegroup -p <new-password>".
Try using 'az postgres flexible-server connect' command to test out connection.
{
  "connectionString": "postgresql://generated-username:generated-password@demoserverpostgres.postgres.database.azure.com/postgres?sslmode=require",
  "host": "demoserverpostgres.postgres.database.azure.com",
  "id": "/subscriptions/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/resourceGroups/demoresourcegroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/demoserverpostgres",
  "location": "East US",
  "password": "generated-password",
  "resourceGroup": "demoresourcegroup",
  "skuname": "Standard_D2s_v3",
  "subnetId": "/subscriptions/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/resourceGroups/demoresourcegroup/providers/Microsoft.Network/virtualNetworks/demoappvnet/subnets/Subnetdemoserverpostgres",
  "username": "generated-username",
  "version": "12"
}

Membuat sebuah Aplikasi Web

Di bagian ini, Anda membuat host aplikasi di aplikasi App Service, menyambungkan aplikasi ini ke database server fleksibel Azure Database for PostgreSQL, lalu menyebarkan kode Anda ke host tersebut. Pastikan Anda berada di root repositori kode aplikasi Anda di terminal. Catatan Paket Dasar tidak mendukung integrasi VNET. Gunakan Standar atau Premium.

Buat aplikasi App Service (proses host) dengan perintah az webapp up.

az webapp up --resource-group demoresourcegroup --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 seluruh Azure. Karakter yang diizinkan untuk <app-name> adalah A-Z, 0-9, dan -. Pola yang baik adalah menggunakan kombinasi nama perusahaan dan pengidentifikasi aplikasi Anda.

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.)
  • 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.

Membuat Subnet untuk Aplikasi Web

Sebelum mengaktifkan integrasi VNET, Anda harus memiliki subnet yang didelegasikan ke Aplikasi Web App Service. Sebelum membuat subnet, tampilkan alamat subnet database untuk menghindari penggunaan awalan alamat yang sama bagi subnet aplikasi web.

az network vnet show --resource-group demoresourcegroup -n demoappvnet

Jalankan perintah berikut untuk membuat subnet baru di jaringan virtual yang sama dengan instans server fleksibel Azure Database for PostgreSQL dibuat. Perbarui awalan alamat untuk menghindari konflik dengan subnet server fleksibel Azure Database for PostgreSQL.

az network vnet subnet create --resource-group demoresourcegroup --vnet-name demoappvnet --name webappsubnet  --address-prefixes 10.0.1.0/24  --delegations Microsoft.Web/serverFarms

Menambahkan Aplikasi Web ke jaringan virtual

Gunakan perintah integrasi vnet az webapp untuk menambahkan integrasi jaringan virtual regional ke webapp.

az webapp vnet-integration add --resource-group demoresourcegroup -n  mywebapp --vnet demoappvnet --subnet webappsubnet

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 PostgreSQL di Azure. Kode aplikasi mengharapkan untuk menemukan informasi database di banyak variabel lingkungan. Untuk mengatur variabel lingkungan di App Service, gunakan perintah az webapp config appsettings set.

  
az webapp config appsettings set  --name mywebapp --settings DBHOST="<postgres-server-name>.postgres.database.azure.com" DBNAME="postgres" DBUSER="<username>" DBPASS="<password>" 
  • Ganti postgres-server-name,username,password untuk perintah instans server fleksibel Azure Database for PostgreSQL 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 membuat pengaturan bernama DBHOST, DBNAME, DBUSER*, dan DBPASS. Jika kode aplikasi Anda menggunakan nama yang berbeda untuk informasi database, 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 demoresourcegroup --generic-configurations '{"vnetRouteAllEnabled": true}'

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 demoresourcegroup