Microsoft Azure ExpressRoute: Resolving a Frustrating Setup Conflict

ExpressRoute: creating a private connection to the cloud

Over at my day job, we’ve been Microsoft Azure customers now for coming up to three years, and during this time it has generally been a positive experience.  Recently we decided that, with our increased demand on cloud services, we needed to upgrade from our Internet VPN connection to a dedicated private connection using Azure’s ExpressRoute. ExpressRoute had only recently been released in Singapore.

Having read through Microsoft’s setup process documentation, this seemed like a pretty straight forward process.

We engaged our Exchange Provider, and the required infrastructure was configured in the Partner Location. We were now ready to execute the following tasks:

  1. Import the PowerShell module for ExpressRoute
  2. Get the list of providers, locations, and bandwidths supported
  3. Make a request for a service key and pass it to your exchange provider
  4. Send the Service Key to your exchange provider
  5. Periodically check the status and the state of the circuit key
  6. Configure routing for virtual network
  7. Configure routing for services hosted on public IP addresses
  8. Configure your Virtual Network and Gateway (we configured this activity in advance of the above steps in preparation for the commissioning process)

All the above tasks completed without issues and we launched the final command to execute to link the network to a circuit and…Error Message!
ExpressRoute error message
At this point we suspected that maybe one of the variables was incorrect so we double checked `$ServiceKey` and `$VNetName` to see if a simple typo had caused the error, but alas all was correct.

Troubleshooting our ExpressRoute installation

We then undertook a more detailed visual inspection from the Management Console to make sure that the configuration of our Virtual Network and Gateway cmdlets (`Get-AzureVNetSite` and `Get-AzureVNetConfig | fl`) were correct. This search, too, confirmed that everything was configured correctly.

We then executed:

Get-AzureDedicatedCircuitLink -ServiceKey $ServiceKey -VNetName $VNetName -debug

to get more detailed information about what could be causing the error to isolate:
ExpressRoute output
You will notice that the first couple of lines provide the Subscription ID, and this is where the problem lies. We have multiple subscriptions, and as part of the provisioning process with the Exchange Provider, we provided them with the correct ID. But when we ran the PowerShell Commands there was no variable to define the Subscription ID or Name, nor was any method mentioned in the documentation. Everything worked as expected throughout the process with no indication of potential conflicts until the final step.

To back out of the changes we used the corresponding `Remove- `command for the PowerShell commands that were previously running, working backward from the last the to the first command executed.  The following image is the list of the Express Route PowerShell Commandlets.
ExpressRoute PowerShell Commandlets

Key Takeaway

Before you start provisioning your Express Route setup, open PowerShell and run

Get-AzureSubscription -Current

to make sure you are executing commands against the right subscription.  If you aren’t, you’ll need to change it. Use:

Select-AzureSubscription -Current -SubscriptionName "subscription name"

It’s really a simple oversight, but if you have multiple subscriptions, it is one that could be the source of some frustration. Once corrected, the process ran smoothly without any further errors and all is now working well.

Avatar

Written by

David Robinson


Related Posts

Alisha Reyes
Alisha Reyes
— March 17, 2020

Cloud Academy’s Blog Digest: How Do AWS Certifications Increase Your Employability, How to Become a Microsoft Certified Azure Data Engineer, and more

With everything going on right now, it's likely that the only thing you've been reading lately is related to the coronavirus pandemic. It's important to stay informed during these times, but it's also good to jump into something that can take your mind off of the current situation for j...

Read more
  • AWS
  • Azure
  • blog digest
  • Certifications
  • Cloud Academy
  • programming
  • Security
Avatar
Cloud Academy Team
— March 13, 2020

Which Certifications Should I Get?

As we mentioned in an earlier post, the old AWS slogan, “Cloud is the new normal” is indeed a reality today. Really, cloud has been the new normal for a while now and getting credentials has become an increasingly effective way to quickly showcase your abilities to recruiters and compan...

Read more
  • AWS
  • Azure
  • Certifications
  • Cloud Computing
  • Google Cloud Platform
Avatar
Guy Hummel
— March 10, 2020

How to Become a Microsoft Certified Azure Data Engineer

Data engineering is one of the most sought-after skills in the job market. According to a 2019 Dice.com report, there was an 88% year-over-year growth in job postings for data engineers, which was the highest growth rate among all technology jobs. If you want to become a data enginee...

Read more
  • Azure
  • Data Engineer
  • DP-200
  • DP-201
  • Microsoft
Alisha Reyes
Alisha Reyes
— March 7, 2020

New on Cloud Academy: Intro to GitOps; AWS Courses; Java, Python, Amazon Linux 2, Ubuntu, & Docker Playgrounds; and much more

