Netwerktoegang configureren voor Elastisch SAN van Azure
Artikel
U kunt de toegang tot uw SAN-volumes (Elastic Storage Area Network) van Azure beheren. Door de toegang te beheren, kunt u uw gegevens beveiligen en voldoen aan de behoeften van uw toepassingen en bedrijfsomgevingen.
In dit artikel wordt beschreven hoe u uw elastische SAN configureert om toegang vanuit uw virtuele Azure-netwerkinfrastructuur toe te staan.
Netwerktoegang tot uw elastische SAN configureren:
Nadat u de nieuwste versie hebt geïnstalleerd, voert u deze uit az extension add -n elastic-san om de extensie voor Elastic SAN te installeren.
Er zijn geen extra registratiestappen vereist.
Beperkingen
De volgende lijst bevat de regio's waarin Elastic SAN momenteel beschikbaar is en in welke regio's zowel zone-redundante opslag (ZRS) als lokaal redundante opslag (LRS) of alleen LRS ondersteunen:
Zuid-Afrika - Noord - LRS
Azië - oost - LRS
Azië - zuidoost - LRS
Brazilië - zuid - LRS
Canada - centraal - LRS
Frankrijk - centraal - LRS & ZRS
Duitsland - west-centraal - LRS
Australië - oost - LRS
Europa - noord - LRS & ZRS
Europa - west - LRS & ZRS
VK - zuid - LRS
Japan - oost - LRS
Korea - centraal - LRS
Central US
VS - oost - LRS
VS - zuid-centraal - LRS
VS - oost 2 - LRS
VS - west 2 - LRS & ZRS
VS - west 3 - LRS
Zweden - centraal - LRS
Zwitserland - noord - LRS
Openbare netwerktoegang configureren
U kunt openbare internettoegang tot uw Elastische SAN-eindpunten op SAN-niveau inschakelen. Als u openbare netwerktoegang voor een elastisch SAN inschakelt, kunt u openbare toegang tot afzonderlijke volumegroepen configureren via service-eindpunten voor opslag. Standaard wordt openbare toegang tot afzonderlijke volumegroepen geweigerd, zelfs als u dit op SAN-niveau toestaat. U moet uw volumegroepen expliciet configureren om toegang te verlenen vanuit specifieke IP-adresbereiken en subnetten van virtuele netwerken.
U kunt openbare netwerktoegang inschakelen wanneer u een elastisch SAN maakt of inschakelen voor een bestaand SAN met behulp van de Azure PowerShell-module of de Azure CLI.
Gebruik de Azure PowerShell-module of de Azure CLI om openbare netwerktoegang in te schakelen.
Gebruik deze voorbeeldcode om een elastisch SAN te maken waarvoor openbare netwerktoegang is ingeschakeld met behulp van PowerShell. Vervang de variabelewaarden voordat u het voorbeeld uitvoert.
# Set the variable values.
# The name of the resource group where the Elastic San is deployed.
$RgName = "<ResourceGroupName>"
# The name of the Elastic SAN.
$EsanName = "<ElasticSanName>"
# The region where the new Elastic San will be created.
$Location = "<Location>"
# The SKU of the new Elastic SAN - `Premium_LRS` or `Premium_ZRS`.
$SkuName = "<SkuName>"
# The base size of the new Elastic SAN.
$BaseSize = "<BaseSize>"
# The extended size of the new Elastic SAN.
$ExtendedSize = "<ExtendedSize>"
# Setup the parameters to create an Elastic San with public network access enabled.
$NewEsanArguments = @{
Name = $EsanName
ResourceGroupName = $RgName
BaseSizeTiB = $BaseSize
ExtendedCapacitySizeTiB = $ExtendedSize
Location = $Location
SkuName = $SkuName
PublicNetworkAccess = "Enabled"
}
# Create the Elastic San.
New-AzElasticSan @NewEsanArguments
Gebruik deze voorbeeldcode om een elastisch SAN bij te werken om openbare netwerktoegang via PowerShell in te schakelen. Vervang de waarden van RgName en EsanName door uw eigen waarden en voer vervolgens het voorbeeld uit:
# Set the variable values.
$RgName = "<ResourceGroupName>"
$EsanName = "<ElasticSanName>"
# Update the Elastic San.
Update-AzElasticSan -Name $EsanName -ResourceGroupName $RgName -PublicNetworkAccess Enabled
Gebruik deze voorbeeldcode om een elastisch SAN te maken waarvoor openbare netwerktoegang is ingeschakeld met behulp van de Azure CLI. Vervang de variabelewaarden voordat u het voorbeeld uitvoert.
# Set the variable values.
# The name of the resource group where the Elastic San is deployed.
$RgName="<ResourceGroupName>"
# The name of the Elastic SAN.
$EsanName="<ElasticSanName>"
# The region where the new Elastic San will be created.
$Location="<Location>"
# The SKU of the new Elastic SAN - `Premium_LRS` or `Premium_ZRS`.
$SkuName="<SkuName>"
# The base size of the new Elastic SAN.
$BaseSize="<BaseSize>"
# The extended size of the new Elastic SAN.
$ExtendedSize="<ExtendedSize>"
# Create the Elastic San.
az elastic-san create \
--elastic-san-name $EsanName \
--resource-group $RgName \
--location $Location \
--base-size-tib $BaseSize \
--extended-capacity-size-tib $ExtendedSize \
--sku $SkuName \
--public-network-access enabled
Gebruik deze voorbeeldcode om een elastisch SAN bij te werken om openbare netwerktoegang mogelijk te maken met behulp van de Azure CLI. Vervang de waarden van RgName en EsanName door uw eigen waarden:
# Set the variable values.
$RgName="<ResourceGroupName>"
$EsanName="<ElasticSanName>"
# Update the Elastic San.
az elastic-san update \
--elastic-san-name $EsanName \
--resource-group $RgName \
--public-network-access enabled
Een virtueel netwerkeindpunt configureren
U kunt uw elastische SAN-volumegroepen zo configureren dat alleen toegang vanaf eindpunten op specifieke subnetten van virtuele netwerken is toegestaan. De toegestane subnetten kunnen deel uitmaken van virtuele netwerken in hetzelfde abonnement of die in een ander abonnement, inclusief een abonnement dat hoort bij een andere Microsoft Entra-tenant.
U kunt toegang tot uw elastische SAN-volumegroep toestaan vanuit twee typen virtuele Azure-netwerkeindpunten:
Een privé-eindpunt maakt gebruik van een of meer privé-IP-adressen van het subnet van uw virtuele netwerk voor toegang tot een elastische SAN-volumegroep via het Microsoft-backbonenetwerk. Met een privé-eindpunt wordt verkeer tussen uw virtuele netwerk en de volumegroep beveiligd via een privékoppeling.
Service-eindpunten voor virtuele netwerken zijn openbaar en toegankelijk via internet. U kunt regels voor virtuele netwerken configureren om de toegang tot uw volumegroep te beheren wanneer u service-eindpunten voor opslag gebruikt.
Netwerkregels zijn alleen van toepassing op de openbare eindpunten van een volumegroep, niet op privé-eindpunten. Het proces voor het goedkeuren van het maken van een privé-eindpunt verleent impliciete toegang tot verkeer van het subnet dat als host fungeert voor het privé-eindpunt. U kunt netwerkbeleid gebruiken om verkeer via privé-eindpunten te beheren als u toegangsregels wilt verfijnen. Als u uitsluitend privé-eindpunten wilt gebruiken, schakelt u geen service-eindpunten in voor de volumegroep.
Voor elastische SAN's die lokaal redundante opslag (LRS) gebruiken als redundantieoptie, worden privé-eindpunten ondersteund in alle regio's waar Elastic SAN beschikbaar is. Privé-eindpunten worden momenteel niet ondersteund voor elastische SAN's met behulp van zone-redundante opslag (ZRS) als redundantieoptie.
Er zijn twee stappen betrokken bij het configureren van een privé-eindpuntverbinding:
Het eindpunt en de bijbehorende verbinding maken.
De verbinding goedkeuren.
U kunt netwerkbeleid ook gebruiken om toegangsbeheer over privé-eindpunten te verfijnen.
Als u het eindpunt maakt op basis van een gebruikersaccount met alle benodigde rollen en machtigingen die zijn vereist voor het maken en goedkeuren, kan het proces in één stap worden voltooid. Als dat niet het probleem is, zijn er twee afzonderlijke stappen voor twee verschillende gebruikers vereist.
Het elastische SAN en het virtuele netwerk kunnen zich in verschillende resourcegroepen, regio's en abonnementen bevinden, waaronder abonnementen die deel uitmaken van verschillende Microsoft Entra-tenants. In deze voorbeelden maken we het privé-eindpunt in dezelfde resourcegroep als het virtuele netwerk.
Op dit moment kunt u alleen een privé-eindpunt configureren met behulp van PowerShell of de Azure CLI.
Het implementeren van een privé-eindpunt voor een elastische SAN-volumegroep met behulp van PowerShell omvat de volgende stappen:
Haal het subnet op uit de toepassingen die verbinding maken.
Haal de elastische SAN-volumegroep op.
Maak een private link-serviceverbinding met behulp van de volumegroep als invoer.
Maak het privé-eindpunt met behulp van het subnet en de private link-serviceverbinding als invoer.
(Optioneel)als u het proces in twee stappen gebruikt (maken en vervolgens goedkeuren)): het elastische SAN-netwerk Beheer de verbinding goedkeurt.
Gebruik deze voorbeeldcode om een privé-eindpunt te maken voor uw Elastische SAN-volumegroep met PowerShell. Vervang de waarden van RgName, , SubnetNameVnetName, EsanName, , EsanVgName, , PLSvcConnectionNameen door EndpointNameLocation uw eigen waarden:
# Set the resource group name.
$RgName = "<ResourceGroupName>"
# Set the virtual network and subnet, which is used when creating the private endpoint.
$VnetName = "<VnetName>"
$SubnetName = "<SubnetName>"
$Vnet = Get-AzVirtualNetwork -Name $VnetName -ResourceGroupName $RgName
$Subnet = $Vnet | Select -ExpandProperty subnets | Where-Object {$_.Name -eq $SubnetName}
# Set the Elastic SAN, which is used when creating the private endpoint service connection.
$EsanName = "<ElasticSanName>"
$EsanVgName = "<ElasticSanVolumeGroupName>"
$Esan = Get-AzElasticSan -Name $EsanName -ResourceGroupName $RgName
# Create the private link service connection, which is input to creating the private endpoint.
$PLSvcConnectionName = "<PrivateLinkSvcConnectionName>"
$EsanPlSvcConn = New-AzPrivateLinkServiceConnection -Name $PLSvcConnectionName -PrivateLinkServiceId $Esan.Id -GroupId $EsanVgName
# Create the private endpoint.
$EndpointName = '<PrivateEndpointName>'
$Location = '<Location>'
$PeArguments = @{
Name = $EndpointName
ResourceGroupName = $RgName
Location = $Location
Subnet = $Subnet
PrivateLinkServiceConnection = $EsanPlSvcConn
}
New-AzPrivateEndpoint @PeArguments # -ByManualRequest # (Uncomment the `-ByManualRequest` parameter if you are using the two-step process).
Gebruik deze voorbeeldcode om de private link-serviceverbinding goed te keuren als u het proces in twee stappen gebruikt. Gebruik dezelfde variabelen uit het vorige codevoorbeeld:
# Get the private endpoint and associated connection.
$PrivateEndpoint = Get-AzPrivateEndpoint -Name $EndpointName -ResourceGroupName $RgName
$PeConnArguments = @{
ServiceName = $EsanName
ResourceGroupName = $RgName
PrivateLinkResourceType = "Microsoft.ElasticSan/elasticSans"
}
$EndpointConnection = Get-AzPrivateEndpointConnection @PeConnArguments |
Where-Object {($_.PrivateEndpoint.Id -eq $PrivateEndpoint.Id)}
# Approve the private link service connection.
$ApprovalDesc="<ApprovalDesc>"
Approve-AzPrivateEndpointConnection @PeConnArguments -Name $EndpointConnection.Name -Description $ApprovalDesc
# Get the private endpoint connection anew and verify the connection status.
$EndpointConnection = Get-AzPrivateEndpointConnection @PeConnArguments |
Where-Object {($_.PrivateEndpoint.Id -eq $PrivateEndpoint.Id)}
$EndpointConnection.PrivateLinkServiceConnectionState
Het implementeren van een privé-eindpunt voor een elastische SAN-volumegroep met behulp van de Azure CLI omvat drie stappen:
Haal de resource-id van de privéverbinding op van het elastische SAN.
Maak het privé-eindpunt met behulp van invoer:
Resource-id voor privéverbinding
Volumegroepnaam
Naam van de resourcegroep
Subnetnaam
Naam van virtueel netwerk
(Optioneelals u het proces in twee stappen gebruikt (maken en vervolgens goedkeuren)): het elastische SAN-netwerk Beheer de verbinding goedkeurt.
Gebruik deze voorbeeldcode om een privé-eindpunt te maken voor uw elastische SAN-volumegroep met de Azure CLI. Verwijder opmerkingen bij de --manual-request parameter als u het proces in twee stappen gebruikt. Vervang alle voorbeeldvariabelewaarden door uw eigen waarden:
# Define some variables.
# The name of the resource group where the resources are deployed.
RgName="<ResourceGroupName>"
# The name of the subnet from which access to the volume group will be configured.
VnetName="<VnetName>"
# The name of the virtual network that includes the subnet.
SubnetName="<SubnetName>"
# The name of the Elastic SAN that the volume group belongs to.
EsanName="<ElasticSanName>"
# The name of the Elastic SAN Volume Group to which a connection is to be created.
EsanVgName="<ElasticSanVolumeGroupName>"
# The name of the new private endpoint
EndpointName="<PrivateEndpointName>"
# The name of the new private link service connection to the volume group.
PLSvcConnectionName="<PrivateLinkSvcConnectionName>"
# The region where the new private endpoint will be created.
Location="<Location>"
# The description provided for the approval of the private endpoint connection.
ApprovalDesc="<ApprovalDesc>"
# Get the id of the Elastic SAN.
id=$(az elastic-san show \
--elastic-san-name $EsanName \
--resource-group $RgName \
--query 'id' \
--output tsv)
# Create the private endpoint.
az network private-endpoint create \
--connection-name $PLSvcConnectionName \
--name $EndpointName \
--private-connection-resource-id $id \
--resource-group $RgName \
--vnet-name $VnetName \
--subnet $SubnetName \
--location $Location \
--group-id $EsanVgName # --manual-request
# Verify the status of the private endpoint connection.
PLConnectionName=$(az network private-endpoint-connection list \
--name $EsanName \
--resource-group $RgName \
--type Microsoft.ElasticSan/elasticSans \
--query "[?properties.groupIds[0]=='$EsanVgName'].name" -o tsv)
az network private-endpoint-connection show \
--resource-name $EsanName \
--resource-group $RgName \
--type Microsoft.ElasticSan/elasticSans \
--name $PLConnectionName
Gebruik deze voorbeeldcode om de private link-serviceverbinding goed te keuren als u het proces in twee stappen gebruikt. Gebruik dezelfde variabelen uit het vorige codevoorbeeld:
Als u een Azure Storage-service-eindpunt wilt configureren vanuit het virtuele netwerk waar toegang is vereist, moet u gemachtigd zijn voor de bewerking van de Microsoft.Network/virtualNetworks/subnets/joinViaServiceEndpoint/actionAzure-resourceprovider via een aangepaste Azure-rol om een service-eindpunt te configureren.
Service-eindpunten voor virtuele netwerken zijn openbaar en toegankelijk via internet. U kunt regels voor virtuele netwerken configureren om de toegang tot uw volumegroep te beheren wanneer u service-eindpunten voor opslag gebruikt.
Notitie
Configuratie van regels die toegang verlenen tot subnetten in virtuele netwerken die deel uitmaken van een andere Microsoft Entra-tenant, worden momenteel alleen ondersteund via PowerShell, CLI en REST API's. Deze regels kunnen niet worden geconfigureerd via Azure Portal, maar ze kunnen wel worden weergegeven in de portal.
Navigeer naar uw virtuele netwerk en selecteer Service-eindpunten.
Selecteer +Toevoegen.
In het scherm Service-eindpunten toevoegen:
Selecteer Microsoft.Storage.Global om een service-eindpunt voor meerdere regio's toe te voegen.
Notitie
Mogelijk wordt Microsoft.Storage vermeld als een beschikbaar opslagservice-eindpunt. Deze optie is bedoeld voor eindpunten binnen regio's die alleen bestaan voor compatibiliteit met eerdere versies. Gebruik altijd eindpunten voor meerdere regio's, tenzij u een specifieke reden hebt voor het gebruik van eindpunten binnen regio's.
Selecteer voor Subnetten alle subnetten waarvoor u toegang wilt toestaan.
Selecteer Toevoegen.
Gebruik deze voorbeeldcode om een opslagservice-eindpunt te maken voor uw Elastic SAN-volumegroep met PowerShell.
# Define some variables
$RgName = "<ResourceGroupName>"
$VnetName = "<VnetName>"
$SubnetName = "<SubnetName>"
# Get the virtual network and subnet
$Vnet = Get-AzVirtualNetwork -ResourceGroupName $RgName -Name $VnetName
$Subnet = Get-AzVirtualNetworkSubnetConfig -VirtualNetwork $Vnet -Name $SubnetName
# Enable the storage service endpoint
$Vnet | Set-AzVirtualNetworkSubnetConfig -Name $SubnetName -AddressPrefix $Subnet.AddressPrefix -ServiceEndpoint "Microsoft.Storage.Global" | Set-AzVirtualNetwork
Gebruik deze voorbeeldcode om een opslagservice-eindpunt te maken voor uw Elastische SAN-volumegroep met de Azure CLI.
# Define some variables
RgName="<ResourceGroupName>"
VnetName="<VnetName>"
SubnetName="<SubnetName>"
# Enable the storage service endpoint
az network vnet subnet update --resource-group $RgName --vnet-name $VnetName --name $SubnetName --service-endpoints "Microsoft.Storage.Global"
Regels voor virtuele netwerken configureren
Alle binnenkomende aanvragen voor gegevens via een service-eindpunt worden standaard geblokkeerd. Alleen toepassingen die gegevens aanvragen van toegestane bronnen die u in uw netwerkregels configureert, hebben toegang tot uw gegevens.
U kunt regels voor virtuele netwerken voor volumegroepen beheren via Azure Portal, PowerShell of CLI.
Belangrijk
Als u toegang tot uw opslagaccount wilt inschakelen vanuit een virtueel netwerk/subnet in een andere Microsoft Entra-tenant, moet u PowerShell of de Azure CLI gebruiken. In Azure Portal worden geen subnetten weergegeven in andere Microsoft Entra-tenants.
Als u een subnet verwijdert dat is opgenomen in een netwerkregel, wordt dit verwijderd uit de netwerkregels voor de volumegroep. Als u een nieuw subnet met dezelfde naam maakt, heeft het geen toegang tot de volumegroep. Als u toegang wilt toestaan, moet u het nieuwe subnet expliciet autoriseren in de netwerkregels voor de volumegroep.
Als u een netwerkregel wilt toevoegen voor een subnet in een virtueel netwerk dat deel uitmaakt van een andere Microsoft Entra-tenant, gebruikt u een volledig gekwalificeerde parameter VirtualNetworkResourceId in de vorm "/subscriptions/subscription-ID/resourceGroups/resourceGroup-Name/providers/Microsoft.Network/virtualNetworks/vNet-name/subnets/subnet-name".
Verwijder een regel voor een virtueel netwerk.
## You can remove a virtual network rule by object, by resource ID, or by removing all the rules in a volume group
### remove by networkRule object
Remove-AzElasticSanVolumeGroupNetworkRule -ResourceGroupName myRGName -ElasticSanName mySANName -VolumeGroupName myVolGroupName -NetworkAclsVirtualNetworkRule $virtualNetworkRule1,$virtualNetworkRule2
### remove by networkRuleResourceId
Remove-AzElasticSanVolumeGroupNetworkRule -ResourceGroupName myRGName -ElasticSanName mySANName -VolumeGroupName myVolGroupName -NetworkAclsVirtualNetworkResourceId "myResourceID"
### Remove all network rules in a volume group by pipeline
((Get-AzElasticSanVolumeGroup -ResourceGroupName myRGName -ElasticSanName mySANName -VolumeGroupName myVolGroupName).NetworkAclsVirtualNetworkRule) | Remove-AzElasticSanVolumeGroupNetworkRule -ResourceGroupName myRGName -ElasticSanName mySANName -VolumeGroupName myVolGroupName
Voeg een netwerkregel toe voor een virtueel netwerk en subnet.
Tip
Als u een regel wilt toevoegen voor een subnet in een virtueel netwerk dat deel uitmaakt van een andere Microsoft Entra-tenant, gebruikt u een volledig gekwalificeerde subnet-id in het formulier /subscriptions/\<subscription-ID\>/resourceGroups/\<resourceGroup-Name\>/providers/Microsoft.Network/virtualNetworks/\<vNet-name\>/subnets/\<subnet-name\>.
U kunt de abonnementsparameter gebruiken om de subnet-id op te halen voor een virtueel netwerk dat hoort bij een andere Microsoft Entra-tenant.
# First, get the current length of the list of virtual networks. This is needed to ensure you append a new network instead of replacing existing ones.
virtualNetworkListLength = az elastic-san volume-group show -e $sanName -n $volumeGroupName -g $RgName --query 'length(networkAcls.virtualNetworkRules)'
az elastic-san volume-group update -e $sanName -g $RgName --name $volumeGroupName --network-acls virtual-network-rules[$virtualNetworkListLength] "{virtualNetworkRules:[{id:/subscriptions/subscriptionID/resourceGroups/RGName/providers/Microsoft.Network/virtualNetworks/$VnetName/subnets/default, action:Allow}]}"
Een netwerkregel verwijderen. Met de volgende opdracht verwijdert u de eerste netwerkregel, wijzigt u deze om de gewenste netwerkregel te verwijderen.
Nadat u de gewenste eindpunten hebt ingeschakeld en toegang hebt verleend in uw netwerkregels, kunt u uw clients configureren om verbinding te maken met de juiste Elastische SAN-volumes.
Notitie
Als er een verbinding tussen een virtuele machine (VM) en een elastisch SAN-volume verloren gaat, wordt de verbinding 90 seconden opnieuw geprobeerd totdat de verbinding wordt beëindigd. Als u een verbinding met een elastisch SAN-volume verliest, wordt de virtuele machine niet opnieuw opgestart.