Skip to content

Commit 3e94e57

Browse files
committed
Fixing links, rewriting networking concept section, removing redundant section in service endpoint article.
1 parent 61a2f0b commit 3e94e57

File tree

3 files changed

+18
-96
lines changed

3 files changed

+18
-96
lines changed

articles/storage/elastic-san/elastic-san-best-practices.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ This article provides some general guidance on getting optimal performance with
2626

2727
:::image type="content" source="media/elastic-san-best-practices/enable-accelerated-networking.png" alt-text="Screenshot of VM creation flow, enable accelerated networking highlighted." lightbox="media/elastic-san-best-practices/enable-accelerated-networking.png":::
2828

29-
- You must use 32 sessions per target volume for each volume to achieve its maximum IOPS and/or throughput limits. Use Multipath I/O (MPIO) on the client to manage these multiple sessions to each volume for load balancing. Scripts are available for [Windows](elastic-san-connect-windows.md#connect-to-volumes), [Linux](elastic-san-connect-linux.md#connect-to-volumes), or on the Connect to volume page for your volumes in the Azure portal, which uses 32 sessions by default. Windows software iSCSI initiator has a limit of maximum 256 sessions. If you need to connect more than eight volumes to a Windows VM, reduce the number of sessions to each volume as needed.
29+
- You must use 32 sessions per target volume for each volume to achieve its maximum IOPS and/or throughput limits. Use Multipath I/O (MPIO) on the client to manage these multiple sessions to each volume for load balancing. Scripts are available for [Windows](elastic-san-connect-windows.md), [Linux](elastic-san-connect-linux.md), or on the Connect to volume page for your volumes in the Azure portal, which uses 32 sessions by default. Windows software iSCSI initiator has a limit of maximum 256 sessions. If you need to connect more than eight volumes to a Windows VM, reduce the number of sessions to each volume as needed.
3030

3131
#### Azure VMware Solution
3232

articles/storage/elastic-san/elastic-san-configure-service-endpoints.md

Lines changed: 11 additions & 91 deletions
Original file line numberDiff line numberDiff line change
@@ -180,103 +180,23 @@ You can manage virtual network rules for volume groups through the Azure portal,
180180
>
181181
> You can use the **subscription** parameter to retrieve the subnet ID for a virtual network belonging to another Microsoft Entra tenant.
182182
183-
```azurecli
184-
az elastic-san volume-group show -e $sanName -g $RgName -n $volumeGroupName
185-
186-
az network vnet subnet update --resource-group "myresourcegroup" --vnet-name "myvnet" --name "mysubnet" --service-endpoints "Microsoft.Storage.Global"
187-
188-
# First, get the current length of the list of virtual networks to ensure you append a new network instead of replacing existing ones.
189-
virtualNetworkListLength = az elastic-san volume-group show -e $sanName -n $volumeGroupName -g $RgName --query 'length(networkAcls.virtualNetworkRules)'
190-
191-
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}]}"
192-
```
193-
194-
195-
If you need to, you can remove network rules. As an example, the following command removes the first network rule, modify it to remove the network rule you'd like.
196-
197-
```azurecli
198-
az elastic-san volume-group update -e $sanName -g $RgName -n $volumeGroupName --network-acls virtual-network-rules[1]=null
199-
```
200-
201-
---
202-
203-
204-
#### Configure virtual network rules
205-
206-
All incoming requests for data over a service endpoint are blocked by default. Only applications that request data from allowed sources that you configure in your network rules are able to access your data.
207-
208-
You can manage virtual network rules for volume groups through the Azure portal, PowerShell, or CLI.
209-
210-
> [!IMPORTANT]
211-
> To enable access to your storage account from a virtual network/subnet in another Microsoft Entra tenant, you must use PowerShell or the Azure CLI. The Azure portal doesn't show subnets in other Microsoft Entra tenants.
212-
>
213-
> If you delete a subnet that has been included in a network rule, it will be removed from the network rules for the volume group. If you create a new subnet with the same name, it won't have access to the volume group. To allow access, you must explicitly authorize the new subnet in the network rules for the volume group.
214-
215-
### [Portal](#tab/azure-portal)
216-
217-
1. Navigate to your SAN and select **Volume groups**.
218-
1. Select a volume group and select **Create**.
219-
1. Add an existing virtual network and subnet and select **Save**.
220-
221-
### [PowerShell](#tab/azure-powershell)
222-
223-
- List virtual network rules.
224-
- Enable service endpoint for Azure Storage on an existing virtual network and subnet.
225-
- Add a network rule for a virtual network and subnet.
226-
227-
```azurepowershell
228-
$Rules = Get-AzElasticSanVolumeGroup -ResourceGroupName $RgName -ElasticSanName $sanName -Name $volGroupName
229-
$Rules.NetworkAclsVirtualNetworkRule
230-
231-
Get-AzVirtualNetwork -ResourceGroupName "myresourcegroup" -Name "myvnet" | Set-AzVirtualNetworkSubnetConfig -Name "mysubnet" -AddressPrefix "10.0.0.0/24" -ServiceEndpoint "Microsoft.Storage.Global" | Set-AzVirtualNetwork
232-
233-
$rule = New-AzElasticSanVirtualNetworkRuleObject -VirtualNetworkResourceId $Subnet.Id -Action Allow
234-
235-
Add-AzElasticSanVolumeGroupNetworkRule -ResourceGroupName $RgName -ElasticSanName $EsanName -VolumeGroupName $EsanVgName -NetworkAclsVirtualNetworkRule $rule
236-
```
237-
238-
> [!TIP]
239-
> To add a network rule for a subnet in a virtual network belonging to another Microsoft Entra tenant, use a fully qualified **VirtualNetworkResourceId** parameter in the form "/subscriptions/subscription-ID/resourceGroups/resourceGroup-Name/providers/Microsoft.Network/virtualNetworks/vNet-name/subnets/subnet-name".
240-
241-
- Remove a virtual network rule.
242-
243-
```azurepowershell
244-
## You can remove a virtual network rule by object, by resource ID, or by removing all the rules in a volume group
245-
### remove by networkRule object
246-
Remove-AzElasticSanVolumeGroupNetworkRule -ResourceGroupName myRGName -ElasticSanName mySANName -VolumeGroupName myVolGroupName -NetworkAclsVirtualNetworkRule $virtualNetworkRule1,$virtualNetworkRule2
247-
### remove by networkRuleResourceId
248-
Remove-AzElasticSanVolumeGroupNetworkRule -ResourceGroupName myRGName -ElasticSanName mySANName -VolumeGroupName myVolGroupName -NetworkAclsVirtualNetworkResourceId "myResourceID"
249-
### Remove all network rules in a volume group by pipeline
250-
((Get-AzElasticSanVolumeGroup -ResourceGroupName myRGName -ElasticSanName mySANName -VolumeGroupName myVolGroupName).NetworkAclsVirtualNetworkRule) | Remove-AzElasticSanVolumeGroupNetworkRule -ResourceGroupName myRGName -ElasticSanName mySANName -VolumeGroupName myVolGroupName
251-
```
183+
```azurecli
184+
az elastic-san volume-group show -e $sanName -g $RgName -n $volumeGroupName
252185
253-
### [Azure CLI](#tab/azure-cli)
186+
az network vnet subnet update --resource-group "myresourcegroup" --vnet-name "myvnet" --name "mysubnet" --service-endpoints "Microsoft.Storage.Global"
254187
255-
- List information from a particular volume group, including their virtual network rules.
256-
- Enable service endpoint for Azure Storage on an existing virtual network and subnet.
257-
- Add a network rule for a virtual network and subnet.
188+
# First, get the current length of the list of virtual networks to ensure you append a new network instead of replacing existing ones.
189+
virtualNetworkListLength = az elastic-san volume-group show -e $sanName -n $volumeGroupName -g $RgName --query 'length(networkAcls.virtualNetworkRules)'
258190
259-
> [!TIP]
260-
> To add a rule for a subnet in a virtual network belonging to another Microsoft Entra tenant, use a fully-qualified subnet ID in the form `/subscriptions/\<subscription-ID\>/resourceGroups/\<resourceGroup-Name\>/providers/Microsoft.Network/virtualNetworks/\<vNet-name\>/subnets/\<subnet-name\>`.
261-
>
262-
> You can use the **subscription** parameter to retrieve the subnet ID for a virtual network belonging to another Microsoft Entra tenant.
263-
264-
```azurecli
265-
az elastic-san volume-group show -e $sanName -g $RgName -n $volumeGroupName
266-
267-
az network vnet subnet update --resource-group "myresourcegroup" --vnet-name "myvnet" --name "mysubnet" --service-endpoints "Microsoft.Storage.Global"
191+
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}]}"
192+
```
268193

269-
# 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.
270-
virtualNetworkListLength = az elastic-san volume-group show -e $sanName -n $volumeGroupName -g $RgName --query 'length(networkAcls.virtualNetworkRules)'
271-
272-
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}]}"
273-
```
274194

