- Hardeep Bains
Step by Step Instructions on 'Creating an Express Route Circuit'

So you have been asked to fill in a template or details in a portal by your Network Service Provider. Part of the information they have requested is an S-Key or Service Key. So what do you do and how do you get the information they need.
Pre-Requisites
The first thing to do is download the latest version of Azure PowerShell. You can get the latest version via the Microsoft Web Platform Installer, available here.
You can then run the following 2 commands in Azure PowerShell to import all the latest modules for Azure and Express route:
Import-Module 'C:\Program Files (x86)\Microsoft SDKs\Azure\PowerShell\ServiceManagement\Azure\Azure.psd1'
Import-Module 'C:\Program Files (x86)\Microsoft SDKs\Azure\PowerShell\ServiceManagement\Azure\ExpressRoute\ExpressRoute.psd1'
Connect Azure PowerShell to your Azure Subscription
There are various methods by which this can be achieved but I'm only going to write about the way I did it. You can search the net for other methods if you wish and I myself tried some of them but ultimately, the following method worked well for me.
1. Run Azure Powershell as an administrator
2. Type the following command:
Get-AzurePublishSettingsFile
3. This will automatically open your default web browser and prompt you to log into your Azure Management Portal. Once logged in, it takes you to the following page and will automatically download the Subscription File

4. Save the Subscription File to your computer. One important thing to note is that the following command did not work for me when I saved the Subscription File in the Downloads folder. I had to move the file to the root of the C:\ for it to be recognised.
5. Run the following command to connect Azure PowerShell to your Azure Subscription:
Import-AzurePublishSettingsFile C:\<SubscriptionName>-credentials.publishsettings
6. If you have more than one subscription it would be a good idea to run the following command to list them all:
Get-AzureSubscription
7. Then you can set the default subscription that Express Route will be tied to by executing:
Select-AzureSubscription -default <subscriptionName>
Create an Express Route Circuit
Your network provider is who you are most likely going to partner with in creating and configuring the Express Route Cirtcuit. By running the following command you will switch on Express Route but you will need to be careful in deciding what the values are in the command, I'll explain why in a moment.
The command to switch on Express Route is:
New-AzureDedicatedCircuit -CircuitName "<Whatever you want to label the circuit i.e. Company Express Route>" -ServiceProviderName "<Your Service Provider Name i.e. BT" -Bandwidth 200 -Location "London“
The important values in the command above are:
Service Provider Name: This will identify who is providing the circuit and who will bill you.
Bandwidth: My advice would be to start with a lower bandwidth and adjust upwards if required. This is because there could be a significant cost associated with the amount of bandwidth configured for the circuit and although you can increase the bandwidth, you can't decrease without blowing it all away and starting again!!
The remaining values are pretty much arbitrary and your Service Provider will guide you on what to put in them if they feel there is a requirement.
You will see the following output after you have run the command above:

The important part in the output is the S-Key or the Service Key which you will need to provide to your Network Service Provider along with all the Subnets you would like to make available to the Express Route Circuit.
Note in the screenshot above that the ServiceProviderProvisioningState is showing NotProvisioned
You should by now have created a new vNet in Azure for Express Route. You can tick the Express Route box during its creation.
Once your service provider has done their bit, you can check on the status of your Express Route by running the command below:
Get-AzureDedicatedCircuit
You should see that the Express Route Circuit is now provisioned as shown below:

You will need to run the following command to fully link up your Express Route Circuit with your Azure network.
This command tells the system which vNet is associated to Express Route and creates a New Azure Dedicated Circuit Link:
New-AzureDedicatedCircuitlink -ServiceKey "<Service Key>" -VNetName "<vNet Name in Azure>"
Now all you need to confirm is whether this was successful. Run the following command to do this:
Get-AzureBGPPeering -ServiceKey "<Service Key>"
The following snip illustrates the last 2 commands:

Increase the bandwidth for an existing Express Route circuit
This blog would not be complete unless I mentioned how to modify the bandwidth when you decide to increase it.
Run the following PowerShell command to increase the bandwidth to 500 Mbps:
Set-AzureDedicatedCircuitProperties –Servicekey “<Service Key>” –bandwidth 500
The following screenshot illustrates that it has been done

And That is it !!