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
+42-40Lines changed: 42 additions & 40 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -47,7 +47,7 @@ This article focuses on the configuration stage of migration. Migration of clien
47
47
48
48
- You can't have any other planned operation on the V1 gateway or any associated resources during migration.
49
49
50
-
- If you provide a public IP address, ensure that it's in a succeeded state. If you don't provide a public IP address but provide `AppGWResourceGroupName`, ensure that public IP resource with the name `AppGWV2Name-IP` doesn't exist in a resource group with the name `AppGWResourceGroupName` in the V1 subscription.
50
+
- If you provide a public IP address, ensure that it's in a succeeded state. If you don't provide a public IP address but provide `AppGWResourceGroupName`, ensure that a public IP resource with the name `AppGWV2Name-IP` doesn't exist in a resource group with the name `AppGWResourceGroupName` in the V1 subscription.
51
51
52
52
- For V1, authentication certificates are required to set up TLS connections with backend servers. V2 requires uploading [trusted root certificates](./certificates-for-backend-authentication.md) for the same purpose. Whereas V1 allows the use of self-signed certificates as authentication certificates, V2 mandates [generating and uploading a self-signed root certificate](./self-signed-certificates.md) if self-signed certificates are used in the backend.
53
53
@@ -255,7 +255,7 @@ The legacy script takes the following parameters:
255
255
256
256
-`publicIpResourceId`. Use this optional string to provide the resource ID of an existing public IP address (Standard tier) resource in your subscription that you want to allocate to the new V2 gateway. If you provide the public IP resource name, ensure that it exists in a succeeded state.
257
257
258
-
If you don't specify this parameter, the script allocates a new public IP address in the same resource group. The name is the V2 gateway's name with `-IP` appended. If you provide `AppGWResourceGroupName`wihtout providing a public IP address, ensure that a public IP resource with the name `AppGWV2Name-IP` doesn't exist in a resource group with the name `AppGWResourceGroupName` in the V1 subscription.
258
+
If you don't specify this parameter, the script allocates a new public IP address in the same resource group. The name is the V2 gateway's name with `-IP` appended. If you provide `AppGWResourceGroupName`without providing a public IP address, ensure that a public IP resource with the name `AppGWV2Name-IP` doesn't exist in a resource group with the name `AppGWResourceGroupName` in the V1 subscription.
259
259
260
260
-`validateMigration`. Use this optional switch parameter to enable the script to do some basic configuration comparison validations after the V2 gateway creation and the configuration copy. By default, no validation is done.
261
261
@@ -317,7 +317,7 @@ The legacy script takes the following parameters:
317
317
318
318
-[Virtual network service endpoint policies](../virtual-network/virtual-network-service-endpoint-policies-overview.md) are currently not supported in an Application Gateway subnet.
319
319
320
-
- To migrate a TLS/SSL configuration, you must specify all the TLS/SSL certificatess used in your V1 gateway.
320
+
- To migrate a TLS/SSL configuration, you must specify all the TLS/SSL certificates used in your V1 gateway.
321
321
322
322
- If you have FIPS mode enabled for your V1 gateway, it isn't migrated to your new V2 gateway.
323
323
@@ -384,29 +384,31 @@ For the legacy cloning script, version 1.0.11 is the new version of the migratio
384
384
385
385
### Public IP retention script
386
386
387
-
After successfully migrating the configuration and thoroughly testing your new V2 gateway, this step focuses on redirecting live traffic.
387
+
After you successfully migrate the configuration and thoroughly test your new V2 gateway, this step focuses on redirecting live traffic.
388
388
389
-
We provide an Azure PowerShell script designed to **retain the Public IP address from V1**.
389
+
We provide an Azure PowerShell script that *retains the public IP address from V1*. Here are important considerations about the script:
390
390
391
-
- Swaps Public IP: This script reserves the Basic public IP from V1, converts it to Standard, and attaches it to the V2 gateway. This effectively redirects all incoming traffic to the V2 gateway.
392
-
- Expected Downtime: This IP swap operation typically results in a brief **downtime of approximately one to five minutes**. Plan accordingly.
393
-
- After a successful script run, the Public IP is moved from Application Gateway V1 to Application Gateway V2, with Application Gateway V1 receiving a new public IP.
391
+
- The script reserves the Basic public IP from V1, converts it to Standard, and attaches it to the V2 gateway. This action effectively redirects all incoming traffic to the V2 gateway.
392
+
- This IP swap operation typically results in a brief *downtime of approximately one to five minutes*. Plan accordingly.
393
+
- After a successful script run, the public IP is moved from Application Gateway V1 to Application Gateway V2. Application Gateway V1 receives a new public IP.
394
+
- During IP migration, don't attempt any other operation on the V1 and V2 gateways or any associated resources.
395
+
- The public IP swap that this script performs is irreversible. After you initiate it, you can't revert the IP to the V1 gateway by using the script.
394
396
395
397
> [!NOTE]
396
-
> The IP migration script does not support Public IP address resources that have a DNS name beginning with a numeric character. This limitation exists because Public IP address resources do not allow DNS name labels that start with a number. This issue is more likely to occur for V1 gateways **created before May 2023**, when Public IP addresses were automatically assigned a default DNS name of the form **{GUID}.cloudapp.net**.
398
+
> The IP migration script does not support public IP address resources that have a DNS name beginning with a numeric character. This limitation exists because public IP address resources don't allow DNS name labels that start with a number. This issue is more likely to occur for V1 gateways *created before May 2023*, when public IP addresses were automatically assigned a default DNS name of the form `{GUID}.cloudapp.net`.
397
399
>
398
-
> To proceed with migration, update the Public IP address resource to use a DNS name label that begins with a letter before running the script. [Learn about configuring Public IP DNS](../virtual-network/ip-services/public-ip-addresses.md#domain-name-label).
400
+
> To proceed with migration, update the public IP address resource to use a DNS name label that begins with a letter before running the script. [Learn about configuring public IP DNS](../virtual-network/ip-services/public-ip-addresses.md#domain-name-label).
399
401
400
-
You can **download** this Public IP retention script from the [PowerShell Gallery](https://www.powershellgallery.com/packages/AzureAppGWIPMigrate)
402
+
You can download this public IP retention script from the [PowerShell Gallery](https://www.powershellgallery.com/packages/AzureAppGWIPMigrate).
401
403
402
404
#### Parameters for the script
403
405
404
406
This script requires the following mandatory parameters:
405
407
406
-
- `v1resourceId`. The resource ID of the V1 Application Gateway whose Public IP will be reserved and associated with V2.
407
-
- `v2resourceId`. The resource ID of the V2 Application Gateway to which the V1 Public IP will be assigned. The V2 gateway can be created either manually or using anyone of the cloning script.
408
+
- `v1resourceId`. The resource ID of the V1 gateway whose Public IP will be reserved and associated with V2.
409
+
- `v2resourceId`. The resource ID of the V2 gateway to which the V1 public IP will be assigned. You can create the V2 gateway manually or by using any one of the cloning scripts.
408
410
409
-
After downloading and [installing the script](../application-gateway/migrate-v1-v2.md#installing-the-script), execute AzureAppGWIPMigrate.ps1 with the required parameters:
411
+
After you download and [install the script](../application-gateway/migrate-v1-v2.md#installing-the-script), run `AzureAppGWIPMigrate.ps1` with the required parameters:
After the IP swap completes, verify control plane and data plane operations on the V2 gateway. All control plane actions except Delete are disabled on the V1 gateway.
426
-
427
-
> [!NOTE]
428
-
> During IP migration, don't attempt any other operation on the V1 & V2 gateway or any associated resources.
429
-
430
-
> [!NOTE]
431
-
> The public IP swap performed by this script is irreversible. Once initiated, it isn't possible to revert the IP back to the V1 gateway using the script.
427
+
After the IP swap finishes, verify control plane and data plane operations on the V2 gateway. All control plane actions except deletion are disabled on the V1 gateway.
432
428
433
429
### Traffic migration recommendations
434
430
435
-
The following are a few scenarios where your current application gateway (Standard) can receive client traffic, and our recommendations for each one:
431
+
The following items are a few scenarios where your current application gateway (Standard) can receive client traffic, and our recommendations for each one:
436
432
437
-
-**A custom DNS zone (for example, contoso.com) that points to the frontend IP address (using an A record) associated with your Standard V1 or Web Application Firewall V1 gateway**.
433
+
-**A custom DNS zone (for example, contoso.com) points to the frontend IP address (by using an A record) associated with your Standard V1 or Web Application Firewall V1 gateway**.
438
434
439
-
You can update your DNS record to point to the frontend IP or DNS label associated with your Standard_V2 application gateway. Depending on the TTL configured on your DNS record, it can take a while for all your client traffic to migrate to your new V2 gateway.
435
+
You can update your DNS record to point to the frontend IP or DNS label associated with your Standard V2 application gateway. Depending on the time to live (TTL) configured on your DNS record, it can take a while for all your client traffic to migrate to your new V2 gateway.
440
436
441
-
-**A custom DNS zone (for example, contoso.com) that points to the DNS label (for example: *myappgw.eastus.cloudapp.azure.com* using a CNAME record) associated with your V1 gateway**.
437
+
-**A custom DNS zone (for example, contoso.com) points to the DNS label (for example, myappgw.eastus.cloudapp.azure.com by using a CNAME record) associated with your V1 gateway**.
442
438
443
439
You have two choices:
444
440
445
-
- If you use public IP addresses on your application gateway, you can do a controlled, granular migration using a Traffic Manager profile to incrementally route traffic (weighted traffic routing method) to the new V2 gateway.
441
+
- If you use public IP addresses on your application gateway, you can do a controlled, granular migration by using an Azure Traffic Manager profile to incrementally route traffic to the new V2 gateway.
446
442
447
-
You can do this by adding the DNS labels of both the V1 and V2 application gateways to the [Traffic Manager profile](../traffic-manager/traffic-manager-routing-methods.md#weighted-traffic-routing-method), and CNAMEing your custom DNS record (for example, `www.contoso.com`) to the Traffic Manager domain (for example, contoso.trafficmanager.net).
443
+
You can use this weighted traffic-routing method by adding the DNS labels of both the V1 and V2 application gateways to the [Traffic Manager profile](../traffic-manager/traffic-manager-routing-methods.md#weighted-traffic-routing-method). Then, apply CNAME on your custom DNS record (for example, `www.contoso.com`) to the Traffic Manager domain (for example, `contoso.trafficmanager.net`).
448
444
449
-
-Or, you can update your custom domain DNS record to point to the DNS label of the new V2 application gateway. Depending on the TTL configured on your DNS record, it can take a while for all your client traffic to migrate to your new V2 gateway.
445
+
-You can update your custom domain DNS record to point to the DNS label of the new V2 application gateway. Depending on the TTL configured on your DNS record, it can take a while for all your client traffic to migrate to your new V2 gateway.
450
446
451
447
-**Your clients connect to the frontend IP address of your application gateway**.
452
448
453
-
Update your clients to use the IP address associated with the newly created V2 application gateway. We recommend that you don't use IP addresses directly. Consider using the DNS name label (for example, yourgateway.eastus.cloudapp.azure.com) associated with your application gateway that you can CNAME to your own custom DNS zone (for example, contoso.com).
449
+
Update your clients to use the IP address associated with the newly created V2 application gateway. We recommend that you don't use IP addresses directly. Consider using the DNS name label (for example, `yourgateway.eastus.cloudapp.azure.com`) associated with your application gateway that you can apply CNAME to your own custom DNS zone (for example, `contoso.com`).
454
450
455
451
## Post-migration tasks
456
452
457
453
After traffic migration succeeds and you fully verify that the application runs correctly through the V2 gateway, you can safely decommission and delete the old V1 Application Gateway resource to avoid unnecessary costs.
458
454
459
455
## Pricing considerations
460
456
461
-
The pricing models are different for Application Gateway V1 and V2. V2 is charged based on consumption. See [Application Gateway pricing](https://azure.microsoft.com/pricing/details/application-gateway/) before migrating for pricing information.
457
+
The pricing models are different for Application Gateway V1 and V2. V2 is charged based on consumption. For pricing information, see [Application Gateway pricing](https://azure.microsoft.com/pricing/details/application-gateway/) before you migrate.
462
458
463
459
### Cost-efficiency guidance
464
460
465
-
Application Gateway V2 comes with a range of advantages such as a performance boost of 5x, improved security with Key Vault integration, faster updates of security rules in Web Application Firewall V2, Web Application Firewall Custom rules, Policy associations, and Bot protection. It also offers high scalability, optimized traffic routing, and seamless integration with Azure services. These features can improve the overall user experience, prevent slowdowns during times of heavy traffic, and avoid expensive data breaches.
461
+
Application Gateway V2 comes with a range of advantages, such as:
462
+
463
+
- A performance boost of 5x.
464
+
- Improved security with Key Vault integration.
465
+
- Faster updates of security rules in Web Application Firewall V2.
466
+
- Web Application Firewall custom rules.
467
+
- Policy associations.
468
+
- Bot protection.
466
469
467
-
There are five variants available in V1 based on the Tier and Size - Standard Small, Standard Medium, Standard Large, Web Application Firewall Medium, and Web Application Firewall Large.
470
+
It also offers high scalability, optimized traffic routing, and seamless integration with Azure services. These features can improve the overall user experience, prevent slowdowns during times of heavy traffic, and avoid expensive data breaches.
Five variants are available in V1, based on the tier and size: Standard Small, Standard Medium, Standard Large, Web Application Firewall Medium, and Web Application Firewall Large. For pricing information according to your region, see the [pricing page](https://azure.microsoft.com/pricing/details/application-gateway/).
473
+
474
+
The scenarios in the following table are examples and are for illustration purposes only. The calculations are based on East US and for a gateway with two instances in V1. The variable cost in V2 is based on one of the three dimensions with highest usage: new connections (50 per second), persistent connections (2,500 per minute), and throughput (2.22 Mbps per capacity unit).
| Standard Medium | 102.2 | 179.8 | V2 can handle a larger number of requests than a V1 gateway, so we recommend consolidating multiple V1 gateways into a single V2 gateway, to optimize the cost. Ensure that consolidation doesn't exceed the Application Gateway [limits](../azure-resource-manager/management/azure-subscription-service-limits.md#azure-application-gateway-limits). We recommend 3:1 consolidation. |
472
479
| Web Application Firewall Medium | 183.96 | 262.8 | Same as for Standard Medium |
473
480
| Standard Large | 467.2 | 179.58 | For these variants, in most cases, moving to a V2 gateway can provide you with a better price benefit compared to V1. |
474
-
| Web Application Firewall Large | 654.08 | 262.8 | Same as for Standard Large |
475
-
476
-
> [!NOTE]
477
-
> The calculations shown here are based on East US and for a gateway with two instances in V1. The variable cost in V2 is based on one of the three dimensions with highest usage: New connections (50/sec), Persistent connections (2500 persistent connections/min), Throughput (one CU can handle 2.22 Mbps).
478
-
>
479
-
> The scenarios described here are examples and are for illustration purposes only. For pricing information according to your region, see the [Pricing page](https://azure.microsoft.com/pricing/details/application-gateway/).
481
+
| Web Application Firewall Large | 654.08 | 262.8 | Same as for Standard Large. |
480
482
481
-
For further concerns regarding the pricing, work with your CSAM or get in touch with our support team for assistance.
483
+
For further concerns regarding the pricing, work with your account manager or get in touch with our support team for assistance.
0 commit comments