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
Copy file name to clipboardExpand all lines: articles/application-gateway/migrate-v1-v2.md
+35-5Lines changed: 35 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -31,13 +31,20 @@ This article primarily helps with the configuration migration. Client traffic mi
31
31
* An existing Application Gateway V1 Standard.
32
32
* Make sure you have the latest PowerShell modules, or you can use Azure Cloud Shell in the portal.
33
33
* If you're running PowerShell locally, you also need to run `Connect-AzAccount` to create a connection with Azure.
34
+
* Ensure that there is no existing Application gateway with the provided Appgw V2 Name and Resource group name in V1 subscription. This will rewrite the existing resources.
35
+
* If Public IP is provided ensure that its in succeeded state.If not provided and AppGwResourceGroupName is provided ensure that public IP resource with name AppGwV2Name-IP doesn’t exist in a resourcegroup with the name AppGwResourceGroupName in the V1 subscription.
36
+
* Ensure that no other operation is planned on the V1 gateway or any of its associated resources during migration.
>Run the `Set-AzContext -Subscription <V1 application gateway SubscriptionId>` cmdlet every time before running the migration script. This is necessary to set the active Azure context to the correct subscription, because the migration script might clean up the existing resource group if it doesn't exist in current subscription context.
43
+
>FRun the `Set-AzContext -Subscription <V1 application gateway SubscriptionId>` cmdlet every time before running the migration script. This is necessary to set the active Azure context to the correct subscription, because the migration script might clean up the existing resource group if it doesn't exist in current subscription context.This is not a mandatory step for version 1.0.11 & above of the migration script.
44
+
45
+
> [!IMPORTANT]
46
+
>A new stable version of the migration script , version 1.0.11 is available now , which contains important bug fixes and updates.Use this version to avoid potential issues.
47
+
41
48
## Configuration migration
42
49
43
50
An Azure PowerShell script is provided in this document. It performs the following operations to help you with the configuration:
@@ -47,12 +54,14 @@ An Azure PowerShell script is provided in this document. It performs the followi
47
54
48
55
## Downloading the script
49
56
50
-
You can download the migration script from the [PowerShell Gallery](https://www.powershellgallery.com/packages/AzureAppGWMigration).
57
+
You can download the migration script from the [PowerShell Gallery](https://www.powershellgallery.com/packages/AzureAppGWMigration).A new stable release (Version 1.0.11) of the migration script is available ,which includes major updates and bug fixes .It is recommended to use this stable version.
58
+
51
59
52
60
## Using the script
53
61
54
62
> [!NOTE]
55
63
> Run the `Set-AzContext -Subscription <V1 application gateway SubscriptionId>` cmdlet every time before running the migration script. This is necessary to set the active Azure context to the correct subscription, because the migration script might clean up the existing resource group if it doesn't exist in current subscription context.
64
+
> This is not a mandatory step for version 1.0.11 & above of the migration script.
56
65
57
66
There are two options for you depending on your local PowerShell environment setup and preferences:
58
67
@@ -72,9 +81,24 @@ Run the script with the following command to get the latest version:
72
81
This command also installs the required Az modules.
73
82
74
83
#### Install using the script directly
75
-
76
84
If you have some Azure Az modules installed and can't uninstall them (or don't want to uninstall them), you can manually download the script using the **Manual Download** tab in the script download link. The script is downloaded as a raw nupkg file. To install the script from this nupkg file, see [Manual Package Download](/powershell/gallery/how-to/working-with-packages/manual-download).
77
85
86
+
Version 1.0.11 is the new version of the migration script which includes major bug fixes.It is recommended to use this stable version.
87
+
88
+
#### How to check the version of the downloaded script
89
+
To check the version of the downloaded script the steps are as follows:
90
+
* Extract the contents of the NuGet package.
91
+
* Open the .PS1 file in the folder and check the .VERSION on top to confirm the version of the downloaded script
92
+
```
93
+
<#PSScriptInfo
94
+
.VERSION 1.0.10
95
+
.GUID be3b84b4-e9c5-46fb-a050-699c68e16119
96
+
.AUTHOR Microsoft Corporation
97
+
.COMPANYNAME Microsoft Corporation
98
+
.COPYRIGHT Microsoft Corporation. All rights reserved.
99
+
```
100
+
* Make sure to use the latest stable version from [PowerShell Gallery](https://www.powershellgallery.com/packages/AzureAppGWMigration)
101
+
78
102
#### How to run the script
79
103
80
104
To run the script:
@@ -101,6 +125,8 @@ To run the script:
101
125
-publicIpResourceId <public IP name string>
102
126
-validateMigration -enableAutoScale
103
127
```
128
+
> [!NOTE]
129
+
> During migration don't attempt any other operation on the V1 gateway or any of its associated resources.
104
130
105
131
Parameters for the script:
106
132
***resourceId: [String]: Required**: This parameter is the Azure Resource ID for your existing Standard V1 or WAF V1 gateway. To find this string value, navigate to the Azure portal, select your application gateway or WAF resource, and click the **Properties** link for the gateway. The Resource ID is located on that page.
@@ -113,8 +139,10 @@ To run the script:
113
139
```
114
140
115
141
* **subnetAddressRange: [String]: Required**: This parameter is the IP address space that you've allocated (or want to allocate) for a new subnet that contains your new V2 gateway. The address space must be specified in the CIDR notation. For example: 10.0.0.0/24. You don't need to create this subnet in advance but the CIDR needs to be part of the VNET address space. The script creates it for you if it doesn't exist and if it exists, it uses the existing one (make sure the subnet is either empty, contains only V2 Gateway if any, and has enough available IPs).
116
-
* **appgwName: [String]: Optional**. This is a string you specify to use as the name for the new Standard_V2 or WAF_V2 gateway. If this parameter isn't supplied, the name of your existing V1 gateway is used with the suffix *_V2* appended.
142
+
* **appgwName: [String]: Optional**. This is a string you specify to use as the name for the new Standard_V2 or WAF_V2 gateway. If this parameter isn't supplied, the name of your existing V1 gateway is used with the suffix *_V2* appended.
117
143
* **AppGwResourceGroupName: [String]: Optional**. Name of resource group where you want V2 Application Gateway resources to be created (default value is `<V1-app-gw-rgname>`)
144
+
> [!NOTE]
145
+
> Ensure that there is no existing Application gateway with the provided Appgw V2 Name and Resource group name in V1 subscription. This will rewrite the existing resources.
118
146
* **sslCertificates: [PSApplicationGatewaySslCertificate]: Optional**. A comma-separated list of PSApplicationGatewaySslCertificate objects that you create to represent the TLS/SSL certs from your V1 gateway must be uploaded to the new V2 gateway. For each of your TLS/SSL certs configured for your Standard V1 or WAF V1 gateway, you can create a new PSApplicationGatewaySslCertificate object via the `New-AzApplicationGatewaySslCertificate` command shown here. You need the path to your TLS/SSL Cert file and the password.
119
147
120
148
This parameter is only optional if you don't have HTTPS listeners configured for your V1 gateway or WAF. If you have at least one HTTPS listener setup, you must specify this parameter.
@@ -164,7 +192,9 @@ To run the script:
164
192
165
193
To create a list of PSApplicationGatewayTrustedRootCertificate objects, see [New-AzApplicationGatewayTrustedRootCertificate](/powershell/module/Az.Network/New-AzApplicationGatewayTrustedRootCertificate).
166
194
* **privateIpAddress: [String]: Optional**. A specific private IP address that you want to associate to your new V2 gateway. This must be from the same VNet that you allocate for your new V2 gateway. If this isn't specified, the script allocates a private IP address for your V2 gateway.
167
-
* **publicIpResourceId: [String]: Optional**. The resourceId of existing public IP address (standard SKU) resource in your subscription that you want to allocate to the new V2 gateway. If this isn't specified, the script allocates a new public IP in the same resource group. The name is the V2 gateway's name with *-IP* appended.
195
+
* **publicIpResourceId: [String]: Optional**. The resourceId of existing public IP address (standard SKU) resource in your subscription that you want to allocate to the new V2 gateway.If public Ip resource name is provided, ensure that it exists in succeeded state.
196
+
If this isn't specified, the script allocates a new public IP in the same resource group. The name is the V2 gateway's name with *-IP* appended.If AppGwResourceGroupName is provided and public IP is not provided ensure that public IP resource with name AppGwV2Name-IP doesn’t exist in a resourcegroup with the name AppGwResourceGroupName in the V1 subscription
197
+
168
198
* **validateMigration: [switch]: Optional**. Use this parameter if you want the script to do some basic configuration comparison validations after the V2 gateway creation and the configuration copy. By default, no validation is done.
169
199
* **enableAutoScale: [switch]: Optional**. Use this parameter if you want the script to enable autoscaling on the new V2 gateway after it's created. By default, autoscaling is disabled. You can always manually enable it later on the newly created V2 gateway.
0 commit comments