If you are just getting started with Azure government, you would have realized by now, that there are a few things which needs to be changed in order to get it working exactly like how it did in Azure Public. To begin with here are a couple of things, I will keep updating this post as and when I stumble upon newer things which needs change in order to work with Azure Government
Azure Government PowerShell
To get started with managing Azure Government using PowerShell, you would need to make a couple of modifications before actually running the Import-AzurePublishingSettings file
- Add-AzureEnvironment -name “AzureGovernment” -PublishSettingsFileUrl “https://manage.windowsazure.us/publishsettings/index?client=xplat” -serviceendpoint “https://management.core.usgovcloudapi.net” -managementportalurl “http://manage.windowsazure.us” -StorageEndpoint “core.usgovcloudapi.net”
- Set-AzureEnvironment “AzureGovernment”
- In order to download the publishing settings file, you would need to access the following URL - https://manage.windowsazure.us/publishsettings/index?client=xplat
- Once you have run the first two commands and downloaded the publishing settings file, you should be good to run the Import-AzurePublishingSettings command
Endpoint Mapping
The endpoints are slightly different for Azure Government when compared to Azure Public. Please refer below for the mapping.
SERVICE TYPE | AZURE PUBLIC | AZURE GOVERNMENT |
Management Portal | manage.windowsazure.com | manage.windowsazure.us |
General | *.windows.net | *.usgovcloudapi.net |
Core | *.core.windows.net | *.core.usgovcloudapi.net |
Compute | *.cloudapp.net | *.usgovcloudapp.net |
Blob Storage | *.blob.core.windows.net | *.blob.core.usgovcloudapi.net |
Queue Storage | *.queue.core.windows.net | *.queue.core.usgovcloudapi.net |
Table Storage | *.table.core.windows.net | *.table.core.usgovcloudapi.net |
Service Management | management.core.windows.net | management.core.usgovcloudapi.net |
SQL Database | *.database.windows.net | *.database.usgovcloudapi.net |
For example, when trying to create a Storage context using PowerShell you would add the following switch –EndPoint:
$endpointsuffix = "core.usgovcloudapi.net"
New-AzureStorageContext –StorageAccountName $sourceStorageAcc -StorageAccountKey $sourceStoragKey -Endpoint $endpointsuffix
Azure Media Services in Azure Government
In order to connect to Azure Media Services in Azure Government, the following changes need to be in place. All the below information can be retrieved when you click on Manage Keys under Azure Media Services.
While setting up the credentials:
- _cachedCredentials = new MediaServicesCredentials(
_mediaServicesAccountName,
_mediaServicesAccountKey,
_mediaContextScope,
_acsBaseAddress);- MediaContextScope --> "urn:WindowsAzureMediaServices"
- _acsBaseAddress --> https://ams-usge-0-acs-global-1-1.accesscontrol.usgovcloudapi.net
- _context = new CloudMediaContext(new Uri(_apiServerAddress), _cachedCredentials);
- _apiServerAddress (for Virginia ) --> https://ams-usge-1-hos-rest-1-1.usgovcloudapp.net/API/
- _apiServerAddress (for Iowa) --> https://ams-usgc-1-hos-rest-1-1.usgovcloudapp.net/API/
Please do let me know if you have any questions in the comments section.
Good Luck
Anand Kumar R