You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# Configure Private Endpoints for Azure Elastic SAN
12
+
# Configure private endpoints for Azure Elastic SAN
13
13
14
14
A private endpoint allows you to connect to your Elastic SAN volume group over a private IP address within your virtual network. When you use a private endpoint, traffic between your virtual network and the Elastic SAN remains entirely on Azure’s private backbone, without traversing the public internet. Once a private endpoint is configured and approved, access is granted automatically to the subnet where it resides. This configuration provides strong network isolation and is ideal for production or security-sensitive workloads.
15
15
16
-
This article covers configuring your Elastic SAN volume group to use Private Endpoints.
16
+
This article covers configuring your Elastic SAN volume group to use private endpoints.
17
17
18
18
## Prerequisites
19
19
@@ -47,7 +47,7 @@ Fill out the values in the menu that pops up, select the virtual network and the
47
47
48
48
### [PowerShell](#tab/azure-powershell)
49
49
50
-
The following script creates a Private Endpoint for your Elastic SAN volume group. Replace the values of `RgName`, `VnetName`, `SubnetName`, `EsanName`, `EsanVgName`, `PLSvcConnectionName`, `EndpointName`, and `Location`(Region) with your own values, and uncomment `-ByManualRequest` if you're following the two step process, then run the script.
50
+
The following script creates a private endpoint for your Elastic SAN volume group. Replace the values of `RgName`, `VnetName`, `SubnetName`, `EsanName`, `EsanVgName`, `PLSvcConnectionName`, `EndpointName`, and `Location`(Region) with your own values, and uncomment `-ByManualRequest` if you're following the two step process, then run the script.
51
51
52
52
Afterwards, if you don't have all necessary permissions and need the network admin to approve the connection, make sure to also run the script in [Approve connection](#approve-connection).
The following script creates a Private Endpoint for your Elastic SAN volume group. Uncomment the `--manual-request` parameter if you're using the two-step process. Replace all example variable values with your own, then run the script.
115
+
The following script creates a private endpoint for your Elastic SAN volume group. Uncomment the `--manual-request` parameter if you're using the two-step process. Replace all example variable values with your own, then run the script.
116
116
117
117
Afterwards, if you don't have all necessary permissions and need the network admin to approve the connection, make sure to also run the script in [Approve connection](#approve-connection-1).
This article explains how to connect to an Elastic SAN volume from an individual Linux client. For details on connecting from a Windows client, see [Connect to Elastic SAN volumes - Windows](elastic-san-connect-windows.md).
15
15
16
-
In this article, you'll add the Storage service endpoint to an Azure virtual network's subnet, then you'll configure your volume group to allow connections from your subnet. Finally, you'll configure your client environment to connect to an Elastic SAN volume and establish a connection.
16
+
In this article, you'll configure your volume group to allow connections from your subnet and then you'll configure your client environment to connect to an Elastic SAN volume and establish a connection.
17
17
18
18
You must use a cluster manager when connecting an individual elastic SAN volume to multiple clients. For details, see [Use clustered applications on Azure Elastic SAN](elastic-san-shared-volumes.md).
19
19
20
20
## Prerequisites
21
21
22
22
- Use either the [latest Azure CLI](/cli/azure/install-azure-cli) or install the [latest Azure PowerShell module](/powershell/azure/install-azure-powershell)
23
23
-[Deploy an Elastic SAN](elastic-san-create.md)
24
-
-[Configure a virtual network endpoint](elastic-san-networking.md)
- Either [configure private endpoints](elastic-san-configure-private-endpoints.md) or [configure service endpoints](elastic-san-configure-service-endpoints.md)
26
25
27
-
## Connect to volumes
28
-
29
-
### Set up your client environment
30
-
31
-
#### Enable iSCSI Initiator
26
+
## Enable iSCSI Initiator
32
27
33
28
To create iSCSI connections from a Linux client, install the iSCSI initiator package. The exact command might vary depending on your distribution, and you should consult their documentation if necessary.
34
29
35
30
As an example, with Ubuntu you'd use `sudo apt install open-iscsi`, with SUSE Linux Enterprise Server (SLES) you'd use `sudo zypper install open-iscsi` and with Red Hat Enterprise Linux (RHEL) you'd use `sudo yum install iscsi-initiator-utils`.
36
31
37
-
####Install Multipath I/O
32
+
## Install Multipath I/O
38
33
39
34
To achieve higher IOPS and throughput to a volume and reach its maximum limits, you need to create multiple-sessions from the iSCSI initiator to the target volume based on your application's multi-threaded capabilities and performance requirements. You need Multipath I/O to aggregate these multiple paths into a single device, and to improve performance by optimally distributing I/O over all available paths based on a load balancing policy.
40
35
@@ -64,7 +59,7 @@ devices {
64
59
After creating or modifying the file, restart Multipath I/O. On Ubuntu, the command is `sudo systemctl restart multipath-tools.service` and on RHEL and SLES the command is `sudo systemctl restart multipathd`.
65
60
66
61
67
-
###Attach Volumes to the client
62
+
## Attach Volumes to the client
68
63
69
64
You can use the following script to create your connections. To execute it, you will require the following parameters:
70
65
- subscription: Subscription ID
@@ -82,7 +77,7 @@ Copy the script from [here](https://github.com/Azure-Samples/azure-elastic-san/b
82
77
83
78
You can verify the number of sessions using `sudo multipath -ll`
84
79
85
-
####Number of sessions
80
+
### Number of sessions
86
81
You need to use 32 sessions to each target volume to achieve its maximum IOPS and/or throughput limits.
87
82
88
83
You can customize the session count by following the instructions below:
Copy file name to clipboardExpand all lines: articles/storage/elastic-san/elastic-san-connect-windows.md
+5-7Lines changed: 5 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -21,8 +21,7 @@ You must use a cluster manager when connecting an individual Elastic SAN volume
21
21
22
22
- Use either the [latest Azure CLI](/cli/azure/install-azure-cli) or install the [latest Azure PowerShell module](/powershell/azure/install-azure-powershell)
23
23
-[Deploy an Elastic SAN](elastic-san-create.md)
24
-
-[Configure a virtual network endpoint](elastic-san-networking.md)
- Either [configure private endpoints](elastic-san-configure-private-endpoints.md) or [configure service endpoints](elastic-san-configure-service-endpoints.md)
26
25
27
26
## Enable iSCSI Initiator
28
27
@@ -79,11 +78,13 @@ Copy the script from [here](https://github.com/Azure-Samples/azure-elastic-san/b
79
78
80
79
Verify the number of sessions your volume has with either `iscsicli SessionList` or `mpclaim -s -d`
81
80
82
-
## Set session number
81
+
###Set session number
83
82
84
83
You need to use 32 sessions to each target volume to achieve its maximum IOPS and/or throughput limits. Windows iSCSI initiator has a limit of maximum 256 sessions. If you need to connect more than 8 volumes to a Windows client, reduce the number of sessions to each volume.
85
84
86
-
You can customize the number of sessions by using the optional `-NumSession parameter` when running the `connect.ps1` script.
85
+
> [!NOTE]
86
+
> Use the `-NumSession` parameter to customize the number of sessions. The parameter accepts values from 1 to 32, and has a default value of 32.
87
+
87
88
88
89
```bash
89
90
.\connect.ps1 `
@@ -99,9 +100,6 @@ You can customize the number of sessions by using the optional `-NumSession para
99
100
-NumSession “<value>”
100
101
```
101
102
102
-
> [!NOTE]
103
-
> The `-NumSession` parameter accepts values from 1 to 32, and has a default value of 32.
104
-
105
103
## Next steps
106
104
107
105
[Configure Elastic SAN networking](elastic-san-networking.md)
Copy file name to clipboardExpand all lines: articles/storage/elastic-san/elastic-san-create.md
+4-3Lines changed: 4 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -125,14 +125,15 @@ Use one of these sets of sample code to create an Elastic SAN that uses locally
125
125
|`<ElasticSanVolumeGroupName>`| The name of the Elastic SAN Volume Group to be created. |
126
126
|`<VolumeName>`| The name of the Elastic SAN Volume to be created. |
127
127
|`<Location>`| The region where the new resources will be created. |
128
-
|`<Zone>`| The availability zone where the Elastic SAN will be created.<br> *Specify the same availability zone as the zone that will host your workload.*<br>*Use only if the Elastic SAN uses locally redundant storage.*<br> *Must be a zone supported in the target location such as `1`, `2`, or `3`.*|
128
+
|`<Zone>`| The availability zone where the Elastic SAN will be created.<br> Specify the same availability zone as the zone that will host your workload.<br>Use only if the Elastic SAN uses locally redundant storage.<br> Must be a zone supported in the target location such as `1`, `2`, or `3`. |
129
129
|`<BaseSizeTib>`| The amount of base units to provision. For Azure CLI extension elastic-san versions 1.3.0 and newer, this is an optional parameter with default value 20. |
130
130
|`<ExtendedCapacitySizeTiB>`| The amount of capacity-only units to provision. For Azure CLI extension elastic-san versions 1.3.0 and newer, this is an optional parameter with default value 0. |
131
-
|`<AutoScalePolicyEnforcement>`| The setting that determines whether or not autoscaling is enabled for the Elastic SAN. <br>*This value is optional but if passed in, must be 'Enabled' or 'Disabled'*|
131
+
|`<AutoScalePolicyEnforcement>`| The setting that determines whether or not autoscaling is enabled for the Elastic SAN. <br>This value is optional but if passed in, must be 'Enabled' or 'Disabled' |
132
132
|`<UnusedSizeTiB>`| The capacity (in TiB) on your Elastic SAN that you want to keep free and unused. If you use more space than this amount, the scale-up operation is automatically triggered, increasing the size of your SAN. This parameter is optional but is required to enable autoscaling. |
133
133
|`<IncreaseCapacityUnitByTiB>`| This parameter sets the TiB of additional capacity units that your SAN scales up by when autoscale gets triggered. This parameter is optional but is required to enable autoscaling. |
134
134
|`<CapacityUnitScaleUpLimit>`| This parameter sets the maximum capacity (size) that your SAN can grow to using autoscaling. Your SAN won't automatically scale past this size. This parameter is optional but is required to enable autoscaling. |
135
-
135
+
|`<CapacityUnitScaleUpLimit>`| This parameter sets the maximum capacity (size) that your SAN can grow to using autoscaling. Your SAN won't automatically scale past this size. This parameter is optional but is required to enable autoscaling. |
136
+
|`<public-network-access>`| This parameter allows or disallows public network access to ElasticSan. Optional, but if passed in must be `Enabled` or `Disabled`. Enable if you're using service endpoints, disable if you're only using private endpoints.|
136
137
137
138
The following command creates an Elastic SAN that uses locally redundant storage without autoscaling enabled.
Copy file name to clipboardExpand all lines: articles/storage/elastic-san/elastic-san-networking-concepts.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -35,11 +35,11 @@ Private endpoints have several advantages over service endpoints. For a complete
35
35
36
36
Traffic between the virtual network and the Elastic SAN is routed over an optimal path on the Azure backbone network. Unlike service endpoints, you don't need to configure network rules to allow traffic from a private endpoint since the storage firewall only controls access through public endpoints.
37
37
38
-
For details on how to configure private endpoints, see [Enable private endpoint](elastic-san-networking.md#configure-a-private-endpoint).
38
+
For details on how to configure private endpoints, see [Configure private endpoints for Azure Elastic SAN](elastic-san-configure-private-endpoints.md).
39
39
40
40
## Public network access
41
41
42
-
When you create a SAN, you can enable or disable public internet access to your Elastic SAN endpoints at the SAN level. If you're using private endpoints, you should disable public network access, and only enable it if you're using service endpoints. Enabling public network access for an Elastic SAN allows you to configure public access to individual volume groups in that SAN over storage service endpoints. By default, public access to individual volume groups is denied even if you allow it at the SAN level. If you disable public access at the SAN level, access to the volume groups within that SAN is only available over private endpoints.
42
+
When you create a SAN, you can enable or disable public internet access to your Elastic SAN endpoints at the SAN level. If you're exclusively using private endpoints, disable public network access, only enable it if you're using service endpoints. Enabling public network access for an Elastic SAN allows you to configure public access to individual volume groups in that SAN over storage service endpoints. By default, public access to individual volume groups is denied even if you allow it at the SAN level. If you disable public access at the SAN level, access to the volume groups within that SAN is only available over private endpoints.
43
43
44
44
## Storage service endpoints
45
45
@@ -48,9 +48,9 @@ When you create a SAN, you can enable or disable public internet access to your
48
48
[Cross-region service endpoints for Azure Storage](../common/storage-network-security.md#azure-storage-cross-region-service-endpoints) work between virtual networks and storage service instances in any region. With cross-region service endpoints, subnets no longer use a public IP address to communicate with any storage account, including those in another region. Instead, all the traffic from a subnet to a storage account uses a private IP address as a source IP.
49
49
50
50
> [!TIP]
51
-
> The original local service endpoints, identified as **Microsoft.Storage**, are still supported for backward compatibility, but you should create cross-region endpoints, identified as **Microsoft.Storage.Global**, for new deployments.
51
+
> The original local service endpoints, identified as **Microsoft.Storage**, are supported for backward compatibility, but you should create cross-region endpoints, identified as **Microsoft.Storage.Global**, for new deployments.
52
52
>
53
-
> Cross-region service endpoints and local ones can't coexist on the same subnet. To use cross-region service endpoints, you might have to delete existing **Microsoft.Storage** endpoints and recreate them as **Microsoft.Storage.Global**.
53
+
> 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**.
0 commit comments