Skip to content

Commit 1a1493f

Browse files
Merge pull request #247599 from MJyot/v1-migration
V1 migration
2 parents 7b41976 + 8840042 commit 1a1493f

File tree

1 file changed

+35
-5
lines changed

1 file changed

+35
-5
lines changed

articles/application-gateway/migrate-v1-v2.md

Lines changed: 35 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,20 @@ This article primarily helps with the configuration migration. Client traffic mi
3131
* An existing Application Gateway V1 Standard.
3232
* Make sure you have the latest PowerShell modules, or you can use Azure Cloud Shell in the portal.
3333
* 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.
3437

3538
[!INCLUDE [cloud-shell-try-it.md](../../includes/cloud-shell-try-it.md)]
3639

3740
[!INCLUDE [updated-for-az](../../includes/updated-for-az.md)]
3841

3942
> [!IMPORTANT]
40-
>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+
4148
## Configuration migration
4249

4350
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
4754

4855
## Downloading the script
4956

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+
5159

5260
## Using the script
5361

5462
> [!NOTE]
5563
> 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.
5665
5766
There are two options for you depending on your local PowerShell environment setup and preferences:
5867

@@ -72,9 +81,24 @@ Run the script with the following command to get the latest version:
7281
This command also installs the required Az modules.
7382

7483
#### Install using the script directly
75-
7684
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).
7785

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+
78102
#### How to run the script
79103

80104
To run the script:
@@ -101,6 +125,8 @@ To run the script:
101125
-publicIpResourceId <public IP name string>
102126
-validateMigration -enableAutoScale
103127
```
128+
> [!NOTE]
129+
> During migration don't attempt any other operation on the V1 gateway or any of its associated resources.
104130
105131
Parameters for the script:
106132
* **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:
113139
```
114140
115141
* **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.
117143
* **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.
118146
* **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.
119147
120148
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:
164192
165193
To create a list of PSApplicationGatewayTrustedRootCertificate objects, see [New-AzApplicationGatewayTrustedRootCertificate](/powershell/module/Az.Network/New-AzApplicationGatewayTrustedRootCertificate).
166194
* **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+
168198
* **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.
169199
* **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.
170200

0 commit comments

Comments
 (0)