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.
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 forStartTime
andEndTime
parameters. -
aws:branch
- Checks whether the value provided in the parameterResourceId
is an Amazon EBS volume ID, or an Amazon EC2 instance ID. -
aws:executeScript
- If an Amazon EBS volume ID is provided for the parameterResourceId
, 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 parameterResourceId
, 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.