Skip to content

Latest commit

 

History

History
57 lines (50 loc) · 3.37 KB

README.md

File metadata and controls

57 lines (50 loc) · 3.37 KB

AZ Resiliency

This Repo has 2 files
1.> ResourceSKU.ps1
2.> Check-AzureAZmapping.ps1

1.> Resource SKU information in Azure Region and Avaialbility zones via ResourceSKU.ps1
Usage:
Below command would generate a csv file in the same folder and all the arguments are optional. Please be aware that it would generate a large file depending upon your subscription and organization if you dont pass any arguments to the below command.
PS C:> .\ResourceSKU.ps1 -Targetsubscriptions "SubscriptionID1", "SubscriptionID2" -resourceType "virtualMachines" -skuName "Standard_M128" -location "eastus2"





2.> AZ Peer Mapping information via Check-AzureAZmapping.ps1
Comparing multiple subscriptions as that's how underlying REST API works which will help with a single REST API call for multiple subscriptions instead of calling this in a loop
Prerequisite
This Script calls CheckZonePeers API API and we need to make sure 'AvailabilityZonePeering' feature is registered for the source subscription before using this REST API OR powershell scripts.

PS C:> az feature register -n AvailabilityZonePeering --namespace Microsoft.Resources
Once the feature 'AvailabilityZonePeering' is registered, invoking 'az provider register -n Microsoft.Resources' is required to get the change propagated { "id": "/subscriptions/SubscriptionID1/providers/Microsoft.Features/providers/Microsoft.Resources/features/AvailabilityZonePeering", "name": "Microsoft.Resources/AvailabilityZonePeering", "properties": { "state": "Registering" }, "type": "Microsoft.Features/providers/features" }

You can check the status with the below command,
PS C:> az feature show -n AvailabilityZonePeering --namespace Microsoft.Resources
{ "id": "/subscriptions/SubscriptionID1/providers/Microsoft.Features/providers/Microsoft.Resources/features/AvailabilityZonePeering", "name": "Microsoft.Resources/AvailabilityZonePeering", "properties": { "state": "Registered" }, "type": "Microsoft.Features/providers/features" }

PS C:>az provider register -n Microsoft.Resources

Usage:
PS C:> .\Check-AzureAZmapping.ps1 -Targetsubscriptions SubscriptionID2, SubscriptionID3 -location eastus2 -SourceSubscription SubscriptionID1

This script validates the Availability Zone mapping between two subscriptions Checking: SubscriptionID1 Versus: SubscriptionID2, SubscriptionID3,

AV Zone peering for subscription SubscriptionID1 in eastus2 is:
availabilityZone   peers
==========    ====
1         {@{subscriptionId=SubscriptionID2; availabilityZone=3}, @{subscriptionId=SubscriptionID3; availabilityZone=1}}
2         {@{subscriptionId=SubscriptionID2; availabilityZone=1}, @{subscriptionId=SubscriptionID3; availabilityZone=2}}
3         {@{subscriptionId=SubscriptionID2; availabilityZone=2}, @{subscriptionId=SubscriptionID3; availabilityZone=3}}

NOTE:
These Script is developed on an "as-is" basis and this has not been properply tested. Before using it, please perform your own testing.