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
title: Create a custom IPv6 address prefix - Azure portal
2
+
title: Create a custom IPv6 address prefix
3
3
titleSuffix: Azure Virtual Network
4
-
description: Learn how to onboard a custom IPv6 address prefix using the Azure portal
4
+
description: Learn how to onboard a custom IPv6 address prefix using the Azure portal, Azure CLI, or PowerShell.
5
5
author: mbender-ms
6
6
ms.author: mbender
7
7
ms.service: virtual-network
@@ -10,7 +10,7 @@ ms.topic: how-to
10
10
ms.date: 08/24/2023
11
11
---
12
12
13
-
# Create a custom IPv6 address prefix using the Azure portal
13
+
# Create a custom IPv6 address prefix
14
14
15
15
A custom IPv6 address prefix enables you to bring your own IPv6 ranges to Microsoft and associate it to your Azure subscription. The range would continue to be owned by you, though Microsoft would be permitted to advertise it to the Internet. A custom IP address prefix functions as a regional resource that represents a contiguous block of customer owned IP addresses.
16
16
@@ -20,24 +20,39 @@ The steps in this article detail the process to:
20
20
21
21
* Provision the range for IP allocation
22
22
23
-
* Enable the range to be advertised by Microsoft
23
+
* Enable the IPv6 range to be advertised by Microsoft
24
24
25
-
## Differences between using BYOIPv4 and BYOIPv6
25
+
For this article, choose between the Azure portal, Azure CLI, or PowerShell to create a custom IPv6 address prefix.
26
26
27
-
> [!IMPORTANT]
28
-
> Onboarded custom IPv6 address prefixes have several unique attributes which make them different than custom IPv4 address prefixes.
* Custom IPv6 prefixes use a *parent*/*child* model. In this model, the Microsoft Wide Area Network (WAN) advertises the global (parent) range, and the respective Azure regions advertise the regional (child) ranges. Global ranges must be /48 in size, while regional ranges must always be /64 size. You can have multiple /64 ranges per region.
31
+
# [Azure portal](#tab/azureportal)
31
32
32
-
* Only the global range needs to be validated using the steps detailed in the [Create Custom IP Address Prefix](create-custom-ip-address-prefix-portal.md) articles. The regional ranges are derived from the global range in a similar manner to the way public IP prefixes are derived from custom IP prefixes.
33
+
- An Azure account with an active subscription. [Create an account for free](https://azure.microsoft.com/free/?WT.mc_id=A261C142F).
34
+
- A customer owned IPv6 range to provision in Azure. A sample customer range (2a05:f500:2::/48) is used for this example, but wouldn't be validated by Azure; you need to replace the example range with yours.
33
35
34
-
* Public IPv6 prefixes must be derived from the regional ranges. Only the first 2048 IPv6 addresses of each regional /64 custom IP prefix can be utilized as valid IPv6 space. Attempting to create public IPv6 prefixes that span beyond this will result in an error.
36
+
# [Azure CLI](#tab/azurecli/)
35
37
36
-
## Prerequisites
38
+
- An Azure account with an active subscription. [Create an account for free](https://azure.microsoft.com/free/?WT.mc_id=A261C142F).
39
+
- This tutorial requires version 2.37 or later of the Azure CLI (you can run az version to determine which you have). If using Azure Cloud Shell, the latest version is already installed.
40
+
- Sign in to Azure CLI and ensure you've selected the subscription with which you want to use this feature using `az account`.
41
+
- A customer owned IPv6 range to provision in Azure.
42
+
- In this example, a sample customer range (2a05:f500:2::/48) is used. This range won't be validated by Azure. Replace the example range with yours.
43
+
44
+
# [Azure PowerShell](#tab/azurepowershell/)
37
45
38
46
- An Azure account with an active subscription. [Create an account for free](https://azure.microsoft.com/free/?WT.mc_id=A261C142F).
47
+
- Azure PowerShell installed locally or Azure Cloud Shell.
48
+
- Sign in to Azure PowerShell and ensure you've selected the subscription with which you want to use this feature. For more information, see [Sign in with Azure PowerShell](/powershell/azure/authenticate-azureps).
49
+
- Ensure your Az.Network module is 5.1.1 or later. To verify the installed module, use the command `Get-InstalledModule -Name "Az.Network"`. If the module requires an update, use the command `Update-Module -Name "Az.Network"` if necessary.
39
50
- A customer owned IPv6 range to provision in Azure. A sample customer range (2a05:f500:2::/48) is used for this example, but wouldn't be validated by Azure; you need to replace the example range with yours.
40
51
52
+
If you choose to install and use PowerShell locally, this article requires the Azure PowerShell module version 5.4.1 or later. Run `Get-Module -ListAvailable Az` to find the installed version. If you need to upgrade, see [Install Azure PowerShell module](/powershell/azure/install-azure-powershell). If you're running PowerShell locally, you also need to run `Connect-AzAccount` to create a connection with Azure
53
+
54
+
---
55
+
41
56
> [!NOTE]
42
57
> For problems encountered during the provisioning process, please see [Troubleshooting for custom IP prefix](manage-custom-ip-address-prefix.md#troubleshooting-and-faqs).
43
58
@@ -52,6 +67,8 @@ The following steps display the modified steps for provisioning a sample global
52
67
> [!NOTE]
53
68
> Clean up or delete steps aren't shown on this page given the nature of the resource. For information on removing a provisioned custom IP prefix, see [Manage custom IP prefix](manage-custom-ip-address-prefix.md).
54
69
70
+
# [Azure portal](#tab/azureportal)
71
+
55
72
### Provision a global custom IPv6 address prefix
56
73
57
74
The following flow creates a custom IP prefix in the specified region and resource group. No zonal properties are provided because the global range isn't associated with any particular region (and therefore no regional availability zones).
@@ -151,12 +168,180 @@ It's possible to commission the global custom IPv6 prefix prior to the regional
151
168
> [!IMPORTANT]
152
169
> As the global custom IPv6 prefix transitions to a **Commissioned** state, the range is being advertised with Microsoft from the local Azure region and globally to the Internet by Microsoft's wide area network under Autonomous System Number (ASN) 8075. Advertising this same range to the Internet from a location other than Microsoft at the same time could potentially create BGP routing instability or traffic loss. For example, a customer on-premises building. Plan any migration of an active range during a maintenance period to avoid impact.
153
170
171
+
# [Azure CLI](#tab/azurecli/)
172
+
173
+
### Create a resource group and specify the prefix and authorization messages
174
+
175
+
Create a resource group in the desired location for provisioning the global range resource.
176
+
177
+
> [!IMPORTANT]
178
+
> Although the resource for the global range will be associated with a region, the prefix will be advertised by the Microsoft WAN globally.
179
+
180
+
```azurecli-interactive
181
+
az group create \
182
+
--name myResourceGroup \
183
+
--location westus2
184
+
```
185
+
186
+
### Provision a global custom IPv6 address prefix
187
+
188
+
The following command creates a custom IP prefix in the specified region and resource group. Specify the exact prefix in CIDR notation as a string to ensure there's no syntax error. (The `-authorization-message` and `-signed-message` parameters are constructed in the same manner as they are for IPv4; for more information, see [Create a custom IP prefix - CLI](create-custom-ip-address-prefix-cli.md).) No zonal properties are provided because the global range isn't associated with any particular region (and therefore no regional availability zones).
### Provision a regional custom IPv6 address prefix
203
+
204
+
After the global custom IP prefix is in a **Provisioned** state, regional custom IP prefixes can be created. These ranges must always be of size /64 to be considered valid. The ranges can be created in any region (it doesn't need to be the same as the global custom IP prefix), keeping in mind any geolocation restrictions associated with the original global range. The *children* custom IP prefixes are advertised locally from the region they're created in. Because the validation is only done for global custom IP prefix provision, no Authorization or Signed message is required. (Because these ranges are advertised from a specific region, zones can be utilized.)
205
+
206
+
```azurecli-interactive
207
+
az network custom-ip prefix create \
208
+
--name myCustomIPv6RegionalPrefix \
209
+
--resource-group myResourceGroup \
210
+
--location westus2 \
211
+
--cidr ‘2a05:f500:2:1::/64’ \
212
+
--zone 1 2 3
213
+
```
214
+
215
+
Similar to IPv4 custom IP prefixes, after the regional custom IP prefix is in a **Provisioned** state, public IP prefixes can be derived from the regional custom IP prefix. These public IP prefixes and any public IP addresses derived from them can be attached to networking resources, though they aren't yet being advertised.
216
+
217
+
> [!IMPORTANT]
218
+
> Public IPv6 prefixes derived from regional custom IPv6 prefixes can only utilize the first 2048 IPs of the /64 range.
219
+
220
+
## Commission the custom IPv6 address prefixes
221
+
222
+
When commissioning custom IPv6 prefixes, the global and regional prefixes are treated separately. In other words, commissioning a regional custom IPv6 prefix isn't connected to commissioning the global custom IPv6 prefix.
223
+
224
+
:::image type="content" source="./media/create-custom-ip-address-prefix-ipv6/any-region-prefix.png" alt-text="Diagram of custom IPv6 prefix showing parent prefix and child prefixes across multiple regions.":::
225
+
226
+
The safest strategy for range migrations is as follows:
227
+
1. Provision all required regional custom IPv6 prefixes in their respective regions. Create public IPv6 prefixes and public IP addresses and attach to resources.
228
+
2. Commission each regional custom IPv6 prefix and test connectivity to the IPs within the region. Repeat for each regional custom IPv6 prefix.
229
+
3. After all regional custom IPv6 prefixes (and derived prefixes/IPs) have been verified to work as expected, commission the global custom IPv6 prefix, which will advertise the larger range to the Internet.
230
+
231
+
Using the example ranges above, the command sequence would be:
232
+
233
+
```azurecli-interactive
234
+
az network custom-ip prefix update \
235
+
--name myCustomIPv6GlobalPrefix \
236
+
--resource-group myResourceGroup \
237
+
--state commission
238
+
```
239
+
240
+
Followed by:
241
+
242
+
```azurecli-interactive
243
+
az network custom-ip prefix update \
244
+
--name myCustomIPv6RegionalPrefix \
245
+
--resource-group myResourceGroup \
246
+
--state commission
247
+
```
248
+
249
+
> [!NOTE]
250
+
> The estimated time to fully complete the commissioning process for a custom IPv6 global prefix is 3-4 hours. The estimated time to fully complete the commissioning process for a custom IPv6 regional prefix is 30 minutes.
251
+
252
+
It's possible to commission the global custom IPv6 prefix prior to the regional custom IPv6 prefixes. Doing this advertises the global range to the Internet before the regional prefixes are ready so it's not recommended for migrations of active ranges. You can decommission a global custom IPv6 prefix while there are still active (commissioned) regional custom IPv6 prefixes. Also, you can decommission a regional custom IP prefix while the global prefix is still active (commissioned).
253
+
254
+
> [!IMPORTANT]
255
+
> As the global custom IPv6 prefix transitions to a **Commissioned** state, the range is being advertised with Microsoft from the local Azure region and globally to the Internet by Microsoft's wide area network under Autonomous System Number (ASN) 8075. Advertising this same range to the Internet from a location other than Microsoft at the same time could potentially create BGP routing instability or traffic loss. For example, a customer on-premises building. Plan any migration of an active range during a maintenance period to avoid impact.
256
+
257
+
258
+
# [Azure PowerShell](#tab/azurepowershell/)
259
+
260
+
### Create a resource group and specify the prefix and authorization messages
261
+
262
+
Create a resource group in the desired location for provisioning the global range resource.
263
+
264
+
> [!IMPORTANT]
265
+
> Although the resource for the global range will be associated with a region, the prefix will be advertised by the Microsoft WAN globally.
266
+
267
+
```azurepowershell-interactive
268
+
$rg =@{
269
+
Name = 'myResourceGroup'
270
+
Location = 'WestUS2'
271
+
}
272
+
New-AzResourceGroup @rg
273
+
```
274
+
275
+
### Provision a global custom IPv6 address prefix
276
+
277
+
The following command creates a custom IP prefix in the specified region and resource group. Specify the exact prefix in CIDR notation as a string to ensure there's no syntax error. (The `-AuthorizationMessage` and `-SignedMessage` parameters are constructed in the same manner as they are for IPv4; for more information, see [Create a custom IP prefix - PowerShell](create-custom-ip-address-prefix-powershell.md).) No zonal properties are provided because the global range isn't associated with any particular region (and therefore no regional availability zones).
### Provision a regional custom IPv6 address prefix
292
+
293
+
After the global custom IP prefix is in a **Provisioned** state, regional custom IP prefixes can be created. These ranges must always be of size /64 to be considered valid. The ranges can be created in any region (it doesn't need to be the same as the global custom IP prefix), keeping in mind any geolocation restrictions associated with the original global range. The "children" custom IP prefixes will be advertised locally from the region they're created in. Because the validation is only done for global custom IP prefix provision, no Authorization or Signed message is required. (Because these ranges will be advertised from a specific region, zones can be utilized.)
Similar to IPv4 custom IP prefixes, after the regional custom IP prefix is in a **Provisioned** state, public IP prefixes can be derived from the regional custom IP prefix. These public IP prefixes and any public IP addresses derived from them can be attached to networking resources, though they aren't yet being advertised.
306
+
307
+
> [!IMPORTANT]
308
+
> Public IPv6 prefixes derived from regional custom IPv6 prefixes can only utilize the first 2048 IPs of the /64 range.
309
+
310
+
### Commission the custom IPv6 address prefixes
311
+
312
+
When commissioning custom IPv6 prefixes, the global and regional prefixes are treated separately. In other words, commissioning a regional custom IPv6 prefix isn't connected to commissioning the global custom IPv6 prefix.
313
+
314
+
:::image type="content" source="./media/create-custom-ip-address-prefix-ipv6/any-region-prefix.png" alt-text="Diagram of custom IPv6 prefix showing parent prefix and child prefixes across multiple regions.":::
315
+
316
+
The safest strategy for range migrations is as follows:
317
+
1. Provision all required regional custom IPv6 prefixes in their respective regions. Create public IPv6 prefixes and public IP addresses and attach to resources.
318
+
2. Commission each regional custom IPv6 prefix and test connectivity to the IPs within the region. Repeat for each regional custom IPv6 prefix.
319
+
3. After all regional custom IPv6 prefixes (and derived prefixes/IPs) have been verified to work as expected, commission the global custom IPv6 prefix, which will advertise the larger range to the Internet.
320
+
321
+
Using the example ranges above, the command sequence would be:
> The estimated time to fully complete the commissioning process for a custom IPv6 global prefix is 3-4 hours. The estimated time to fully complete the commissioning process for a custom IPv6 regional prefix is 30 minutes.
333
+
334
+
It's possible to commission the global custom IPv6 prefix prior to the regional custom IPv6 prefixes. Doing this advertises the global range to the Internet before the regional prefixes are ready so it's not recommended for migrations of active ranges. You can decommission a global custom IPv6 prefix while there are still active (commissioned) regional custom IPv6 prefixes. Also, you can decommission a regional custom IP prefix while the global prefix is still active (commissioned).
335
+
336
+
> [!IMPORTANT]
337
+
> As the global custom IPv6 prefix transitions to a **Commissioned** state, the range is being advertised with Microsoft from the local Azure region and globally to the Internet by Microsoft's wide area network under Autonomous System Number (ASN) 8075. Advertising this same range to the Internet from a location other than Microsoft at the same time could potentially create BGP routing instability or traffic loss. For example, a customer on-premises building. Plan any migration of an active range during a maintenance period to avoid impact.
338
+
339
+
---
340
+
154
341
## Next steps
155
342
156
343
- To learn about scenarios and benefits of using a custom IP prefix, see [Custom IP address prefix (BYOIP)](custom-ip-address-prefix.md).
157
344
158
345
- For more information on managing a custom IP prefix, see [Manage a custom IP address prefix (BYOIP)](manage-custom-ip-address-prefix.md).
159
346
160
-
- To create a custom IP address prefix using the Azure CLI, see [Create custom IP address prefix using the Azure CLI](create-custom-ip-address-prefix-cli.md).
161
-
162
-
- To create a custom IP address prefix using PowerShell, see [Create a custom IP address prefix using Azure PowerShell](create-custom-ip-address-prefix-powershell.md).
347
+
- To create a custom IP address prefix using the Azure portal, Azure CLI or Azure PowerShell, see [Create custom IP address prefix](create-custom-ip-address-prefix-portal.md).
Copy file name to clipboardExpand all lines: articles/virtual-network/ip-services/create-custom-ip-address-prefix-ipv6-powershell.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -49,7 +49,7 @@ If you choose to install and use PowerShell locally, this article requires the A
49
49
50
50
## Pre-provisioning steps
51
51
52
-
To utilize the Azure BYOIP feature, you must perform and number of steps prior to the provisioning of your IPv6 address range. Refer to the [IPv4 instructions](create-custom-ip-address-prefix-powershell.md#pre-provisioning-steps) for details. Note all these steps should be completed for the IPv6 global (parent) range.
52
+
To utilize the Azure BYOIP feature, you must perform and number of steps prior to the provisioning of your IPv6 address range. Refer to the [IPv4 instructions](./create-custom-ip-address-prefix-ipv6-portal.md#pre-provisioning-steps) for details. Note all these steps should be completed for the IPv6 global (parent) range.
0 commit comments