Azure Connectivity Toolkit

Introduction
In this blog post, I will write about the use cases of the Azure Connectivity Toolkit (AzureCT), a set of tools and scripts that can help you troubleshoot and optimize your network performance and availability when connecting to Azure.

The Azure connectivity Toolkit (AzureCT) is a collection of tools and scripts that can help you troubleshoot and optimize your network performance and connectivity to Azure. In this blog post, we will explore some of the use cases of AzureCT and how it can benefit you.

One of the common challenges when working with Azure is to ensure that your network link between your on-premises network and Azure is reliable, fast, and secure. There are many factors that can affect the network performance, such as latency, bandwidth, routing, firewall rules, DNS resolution, etc. To help you diagnose and resolve these issues, AzureCT provides several tools that can test your network link from different perspectives.

For example, you can use AzureCT to:

– Test the DNS connectivity and resolution for your forest and domain controllers using Confirm-DnsConnectivity.
– Test the availability of your forest using Confirm-ForestExists.
– Test the network connectivity between your source host and a remote host using Confirm-NetworkConnectivity.
– Test the link performance between your source host and a remote host using Get-LinkPerformance. This tool runs iPerf3 and PSPing tests concurrently to measure the bandwidth and latency of your network link.
– Test the link availability between your source host and a newly built Windows VM in Azure using Get-AzureLinkAvailability. This tool generates web pages that display availability statistics of your network link over time.

These tools can help you identify potential bottlenecks or problems in your network link and provide suggestions on how to improve them. You can also use these tools to compare different network methods such as Site-to-Site VPN or ExpressRoute and choose the best option for your scenario.

To use AzureCT, you need to have PowerShell installed on your source host (Windows Server or Desktop) and download the ADConnectivityTool.psm1 module from GitHub. You also need to have iPerf3 installed on both your source host and remote host (Windows or Linux) if you want to run Get-LinkPerformance. For Get-AzureLinkAvailability, you need to have an Azure subscription and create a Windows VM in Azure with iPerf3 installed.

AzureCT is a useful toolkit for anyone who wants to troubleshoot or optimize their network performance and connectivity to Azure. It can help you diagnose issues faster, benchmark different options, and ensure a smooth experience for your users. You can find more information about AzureCT on GitHub or Microsoft Docs.

AzureCT consists of two main components: Link Availability and Link Performance.

  • Link Availability allows you to test the network availability between your on-premises network and a newly created Windows VM in Azure.
  • Link Performance allows you to test the network latency and bandwidth between your local source and a remote host running iPerf3 in server mode.

Let’s cover both modules in more depth:

Link Availability

Link Availability is a web-based tool that uses PowerShell scripts to generate, collect, store, and display availability statistics of the network between you and an Azure VM. You can use this tool to monitor the health of your VPN or ExpressRoute connection, as well as diagnose any connectivity issues that may arise.

To use Link Availability, you need to have an Azure subscription, an Azure Resource Group, and a Windows Server 2016 VM with PowerShell 5.1 or higher. You also need to install Azure PowerShell modules on your local machine.

The steps to use Link Availability are:

1. Download or clone the NetworkMonitoring repository from GitHub: https://github.com/Azure/NetworkMonitoring
2. Navigate to the AzureCT folder and run Setup-AzureCT.ps1. This script will prompt you for your subscription ID, resource group name, location, VM size, username, password, and public IP address range for your VM.
3. Wait for the script to create a new VM in Azure with all the required components installed.
4. Once the VM is ready, open a web browser and navigate to http://<vm-public-ip>/AzureCT/AvailabilityTesting.aspx
5. Enter your local IP address and click Start Test. The tool will ping your local IP address from the Azure VM every 10 seconds and record the results in a SQL database.
6. You can view the availability statistics on the web page or download them as CSV files for further analysis.

Link Performance

Link Performance is a PowerShell-based tool that uses iPerf3 and PSPing to measure the network latency and bandwidth between your local source and a remote host running iPerf3 in server mode. You can use this tool to benchmark your network performance and compare different scenarios such as VPN vs ExpressRoute or different regions or SKUs.

To use Link Performance, you need to have iPerf3 installed on both ends of the link (source and destination). You also need to have PSPing installed on your source machine.

The steps to use Link Performance are:

1. Download or clone the NetworkMonitoring repository from GitHub: https://github.com/Azure/NetworkMonitoring
2. Navigate to the AzureCT folder and run Install-AzureCT.ps1. This script will download all the required files for Link Performance testing.
3. On your destination host (the one running iPerf3 in server mode), run Start-iPerfServer.ps1. This script will start iPerf3 as a service on port 5201.
4. On your source machine (the one running PSPing), run Get-LinkPerformance.ps1 -Destination <destination-ip>. This script will run iPerf3 load tests and PSPing TCP pings concurrently between your source and destination for 60 seconds each.
5. The script will output various metrics such as average latency, jitter, packet loss rate, throughput, etc., as well as graphs showing how they vary over time.

Conclusion

The Azure Connectivity Toolkit (AzureCT) is a useful set of tools that can help you troubleshoot and optimize your network performance and availability when connecting to Azure.

You can use it to monitor your VPN or ExpressRoute connection health, diagnose any connectivity issues that may arise,benchmark your network performance across different scenarios, and identify potential areas for improvement.

You can find more information about AzureCT on its GitHub page: https://github.com/Azure/NetworkMonitoring/tree/master/AzureCT

References

Troubleshooting network performance

Related Post

Leave a Reply

Your email address will not be published.