AWSSupport-CalculateEBSPerformanceMetrics - Amazon Systems Manager Automation runbook reference
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China (PDF).

AWSSupport-CalculateEBSPerformanceMetrics

Description

The AWSSupport-CalculateEBSPerformanceMetrics runbook helps diagnose Amazon Elastic Block Store (Amazon EBS) performance issues by calculating metrics published to Amazon CloudWatch and creating CloudWatch dashboards that display the average I/O size and total aggregate throughput and IOPS of individual Amazon EBS volumes, or the total aggregate throughput and IOPS across all Amazon EBS volumes attached to an Amazon Elastic Compute Cloud (Amazon EC2) instance by utilizing CloudWatch metric math. The runbook outputs the link to the newly created CloudWatch dashboard that displays the relevant calculated CloudWatch metrics.

Run this Automation (console)

Document type

Automation

Owner

Amazon

Platforms

Linux, macOS, Windows

Parameters

  • AutomationAssumeRole

    Type: String

    Description: (Optional) The Amazon Resource Name (ARN) of the Amazon Identity and Access Management (IAM) role that allows Systems Manager Automation to perform the actions on your behalf. If no role is specified, Systems Manager Automation uses the permissions of the user that starts this runbook.

  • EndTime

    Type: String

    Description: (Required) The end of the time range to use for each widget on the CloudWatch dashboard when the dashboard loads. For the value of this parameter, specify an absolute time in the ISO 8601 format. To learn more about creating ISO 8601 formatted strings, see Creating formatted date and time strings for Systems Manager .

  • ResourceId

    Type: String

    Description: (Required) The ID of the Amazon EBS volume or Amazon EC2 instance whose attached Amazon EBS volumes performance metrics you want to calculate and view.

  • StartTime

    Type: String

    Description: (Required) The start of the time range to use for each widget on the CloudWatch dashboard. For the value of this parameter, specify an absolute time in the ISO 8601 format.

  • Period

    Type: String

    Description: (Required) The default period, in seconds, for all metrics in this widget. The period is the length of time represented by one data point on the graph.

Required IAM permissions

The AutomationAssumeRole parameter requires the following actions to successfully use the runbook.

  • ssm:StartAutomationExecution

  • ssm:GetAutomationExecution

  • ec2:DescribeVolumes

  • ec2:DescribeInstances

  • ec2:DescribeInstanceTypes

  • cloudwatch:PutDashboard

  • cloudwatch:ListMetrics

Document Steps

  • aws:executeScript - Validates the values provided for StartTime and EndTime parameters.

  • aws:branch - Checks whether the value provided in the parameter ResourceId is an Amazon EBS volume ID, or an Amazon EC2 instance ID.

  • aws:executeScript - If an Amazon EBS volume ID is provided for the parameter ResourceId , creates a CloudWatch dashboard with calculated aggregate throughput, aggregate IOPS, and average IO size for the Amazon EBS volume.

  • aws:executeScript - If an Amazon EC2 instance ID is provided for the parameter ResourceId , creates a CloudWatch dashboard with calculated aggregate throughput and aggregate IOPS for the Amazon EC2 instance and the calculated aggregate throughput, aggregate IOPS, and average IO size for each of the Amazon EBS volumes attached to the Amazon EC2 instance.