New Lab Playgrounds This month, our Content Team released six new "playground labs." Our playground labs provide a safe and secure sandbox environment for you to explore your own ideas, follow along with Cloud Academy courses, or answer your own questions — all without having to instal...

Read more
  • AWS
  • Azure
  • gitops
  • Google Cloud Platform
  • lab playground
  • programming
Alisha Reyes
Alisha Reyes
— March 6, 2020

New on Cloud Academy: Intro to GitOps; AWS Courses; Java, Python, Amazon Linux 2, Ubuntu, & Docker Playgrounds; and much more

New Lab Playgrounds This month, our Content Team released six new "playground labs." Our playground labs provide a safe and secure sandbox environment for you to explore your own ideas, follow along with Cloud Academy courses, or answer your own questions — all without having to instal...

Read more
  • AWS
  • Azure
  • gitops
  • Google Cloud Platform
  • lab playground
  • programming
Avatar
Thomas Mitchell
— February 27, 2020

5 Steps to Vulnerability Management for Containers

Organizations have begun embracing containers due to their simplicity and to the fact that they allow for a faster development and deployment velocity. Although developers are thrilled with containers because they allow them to deliver solutions more quickly, security teams are sometime...

Read more
  • AZ-500
  • AZ-500 Exam
  • Azure
  • vulnerability management
Avatar
Chandan Patra
— February 21, 2020

Elasticsearch vs. CloudSearch: AWS Cloud Search Choices

Elasticsearch vs. CloudSearch: What's the main difference? Let's compare AWS-based cloud tools: Elasticsearch vs. CloudSearch. While both services use proven technologies, Elasticsearch is more popular, open source, and has a flexible API to use for customization; in comparison, CloudS...

Read more
  • AWS
  • Azure
  • cloudsearch
  • elasticsearch
Avatar
Andrew Larkin
— February 13, 2020

Cloud Academy Content Roadmap Updates

Welcome to our Q1 2020 roadmap. This is the content we plan to build over the next three months, between February 1 - and April 30, 2020. Let's look at some of our roadmap highlights. Atlassian Bamboo for CI/CD We had a lot of requests for practical guides on how to apply DevOps tool...

Read more
  • Artificial Intelligence
  • AWS
  • Azure
  • Docker
  • Google Cloud Platform
  • Kubernetes
  • Machine Learning
Alisha Reyes
Alisha Reyes
— February 7, 2020

New on Cloud Academy: Git Labs, CKA and CKAD Lab Challenges, AWS and Azure Learning Paths, AGILE, and Much More

We just kicked off our first Free Weekend of 2020. This means we've unlocked our Training Library for just 72 hours. Until Sunday at 11:59 pm (PST), you can get unlimited access to our industry-leading learning paths, courses, certification prep exams, and our most popular hands-on labs...

Read more
  • agile
  • AWS
  • Azure
  • Google Cloud Platform
  • Linux
  • OWASP
  • programming
  • red hat
  • scrum
Alisha Reyes
Alisha Reyes
— January 31, 2020

How to Unlock Complimentary Access to Cloud Academy

Are you looking to get trained or certified on AWS, Azure, Google Cloud Platform, DevOps, Cybersecurity, Information Security, Python, Java, or another technical skill? Then you'll want to mark your calendars. Starting Friday, February 7 at 12:00 a.m. PST (3:00 a.m. EST), Cloud Acade...

Read more
  • AWS
  • Azure
  • cloud academy content
  • complimentary access
  • GCP
  • on the house
Alisha Reyes
Alisha Reyes
— January 6, 2020

New on Cloud Academy: Red Hat, Agile, OWASP Labs, Amazon SageMaker Lab, Linux Command Line Lab, SQL, Git Labs, Scrum Master, Azure Architects Lab, and Much More

Happy New Year! We hope you're ready to kick your training in overdrive in 2020 because we have a ton of new content for you. Not only do we have a bunch of new courses, hands-on labs, and lab challenges on AWS, Azure, and Google Cloud, but we also have three new courses on Red Hat, th...

Read more
  • agile
  • AWS
  • Azure
  • Google Cloud Platform
  • Linux
  • OWASP
  • programming
  • red hat
  • scrum
Orion Withrow
Orion Withrow
— December 17, 2019

Azure Security: Best Practices You Need to Know

When it comes to Azure Security best practices, where do you begin? In a lot of ways, Azure is very similar to any other data center. But with that said, Azure can also be very different. Securing Azure can pose many unique challenges. The security of resources hosted in Azure is of the...

Read more
  • Azure
  • azure best practices
  • azure security center
  • Security