Networking & Content Delivery

Monitoring AWS Global Network Performance

As an AWS customer, you might often want to understand the performance of the AWS Global Network. Visibility into how the AWS Global Network is performing at any given time can help you plan expansions into new AWS Regions and Availability Zones (AZs), as well as streamline troubleshooting of performance-related incidents. Today, I’m happy to introduce Infrastructure Performance, a new capability in AWS Network Manager that helps you better understand the performance of the AWS Global Network. Using the newly introduced Infrastructure Performance capability, you can monitor the real-time inter-Region, inter-AZ, and intra-AZ latency, and the health status of the AWS Global Network. For planning, you can view the 45-day historical trend of the AWS network performance. You view these network performance metrics through the AWS Management Console, monitor them using Amazon CloudWatch, and stream them to your own monitoring tools.

Getting started with Infrastructure Performance

Let’s get started in the AWS Management Console. There is no configuration required to activate this feature. You navigate to AWS Network Manager from the Console’s Unified Search bar, or from the Amazon Virtual Private Cloud (Amazon VPC) console, and select “Infrastructure Performance” from the left navigation bar in AWS Network Manager.

For example, let’s say that you are interested in monitoring network performance between eu-west-1 and us-east-1, us-west-1, us-east-2, us-west-2, ap-south-1, ap-southeast-1, and eu-west-2. In Infrastructure Performance, under “Region and Availability Zone Pairs” selector bar, select inter-Region, specify the source Region as eu-west-1, then select the respective destination Regions. Please refer to the following Figure 1.

Figure 1: Choose a connection between Regions, between Availability Zones, or within an Availability Zone.

Figure 1: Choose a connection between Regions, between Availability Zones, or within an Availability Zone.

The results show the round-trip latency in milliseconds between the selected pairs of Regions as shown in the following Figure 2. You can use the timeframe selector to obtain the network performance metrics up to 45 days in the past.

Figure 2: Network latency shows the round-trip latency, in milliseconds, for each pair between Regions, between Availability Zones, or within an Availability Zone, based on the time frame.

Figure 2: Network latency shows the round-trip latency, in milliseconds, for each pair between Regions, between Availability Zones, or within an Availability Zone, based on the time frame.

In addition to the network performance measurements, Infrastructure Performance also helps you understand whether the AWS network was healthy for each network performance data point between your selected Regions or between AZs. This lets you more easily evaluate whether there was an event in the AWS network affecting your network performance on AWS. Healthy (Green) shows that the network performance falls within expected latency. Degraded (Yellow) indicates that the network performance is worse than expected. (Of course, AWS networking teams are always monitoring the health of the network. They investigate and respond whenever the health status drops.)

Figure 3: The Health status timeline displays a single consolidated status bar of aggregated network performance for all chosen pairs

Figure 3: The Health status timeline displays a single consolidated status bar of aggregated network performance for all chosen pairs

Similar to how you view network performance between Regions, you can use the “Region and Availability Zone Pairs” selector bar to view network performance between AZs or within an AZ. In the following example, select “intra-Availability Zone” under Region and AZ Pairs, then select euw1-az1, euw1-az2, and euw1-az3 to view the aggregate network latency of AZs within the eu-west-1 Region.

Figure 4: Network latency shows the round-trip latency, in milliseconds, for each chosen pair based on the time frame.

Figure 4: Network latency shows the round-trip latency, in milliseconds, for each chosen pair based on the time frame.

Infrastructure Performance monitoring using CloudWatch

Infrastructure Performance also supports publishing the network performance measurements as metrics for CloudWatch. This lets you view, store, analyze, alert, and export on them using CloudWatch. Note that you pay regular CloudWatch Metrics costs for each inter-Region, inter-AZ, or intra-AZ pair metric that you publish to CloudWatch.

To turn on monitoring using CloudWatch, select the respective source and destination where Source=eu-west-1, and Destination=us-east-1

Figure 5: Manage CloudWatch Subscriptions via console

Figure 5: Manage CloudWatch Subscriptions via console

Then select Manage CloudWatch Subscriptions, and select “Subscribe” from the Update Subscriptions dropdown, and then select “Confirm” on the page.

Figure 6: Manage your subscriptions by choosing the Update Subscriptions button

