MySQL-database beveiligen met een privé-eindpunt
In deze les vergrendelt u de toegang tot uw MySQL-database door deze opnieuw te implementeren in een subnet. MySQL Flexible Server biedt momenteel geen ondersteuning voor privé-eindpuntverbindingen. U implementeert deze dus in een subnet.
Zodra u een privé-eindpunt hebt ingeschakeld, kunt u openbare toegang tot uw database blokkeren.
U verwijdert het vorige exemplaar van de Flexibele MySQL-server.
az mysql flexible-server delete \ --name $MYSQL_SERVER_NAME \ --resource-group $RESOURCE_GROUP \ --yes
Maak vervolgens een privé-DNS-zone voor het nieuwe MySQL Flexible Server-exemplaar. U stelt de DNS-zone in op
private.mysql.database.azure.com
.MYSQL_DNS="private.mysql.database.azure.com" az network private-dns zone create -g $RESOURCE_GROUP -n $MYSQL_DNSs.
Maak vervolgens de Flexibele MySQL-server opnieuw en koppel deze aan de DNS-zone. Wanneer u het nieuwe serverexemplaren koppelt aan de DNS-zone, koppelt mySQL Flexible server uw DNS-zone aan uw VNet. Met de koppeling wordt een A-record toegevoegd aan de DNS-zone voor de naam van uw database.
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
Maak de
petclinic
database opnieuw.az mysql flexible-server db create \ --server-name $MYSQL_SERVER_NAME \ --resource-group $RESOURCE_GROUP \ -d $DATABASE_NAME
Geef de FQDN van uw zojuist gemaakte MySQL Flexible Server weer. U gebruikt deze waarde om de eigenschap in uw
spring.datasource.url
configuratieopslagplaats bij te werken.az mysql flexible-server show \ --name $MYSQL_SERVER_NAME \ --resource-group $RESOURCE_GROUP \ --query fullyQualifiedDomainName
Gebruik in het Git Bash-venster in de configuratieopslagplaats die u lokaal hebt gekloond uw favoriete teksteditor om het
application.yml
bestand te openen. Werk de versie van heturl
datasource
exemplaar bij om nu uw met MYSQL Vnet geïntegreerde instantie te gebruiken.url: jdbc:mysql://<your-vnet-integrated-server-name>.mysql.database.azure.com:3306/petclinic?useSSL=true
Start de spring-apps die gebruikmaken van de back-enddatabase opnieuw op om de nieuwe verbindingsreeks informatie te gebruiken.
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
U moet door de spring petclinische app kunnen bladeren en de gegevens kunnen zien.
Navigeer in Azure Portal naar uw zojuist gemaakte MySQL Flexible Server en selecteer het menu Netwerken . U ziet dat u de serverfirewall niet meer kunt vergrendelen. De server staat echter alleen binnenkomende aanroepen via het virtuele netwerk toe.