Mengamankan database MySQL dengan titik akhir privat
Di unit ini, Anda akan mengunci akses ke database MySQL Anda dengan menyebarkannya kembali di dalam subnet. Server Fleksibel MySQL saat ini tidak mendukung koneksi titik akhir privat. Dengan demikian Anda akan menyebarkannya di dalam subnet.
Setelah mengaktifkan titik akhir privat, Anda dapat memblokir akses publik ke database Anda.
Anda akan menghapus instans server Fleksibel MySQL sebelumnya.
az mysql flexible-server delete \ --name $MYSQL_SERVER_NAME \ --resource-group $RESOURCE_GROUP \ --yes
Selanjutnya, buat zona DNS privat untuk instans Server Fleksibel MySQL baru. Anda akan mengatur zona DNS ke
private.mysql.database.azure.com
.MYSQL_DNS="private.mysql.database.azure.com" az network private-dns zone create -g $RESOURCE_GROUP -n $MYSQL_DNSs.
Selanjutnya, buat ulang Server Fleksibel MySQL dan tautkan ke zona DNS. Saat Anda menautkan instans server baru ke zona DNS, server Fleksibel MySQL akan menautkan Zona DNS Anda ke VNet Anda. Tautan akan menambahkan catatan A ke zona DNS untuk nama database Anda.
MYSQL_SERVER_NAME=mysql-vnet$APPNAME-$UNIQUEID az mysql flexible-server create \ --name ${MYSQL_SERVER_NAME} \ --resource-group ${RESOURCE_GROUP} \ --location $LOCATION \ --admin-user myadmin \ --admin-password ${MYSQL_ADMIN_PASSWORD} \ --sku-name Standard_B1ms \ --tier Burstable \ --version 5.7 \ --storage-size 20 \ --vnet $VIRTUAL_NETWORK_NAME \ --subnet $DATABASE_SUBNET_NAME \ --private-dns-zone $MYSQL_DNS
Buat ulang
petclinic
database.az mysql flexible-server db create \ --server-name $MYSQL_SERVER_NAME \ --resource-group $RESOURCE_GROUP \ -d $DATABASE_NAME
Tampilkan FQDN Server Fleksibel MySQL yang baru dibuat, Anda akan menggunakan nilai ini untuk memperbarui
spring.datasource.url
properti di repositori konfigurasi Anda.az mysql flexible-server show \ --name $MYSQL_SERVER_NAME \ --resource-group $RESOURCE_GROUP \ --query fullyQualifiedDomainName
Dari jendela Git Bash, di repositori konfigurasi yang Anda kloning secara lokal, gunakan editor teks favorit Anda untuk membuka
application.yml
file.url
Perbarui daridatasource
untuk sekarang menggunakan instans terintegrasi MYSQL Vnet Anda.url: jdbc:mysql://<your-vnet-integrated-server-name>.mysql.database.azure.com:3306/petclinic?useSSL=true
Mulai ulang aplikasi spring yang menggunakan database backend untuk menggunakan informasi string koneksi baru.
az spring app restart \ --name customers-service \ --resource-group $RESOURCE_GROUP \ --service $SPRING_APPS_SERVICE \ --no-wait az spring app restart \ --name vets-service \ --resource-group $RESOURCE_GROUP \ --service $SPRING_APPS_SERVICE \ --no-wait az spring app restart \ --name visits-service \ --resource-group $RESOURCE_GROUP \ --service $SPRING_APPS_SERVICE \ --no-wait
Anda harus dapat menelusuri aplikasi spring petclinic dan melihat data.
Di portal Azure, navigasikan ke Server Fleksibel MySQL yang baru dibuat dan pilih menu Jaringan. Anda akan melihat bahwa Anda tidak dapat lagi mengunci firewall server. Namun server hanya mengizinkan panggilan masuk melalui jaringan virtual.
Butuh bantuan? Lihat panduan pemecahan masalah kami atau berikan umpan balik spesifik dengan melaporkan masalah.