Figure 6: Manage your subscriptions by choosing the Update Subscriptions button

Next, navigate to the CloudWatch console to view the metrics under AWS/EC2/InfrastructurePerformance > Destination, MetricType, Period, Scope, Source, Statistic, with the metrics name AggregateAWSNetworkPerformance. Note that p50 is the only supported statistic, and the metric value indicates the aggregate latency.

Figure 7: Global Network Performance via CloudWatch Metrics

Figure 7: Global Network Performance via CloudWatch Metrics

Once you have the network performance metrics published in CloudWatch, you can also overlay your application performance metrics with the network performance metrics, and understand how the network performance affects your application performance.

In addition, you can utilize the AWS Command Line Interface (AWS CLI) to publish the metrics provided by Infrastructure Performance into CloudWatch. For example, you can publish the inter-Region metrics between eu-west-1 and us-east-1 using:

aws ec2 --region eu-west-1 enable-aws-network-performance-metric-subscription --source eu-west-1 --destination us-east-1 --metric aggregate-latency --statistic p50

If you have enabled CloudWatch Alarms, then you can configure an alarm to start at a chosen aggregate latency to notify you when there is network performance degradation. Refer to this documentation to learn how to configure CloudWatch Alarms based on metric data.

Figure 8: Creating a CloudWatch alarm based on AggregateAWSNetworkPerformance metric

Figure 8: Creating a CloudWatch alarm based on AggregateAWSNetworkPerformance metric

Infrastructure Performance monitoring using APIs

Besides the Console and CloudWatch, you can also use Amazon API to get the network performance data by calling the GetAwsNetworkPerformanceData API. In the following example, network performance is queried between two Regions, eu-west-1 and us-east-1 on 2022-12-31 between a start-time of 12:00:00 and an end time of 12:30:00 UTC.

aws ec2 --region eu-west-1 get-aws-network-performance-data --start-time 2022-12-31T12:00:00.000Z --end-time 2022-12-31T12:10:00.000Z --data-queries Id=id1,Source=eu-west-1,Destination=us-east-1,Metric=aggregate-latency,Statistic=p50,Period=five-minutes

It returns the following results:

{
    "DataResponses": [
        {
            "Id": "id1",
            "Source": "eu-west-1",
            "Destination": "us-east-1",
            "Metric": "aggregate-latency",
            "Statistic": "p50",
            "Period": "five-minutes",
            "MetricPoints": [
                {
                    "StartDate": "2022-12-31T12:00:00+00:00",
                    "EndDate": "2022-12-31T12:05:00+00:00",
                    "Value": 66.51299,
                    "Status": "OK"
                },
                {
                    "StartDate": "2022-12-31T12:05:00+00:00",
                    "EndDate": "2022-12-31T12:10:00+00:00",
                    "Value": 66.49199,
                    "Status": "OK"
                },
                {
                    "StartDate": "2022-12-31T12:10:00+00:00",
                    "EndDate": "2022-12-31T12:15:00+00:00",
                    "Value": 66.455986,
                    "Status": "OK"
                }
            ]
        }
    ]

Infrastructure Performance works with IAM. This lets you use identity-based policies to specify allowed or denied actions and resources, as well as the conditions under which the actions of this capability are allowed or denied.

Get visibility into AWS network performance today

You can view and monitor the performance of AWS Global Network in AWS Network Manager in the AWS Regions as mentioned in this documentation. Get started today with Infrastructure Performance to get visibility into the health and performance of the AWS network, monitor the AWS network performance using CloudWatch, and understand how the AWS network performance impacts your application’s performance.

About the author

Kartik Bheemisetty

Kartik Bheemisetty is a Sr Technical Account Manager in US-Central region, where he helps customer achieve their business goals with AWS cloud services. He hold’s subject matter expertise in AWS Network and Content Delivery services. He offers expert guidance on best practices, facilitates access to subject matter experts, and delivers actionable insights on optimizing AWS spend, workloads, and events. You can connect with him on LinkedIn at https://www.linkedin.com/in/kartikbheemisetty/

Vaibhav Katkade

Vaibhav is a Senior Product Manager in the Amazon VPC team. He is interested in areas of network security and cloud networking operations. Outside of work, he enjoys cooking and the outdoors.