275-
- Remove a network rule. The following command removes the first network rule, modify it to remove the network rule you'd like.
195+
If you need to, you can remove network rules. As an example, the following command removes the first network rule, modify it to remove the network rule you'd like.
276196

277-
```azurecli
278-
az elastic-san volume-group update -e $sanName -g $RgName -n $volumeGroupName --network-acls virtual-network-rules[1]=null
279-
```
197+
```azurecli
198+
az elastic-san volume-group update -e $sanName -g $RgName -n $volumeGroupName --network-acls virtual-network-rules[1]=null
199+
```
280200

281201
---
282202

articles/storage/elastic-san/elastic-san-networking-concepts.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,13 +52,15 @@ When you create a SAN, you can enable or disable public internet access to your
5252
>
5353
> Cross-region service endpoints and local ones can't coexist on the same subnet. To use cross-region service endpoints, delete existing **Microsoft.Storage** endpoints and recreate them as **Microsoft.Storage.Global**.
5454
55-
## Virtual network rules
55+
## Control network traffic
5656

57-
To further secure access to your Elastic SAN volumes, you can create virtual network rules for volume groups configured with service endpoints to allow access from specific subnets. You don't need network rules to allow traffic from a private endpoint since the storage firewall only controls access through public endpoints.
57+
### Private endpoints
5858

