Configurer l’accès réseau pour la préversion d'Azure Elastic SAN
Article
Vous pouvez contrôler l’accès à vos volumes SAN (Elastic Storage Area Network) Azure. Le contrôle de l’accès vous permet de sécuriser vos données et de répondre aux besoins de vos applications et de vos environnements d’entreprise.
Cet article explique comment configurer votre Elastic SAN pour autoriser l’accès à partir de votre infrastructure de réseau virtuel Azure.
Pour configurer l’accès réseau à votre Elastic SAN :
Si vous comptez utiliser Azure CLI, installez la dernière version.
Une fois que vous avez installé la dernière version, exécutez az extension add -n elastic-san pour installer l’extension pour Elastic SAN.
Aucune étape d’inscription supplémentaire n’est requise.
Limites
La liste suivante contient les régions dans lesquelles Elastic SAN est actuellement disponible, et les régions qui prennent en charge à la fois le stockage redondant interzone (ZRS) et le stockage localement redondant (LRS), ou uniquement LRS :
Afrique du Sud Nord – LRS
Asie Est – LRS
Asie Sud-Est - LRS
Brésil Sud – LRS
Canada Centre – LRS
France Centre – LRS et ZRS
Allemagne Centre-Ouest – LRS
Australie Est - LRS
Europe Nord – LRS et ZRS
Europe Ouest – LRS et ZRS
Royaume-Uni Sud - LRS
Japon Est – LRS
Corée Centre – LRS
USA Centre – LRS
USA Est - LRS
USA Centre Sud - LRS
USA Est 2 - LRS
USA Ouest 2 - LRS &ZRS
USA Ouest 3 - LRS
Suède Centre - LRS
Suisse Nord – LRS
Norvège Est, LRS
Émirats arabes unis Nord, LRS
Inde Centre, LRS
Configurer l’accès au réseau public
Vous activez l’accès Internet public à vos points de terminaison Elastic SAN au niveau du SAN. L’activation de l’accès au réseau public pour un réseau Elastic SAN vous permet de configurer l’accès public à des groupes de volumes individuels sur des points de terminaison de service de stockage. Par défaut, l’accès public à des groupes de volumes individuels est refusé même si vous l’autorisez au niveau du SAN. Vous devez configurer explicitement vos groupes de volumes pour autoriser l’accès à partir de plages d’adresses IP et de sous-réseaux de réseau virtuel spécifiques.
Vous pouvez activer l’accès au réseau public lorsque vous créez un SAN élastique ou que vous l’activez pour un SAN existant à l’aide du module Azure PowerShell ou d’Azure CLI.
Utilisez le module Azure PowerShell ou Azure CLI pour activer l’accès au réseau public.
Utilisez cet exemple de code pour créer un Elastic SAN avec un accès réseau public activé à l’aide de PowerShell. Remplacez les valeurs des variables avant d’exécuter l’exemple.
# 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
Utilisez cet exemple de code pour mettre à jour un Elastic SAN pour activer l’accès au réseau public à l’aide de PowerShell. Remplacez les valeurs de RgName et EsanName par vos propres valeurs, puis exécutez l’exemple :
# Set the variable values.
$RgName = "<ResourceGroupName>"
$EsanName = "<ElasticSanName>"
# Update the Elastic San.
Update-AzElasticSan -Name $EsanName -ResourceGroupName $RgName -PublicNetworkAccess Enabled
Utilisez cet exemple de code pour créer un Elastic SAN avec un accès réseau public activé à l’aide d’Azure CLI. Remplacez les valeurs des variables avant d’exécuter l’exemple.
# 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
Utilisez cet exemple de code pour mettre à jour un Elastic SAN pour activer l’accès au réseau public à l’aide d’Azure CLI. Remplacez les valeurs de RgName et EsanName par vos propres valeurs :
# 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
Configurer un point de terminaison de réseau virtuel
Vous pouvez configurer vos groupes de volumes Elastic SAN pour autoriser l’accès uniquement à partir de points de terminaison sur des sous-réseaux de réseau virtuel spécifiques. Les sous-réseaux autorisés peuvent appartenir à des réseaux virtuels du même abonnement, ou à ceux d’un autre abonnement, notamment un abonnement appartenant à un autre locataire Microsoft Entra.
Vous pouvez autoriser l’accès à votre groupe de volumes Elastic SAN à partir de deux types de points de terminaison de réseau virtuel Azure :
Un point de terminaison privé utilise une ou plusieurs adresses IP privées du sous-réseau de votre réseau virtuel pour accéder à un groupe de volumes Elastic SAN sur le réseau principal Microsoft. Avec un point de terminaison privé, le trafic entre votre réseau virtuel et le groupe de volumes est sécurisé via une liaison privée.
Les points de terminaison de service de réseau virtuel sont publics et accessibles via Internet. Vous pouvez configurer des règles de réseau virtuel pour contrôler l’accès à votre groupe de volumes lors de l’utilisation de points de terminaison de service de stockage.
Les règles de réseau s’appliquent uniquement aux points de terminaison publics d’un groupe de volumes, et non aux points de terminaison privés. Le processus d’approbation de la création d’un point de terminaison privé accorde un accès implicite au trafic à partir du sous-réseau qui héberge le point de terminaison privé. Vous pouvez utiliser des Stratégies réseau pour contrôler le trafic sur les points de terminaison privés si vous souhaitez affiner les règles d’accès. Si vous souhaitez utiliser des points de terminaison privés exclusivement, n’activez pas les points de terminaison de service pour le groupe de volumes.
La configuration d’une connexion de point de terminaison privé se fait en deux étapes :
La création du point de terminaison et de la connexion associée.
L’approbation de la connexion.
Vous pouvez également utiliser des stratégies réseau pour affiner le contrôle d’accès sur les points de terminaison privés.
Pour créer un point de terminaison privé pour un groupe de volumes Elastic SAN, vous devez avoir le rôle Propriétaire du groupe de volumes Elastic SAN . Pour approuver une nouvelle connexion de point de terminaison privé, vous devez avoir l’autorisation d’effectuer l’opération du fournisseur de ressources AzureMicrosoft.ElasticSan/elasticSans/PrivateEndpointConnectionsApproval/action. L’autorisation pour cette opération est incluse dans le rôle Administrateur réseau Elastic SAN, mais elle peut également être accordée via un rôle Azure personnalisé.
Si vous créez le point de terminaison à partir d’un compte d’utilisateur qui dispose de tous les rôles et autorisations nécessaires à la création et à l’approbation, le processus peut être effectué en une seule étape. Si ce n’est pas le cas, il faut deux étapes distinctes pour deux utilisateurs différents.
Le service Elastic SAN et le réseau virtuel pourraient se trouver dans des groupes de ressources, des régions et des abonnements distincts, notamment des abonnements qui appartiennent à des locataires Microsoft Entra distincts. Dans ces exemples, nous créons le point de terminaison privé dans le même groupe de ressources que le réseau virtuel.
Vous pouvez créer une connexion de point de terminaison privé à votre groupe de volumes dans le portail Azure lorsque vous créez un groupe de volumes ou lorsque vous modifiez un groupe de volumes existant. Pour créer un point de terminaison privé, il vous faut un réseau virtuel existant.
Lors de la création ou de la modification d’un groupe de volumes, sélectionnez Mise en réseau, puis + Créer un point de terminaison privé sous Connexions de point de terminaison privé.
Renseignez les valeurs du menu qui s’affiche, puis sélectionnez le réseau virtuel et le sous-réseau que vos applications utiliseront pour se connecter. Lorsque vous avez terminé, sélectionnez Ajouter, puis Enregistrer.
Le déploiement d’un point de terminaison privé pour un groupe de volumes Elastic SAN en utilisant PowerShell comprend les étapes suivantes :
Obtenez le sous-réseau à partir des applications qui se connecteront.
Obtenez le groupe de volumes Elastic SAN.
Créez une connexion de service de liaison privée à l’aide du groupe de volumes comme données d’entrée.
Créez le point de terminaison privé en utilisant le sous-réseau et la connexion de service de liaison privée comme données d’entrée.
(Facultatif)si vous utilisez le processus en deux étapes (création, puis approbation)) : l’administrateur réseau Elastic SAN approuve la connexion.
Utilisez cet exemple de code pour créer un point de terminaison privé pour votre groupe de volumes Elastic SAN avec PowerShell. Remplacez les valeurs de RgName, VnetName, SubnetName, EsanName, EsanVgName, PLSvcConnectionName, EndpointNameet Location par vos propres valeurs :
# 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).
Utilisez cet exemple de code pour approuver la connexion de service de liaison privée si vous utilisez le processus en deux étapes. Utilisez les mêmes variables que celles de l’exemple de code précédent :
# 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
Le déploiement d’un point de terminaison privé pour un groupe de volumes Elastic SAN à l’aide d’Azure CLI comprend trois étapes :
Obtenez l’ID de ressource de connexion privée de l’Elastic SAN.
Créez le point de terminaison privé en utilisant des entrées :
ID de la ressource de connexion privée
Nom du groupe de volumes
Nom de groupe ressources
Nom du sous-réseau
Nom du réseau virtuel
(Facultatifsi vous utilisez le processus en deux étapes (création, puis approbation)) : l’administrateur réseau Elastic SAN approuve la connexion.
Utilisez cet exemple de code pour créer un point de terminaison privé pour votre groupe de volumes Elastic SAN avec Azure CLI. Supprimez les marques de commentaire du paramètre --manual-request si vous utilisez le processus en deux étapes. Remplacez tous les valeurs des variables de l’exemple par vos propres valeurs :
# 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
Utilisez cet exemple de code pour approuver la connexion de service de liaison privée si vous utilisez le processus en deux étapes. Utilisez les mêmes variables que celles de l’exemple de code précédent :
Configurer un point de terminaison de service Stockage Azure
Pour configurer un point de terminaison de service Stockage Azure à partir du réseau virtuel où l’accès est nécessaire, vous devez disposer de l’autorisation pour l’opération de fournisseur de ressources AzureMicrosoft.Network/virtualNetworks/subnets/joinViaServiceEndpoint/action via un rôle Azure personnalisé pour configurer un point de terminaison de service.
Les points de terminaison de service de réseau virtuel sont publics et accessibles via Internet. Vous pouvez configurer des règles de réseau virtuel pour contrôler l’accès à votre groupe de volumes lors de l’utilisation de points de terminaison de service de stockage.
Remarque
La configuration de règles qui octroient l’accès à des sous-réseaux de réseaux virtuels faisant partie d’un autre tenant Microsoft Entra est prise en charge uniquement via PowerShell, l’interface CLI et les API REST. S’il est possible de consulter ces règles sur le portail Azure, il est impossible de les y configurer.
Vous pouvez constater que Microsoft.Storage est répertorié comme point de terminaison de service de stockage disponible. Cette option concerne les points de terminaison intrarégionaux qui existent uniquement pour des raisons de compatibilité descendante. Utilisez toujours des points de terminaison interrégionaux, sauf si vous avez une raison spécifique d’utiliser des points de terminaison intrarégionaux.
Pour Sous-réseaux, sélectionnez tous les sous-réseaux sur lesquels vous souhaitez autoriser l’accès.
Sélectionnez Ajouter.
Utilisez cet exemple de code pour créer un point de terminaison de service de stockage pour votre groupe de volumes Elastic SAN avec 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
Utilisez cet exemple de code pour créer un point de terminaison de service de stockage pour votre groupe de volumes Elastic SAN avec 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"
Configurer des règles de réseau virtuel
Toutes les demandes entrantes de données sur un point de terminaison de service sont bloquées par défaut. Seules les applications qui demandent des données à partir de sources autorisées que vous configurez dans vos règles de réseau peuvent accéder à vos données.
Vous pouvez gérer les règles de réseau virtuel pour les groupes de volumes via le portail Azure, PowerShell ou CLI.
Important
Si vous souhaitez activer l’accès à votre compte de stockage à partir d’un réseau/sous-réseau virtuel se trouvant dans un autre tenant Microsoft Entra, vous devez utiliser PowerShell ou Azure CLI. Le portail Azure n’affiche pas les sous-réseaux des autres tenants Microsoft Entra.
Si vous supprimez un sous-réseau qui a été inclus dans une règle réseau, il sera supprimé des règles réseau pour le groupe de volumes. Si vous créez un sous-réseau du même nom, il n’aura pas accès au groupe de volumes. Pour autoriser l’accès, vous devez autoriser explicitement le nouveau sous-réseau dans les règles réseau du groupe de volumes.
Pour ajouter une règle de réseau pour un sous-réseau de réseau virtuel appartenant à un autre tenant Microsoft Entra, utilisez un paramètre VirtualNetworkResourceId complet au format « /subscriptions/subscription-ID/resourceGroups/resourceGroup-Name/providers/Microsoft.Network/virtualNetworks/vNet-name/subnets/subnet-name ».
Supprimez une règle de réseau virtuel.
## 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
Ajoutez une règle de réseau pour un réseau virtuel et un sous-réseau.
Conseil
Pour ajouter une règle pour un sous-réseau de réseau virtuel appartenant à un autre tenant Microsoft Entra, utilisez un ID de sous-réseau complet au format /subscriptions/\<subscription-ID\>/resourceGroups/\<resourceGroup-Name\>/providers/Microsoft.Network/virtualNetworks/\<vNet-name\>/subnets/\<subnet-name\>.
Vous pouvez utiliser le paramètre subscription pour récupérer l’ID de sous-réseau d’un réseau virtuel appartenant à un autre tenant Microsoft Entra.
# 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}]}"
Supprimez une règle de réseau. La commande suivante supprime la première règle de réseau. Modifiez-la pour supprimer la règle de réseau souhaitée.
Une fois que vous avez activé les points de terminaison souhaités et accordé l’accès dans vos règles réseau, vous pouvez configurer vos clients pour qu’ils se connectent aux volumes Elastic SAN appropriés.
Remarque
Si une connexion entre une machine virtuelle et un volume Elastic SAN est perdue, la connexion réessaye pendant 90 secondes jusqu’à ce qu’elle se termine. Une perte d’une connexion à un volume Elastic SAN n’entraîne pas le redémarrage de la machine virtuelle.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultez https://aka.ms/ContentUserFeedback.