Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Notitie
De Basic, Standarden Enterprise--plannen zijn op 17 maart 2025 buiten gebruik gesteld. Zie de aankondiging over buitengebruikstelling van Azure Spring Apps voor meer informatie.
Het Standaardverbruik en het toegewezen-plan zijn op 30 september 2024 met een uitfasering begonnen, met een volledige beëindiging eind maart 2025. Zie Azure Spring Apps Standard-verbruik en toegewezen abonnement migreren naar Azure Container Apps voor meer informatie.
Dit artikel is van toepassing op:✅ Standard ✅ Enterprise
In dit artikel wordt uitgelegd hoe u privénetwerktoegang tot back-endopslag configureert voor uw toepassing in uw virtuele netwerk.
Wanneer u een toepassing implementeert in een Azure Spring Apps-service-exemplaar met virtuele netwerkinjectie, is het service-exemplaar afhankelijk van back-endopslag voor gekoppelde assets, waaronder JAR-bestanden en logboeken. Terwijl de standaardconfiguratie verkeer routeert naar deze back-endopslag via het openbare netwerk, kunt u de functie voor privéopslagtoegang inschakelen. Met deze functie kunt u het verkeer door uw privénetwerk leiden, de beveiliging verbeteren en de prestaties mogelijk verbeteren.
Notitie
Deze functie is alleen van toepassing op een door een virtueel Azure Spring Apps-netwerk geïnjecteerd service-exemplaar.
Voordat u deze functie inschakelt voor uw Azure Spring Apps-service-exemplaar, moet u ervoor zorgen dat er ten minste twee beschikbare IP-adressen zijn in het subnet van de serviceruntime.
Het inschakelen of uitschakelen van deze functie verandert de DNS-resolutie naar de backend-opslag. Gedurende korte tijd kunt u implementaties ondervinden die geen verbinding maken met de back-endopslag of die hun eindpunt niet kunnen oplossen tijdens de update.
Nadat u deze functie hebt ingeschakeld, is de back-endopslag alleen privé toegankelijk, zodat u uw toepassing binnen het virtuele netwerk moet implementeren.
Vereisten
- Een Azure-abonnement. Als u geen abonnement hebt, maakt u een gratis account voordat u begint.
- Azure CLI versie 2.56.0 of hoger.
- Een bestaand Azure Spring Apps-service-exemplaar dat is geïmplementeerd in een virtueel netwerk. Zie Azure Spring Apps implementeren in een virtueel netwerk voor meer informatie.
Persoonlijke opslagtoegang inschakelen wanneer u een nieuw Azure Spring Apps-exemplaar maakt
Wanneer u een Azure Spring Apps-exemplaar in het virtuele netwerk maakt, gebruikt u de volgende opdracht om het argument --enable-private-storage-access true
door te geven om privéopslagtoegang in te schakelen. Zie Azure Spring Apps implementeren in een virtueel netwerk voor meer informatie.
az spring create \
--resource-group "<resource-group>" \
--name "<Azure-Spring-Apps-instance-name>" \
--vnet "<virtual-network-name>" \
--service-runtime-subnet "<service-runtime-subnet>" \
--app-subnet "<apps-subnet>" \
--location "<location>" \
--enable-private-storage-access true
Er wordt een extra resourcegroep in uw abonnement gemaakt om de privatelinkresources voor de Azure Spring Apps-instantie te hosten. Deze resourcegroep heeft de naam ap-res_{service instance name}_{service instance region}
.
Er zijn twee sets private link-resources geïmplementeerd in de resourcegroep, die elk bestaan uit de volgende Azure-resources:
- Een privé-eindpunt dat het privé-eindpunt van het back-endopslagaccount vertegenwoordigt.
- Een netwerkinterface (NIC) die een privé-IP-adres onderhoudt binnen het subnet van de serviceruntime.
- Een privé-DNS-zone die is geïmplementeerd voor uw virtuele netwerk, met een DNS A-record die ook is gemaakt voor het opslagaccount binnen deze DNS-zone.
Belangrijk
De resourcegroepen worden volledig beheerd door de Azure Spring Apps-service. Verwijder of wijzig geen resource in deze resourcegroepen handmatig.
Persoonlijke opslagtoegang in- of uitschakelen voor een bestaand Azure Spring Apps-exemplaar
Gebruik de volgende opdracht om een bestaand Azure Spring Apps-exemplaar bij te werken om privéopslagtoegang in of uit te schakelen:
az spring update \
--resource-group "<resource-group>" \
--name "<Azure-Spring-Apps-instance-name>" \
--enable-private-storage-access <true-or-false>
Centrale DNS-resolutie gebruiken
Een gecentraliseerde architectuur voor DNS-beheer wordt beschreven in de hub-en-spoke-netwerkarchitectuur in Private Link en DNS-integratie op schaal. In deze architectuur worden alle privé-DNS-zones geïmplementeerd en centraal beheerd in een ander centraal virtueel netwerk dan het Azure Spring Apps-service-exemplaar. Als u deze architectuur gebruikt, kunt u centrale DNS-omzetting inschakelen voor privéopslagtoegang door de DNS-instellingen op de juiste manier te configureren. Deze instelling zorgt ervoor dat:
- Wanneer een privé-eindpunt wordt gemaakt, worden de bijbehorende DNS-records automatisch toegevoegd aan de gecentraliseerde privé-DNS-zone.
- DNS-records worden beheerd volgens de levenscyclus van het privé-eindpunt, wat betekent dat ze automatisch worden verwijderd wanneer het privé-eindpunt wordt verwijderd.
In de volgende secties wordt uitgelegd hoe u centrale DNS-omzetting kunt inschakelen voor Azure Storage-blobs met behulp van Azure Policy, ervan uitgaande dat u al de privé-DNS-zone privatelink.blob.core.windows.net
hebt ingesteld in het centrale virtuele netwerk. Dezelfde principes zijn van toepassing op Azure Storage-bestanden en andere Azure-services die Ondersteuning bieden voor Private Link.
Beleidsdefinitie
Naast de privé-DNS-zone moet u een aangepaste Azure Policy-definitie maken. Zie Zelfstudie: Een aangepaste beleidsdefinitie maken voor meer informatie. Met deze definitie wordt automatisch de vereiste DNS-record gemaakt in de centrale privé-DNS-zone wanneer u een privé-eindpunt maakt.
Het volgende beleid wordt geactiveerd wanneer u een privé-eindpuntresource maakt met een servicespecifiek groupId
. Dit groupId
is de id van de groep die is verkregen via de externe resource of service waarmee dit privé-eindpunt verbinding moet maken. In dit voorbeeld is het groupId
voor Azure Storage-blobs blob
. Zie de tabellen in Azure Private Endpoint privé-DNS-zonewaarden, onder de kolom Subresource, voor meer informatie over de groupId
voor andere Azure-services.
Het beleid activeert vervolgens een implementatie van een privateDNSZoneGroup
binnen het privé-eindpunt, waarmee het privé-eindpunt wordt gekoppeld aan de privé-DNS-zone die is opgegeven als de parameter. In het volgende voorbeeld is /subscriptions/<subscription-id>/resourceGroups/<resourceGroupName>/providers/Microsoft.Network/privateDnsZones/privatelink.blob.core.windows.net
de resource-id van de privé-DNS-zone:
{
"mode": "Indexed",
"policyRule": {
"if": {
"allOf": [
{
"field": "type",
"equals": "Microsoft.Network/privateEndpoints"
},
{
"value": "[contains(resourceGroup().name, 'ap-res_')]",
"equals": "true"
},
{
"count": {
"field": "Microsoft.Network/privateEndpoints/privateLinkServiceConnections[*].groupIds[*]",
"where": {
"field": "Microsoft.Network/privateEndpoints/privateLinkServiceConnections[*].groupIds[*]",
"equals": "blob"
}
},
"greaterOrEquals": 1
}
]
},
"then": {
"effect": "deployIfNotExists",
"details": {
"type": "Microsoft.Network/privateEndpoints/privateDnsZoneGroups",
"evaluationDelay": "AfterProvisioningSuccess",
"roleDefinitionIds": [
"/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7"
],
"deployment": {
"properties": {
"mode": "incremental",
"template": {
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"privateDnsZoneId": {
"type": "string"
},
"privateEndpointName": {
"type": "string"
},
"location": {
"type": "string"
}
},
"resources": [
{
"name": "[concat(parameters('privateEndpointName'), '/deployedByPolicy')]",
"type": "Microsoft.Network/privateEndpoints/privateDnsZoneGroups",
"apiVersion": "2020-03-01",
"location": "[parameters('location')]",
"properties": {
"privateDnsZoneConfigs": [
{
"name": "storageBlob-privateDnsZone",
"properties": {
"privateDnsZoneId": "[parameters('privateDnsZoneId')]"
}
}
]
}
}
]
},
"parameters": {
"privateDnsZoneId": {
"value": "[parameters('privateDnsZoneId')]"
},
"privateEndpointName": {
"value": "[field('name')]"
},
"location": {
"value": "[field('location')]"
}
}
}
}
}
}
},
"parameters": {
"privateDnsZoneId": {
"type": "String",
"metadata": {
"displayName": "privateDnsZoneId",
"description": null,
"strongType": "Microsoft.Network/privateDnsZones"
}
}
}
}
Beleidstoewijzing
Nadat u de beleidsdefinitie hebt geïmplementeerd, wijst u het beleid toe aan het abonnement dat als host fungeert voor de Azure Spring Apps-service-exemplaren en geeft u de centrale privé-DNS-zone op als parameter.
De centrale privé-DNS-zone en het Azure Spring Apps-service-exemplaar kunnen worden gehost in de verschillende abonnementen. In dit geval moet u de Privé-DNS Zonebijdrager-rol toewijzen in het abonnement en de resourcegroep waarin de privé-DNS-zones worden gehost, aan de beheerde identiteit die is gecreëerd door de DeployIfNotExists
beleidstoewijzing die verantwoordelijk is voor het maken en beheren van het DNS-record voor het privé-eindpunt in de privé-DNS-zone. Zie de sectie De beheerde identiteit configureren van niet-compatibele resources herstellen met Azure Policy voor meer informatie.
Nadat u de configuraties hebt voltooid, worden de DNS-records voor privé-eindpunten automatisch geregistreerd en verwijderd nadat een privé-eindpunt is verwijderd, in de bijbehorende privé-DNS-zone.
Extra kosten
Voor het Azure Spring Apps-exemplaar worden geen kosten in rekening gebracht voor deze functie. U wordt echter gefactureerd voor de private link-resources die worden gehost in uw abonnement die deze functie ondersteunen. Zie prijzen voor Azure Private Link en Prijzen voor Azure DNS voor meer informatie.
Aangepaste DNS-servers gebruiken
Als u een aangepaste DNS-server (Domain Name System) gebruikt en het IP-adres 168.63.129.16
van Azure DNS niet is geconfigureerd als de upstream-DNS-server, moet u handmatig alle DNS-records van de privé-DNS-zones die worden weergegeven in de resourcegroep ap-res_{service instance name}_{service instance region}
verbinden om de privé-IP-adressen om te zetten.