59-
Each volume group supports up to 200 virtual network rules. If you delete a subnet that has been included in a network rule, it's removed from the network rules for the volume group. If you create a new subnet with the same name, it won't have access to the volume group. To allow access, you must explicitly authorize the new subnet in the network rules for the volume group. Clients granted access via these network rules must also be granted the appropriate permissions to the Elastic SAN to volume group. To learn how to define network rules, see [Configure virtual network rules](elastic-san-configure-service-endpoints.md#configure-virtual-network-rules).
59+
When you approve the creation of a private endpoint, it grants implicit access to all traffic from the subnet hosting the private endpoint. If you need to control traffic at a more granular level, use [Network Policies](../../private-link/disable-private-endpoint-network-policy.md).
6060

61-
Network rules only apply to the public endpoints of a volume group, not private endpoints. Approving the creation of a private endpoint grants implicit access to traffic from the subnet that hosts the private endpoint. To refine access rules and control traffic over private endpoints, use [Network Policies](../../private-link/disable-private-endpoint-network-policy.md).
61+
### Service endpoints
62+
63+
You need to configure virtual network rules when using service endpoints because Service endpoints block all incoming requests for data by blocked by default. Each volume group in your Elastic SAN supports up to 200 virtual network rules. If you delete a subnet that has been included in a network rule, it's removed from the network rules for the volume group. If you create a new subnet with the same name, it won't have access to the volume group. To allow access, you must explicitly authorize the new subnet in the network rules for the volume group. Clients granted access via these network rules must also be granted the appropriate permissions to the Elastic SAN to volume group. To learn how to define network rules, see [Configure virtual network rules](elastic-san-configure-service-endpoints.md#configure-virtual-network-rules)
6264

6365
## Data Integrity
6466

0 commit comments

Comments
 (0)