

# EC2 Capacity Manager
<a name="capacity-manager"></a>

Amazon EC2 Capacity Manager helps you monitor, analyze, and manage your capacity usage across On-Demand Instances, Spot Instances, and Capacity Reservations from a single location. Capacity Manager simplifies capacity tracking through a unified dashboard that aggregates your usage data with hourly refreshes and optimization opportunities.

Designed for large enterprises and multi-account organizations, Capacity Manager eliminates manual data collection from multiple sources. The tool provides deep insights across your AWS Regions. You can drill down into detailed capacity metrics and take immediate actions to optimize your cloud resources.

When you enable AWS Organizations integration, you can view and analyze capacity data across all member accounts in your organization from a single dashboard. Without Organizations integration, Capacity Manager only monitors resources within the individual AWS account where it's enabled.

**Note**  
You can only enable Capacity Manager in one AWS Region per account.
All costs displayed in Capacity Manager are estimated costs based on published On-Demand pricing. These estimates don't include discounts such as Savings Plans or Reserved Instances. Your actual costs may differ from these estimates.

## Key Features
<a name="capacity-manager-key-features"></a>
+ **Dashboard** — Provides a high-level overview of all On-Demand Capacity Reservations, On-Demand and Spot usage, including key metrics to help improve your capacity posture.
+ **Cross-account and cross-region aggregation** — View capacity usage across all member accounts in your organization from a single dashboard. Capacity Manager aggregates data from all Regions in the partition into the single Region where you have enabled Capacity Manager, including tag data. For cross-account data, Capacity Manager also provides the account name as a dimension.
+ **Tag-based grouping and filtering** — Activate tag keys from your Amazon EC2 resources (for example, `environment` or `team`) to use as dimensions when grouping and filtering your capacity metrics. Capacity Manager-provided tags for EC2 Auto Scaling Groups, EKS cluster names, EKS Kubernetes node pools, and Karpenter node pools are included by default. For more information, see [Managing monitored tag keys](managing-monitored-tag-keys.md).
+ **Data exports** — Export capacity data to Amazon S3 in CSV or Parquet format for further analysis and custom reporting.
+ **APIs** — Query capacity metrics programmatically using `GetCapacityManagerMetricData` and `GetCapacityManagerMetricDimensions`.
+ **Date selector** — Analyze capacity data across date ranges from one hour to 90 days.
+ **30\$1 metrics** — Track capacity across Capacity Reservations, On-Demand Instances, and Spot Instances with over 30 metrics.

# Enabling EC2 Capacity Manager
<a name="enable-capacity-manager"></a>

Capacity Manager can be enabled at two different levels depending on your requirements. You can enable it for a single AWS account to monitor resources within that account only, or integrate it with AWS Organizations for centralized visibility across all member accounts in your organization.
+ **Organization-level:** View and analyze capacity data across all member accounts in your organization from a single dashboard. 
+ **Account-level:** Monitor capacity usage within a single AWS account.

**Topics**
+ [

# Enabling EC2 Capacity Manager with AWS Organizations
](enable-capacity-manager-organizations.md)
+ [

# Enabling EC2 Capacity Manager at the account-level
](enable-capacity-manager-account.md)
+ [

# Registering a delegated administrator
](enable-capacity-manager-da.md)
+ [

# Using service-linked roles for EC2 Capacity Manager
](using-service-linked-roles-cm.md)

# Enabling EC2 Capacity Manager with AWS Organizations
<a name="enable-capacity-manager-organizations"></a>

You can enable EC2 Capacity Manager with AWS Organizations for organization-level visibility and management of your capacity across all member accounts. This integration allows you to monitor, analyze, and manage capacity usage from a centralized location.

The management account is responsible for enabling organization-level access and managing capacity across the organization.

Enabling Capacity Manager with AWS Organizations provides the following benefits:
+ **Centralized capacity visibility** — View capacity usage across all member accounts in your organization from a single dashboard with cross-account and cross-region aggregation.
+ **Organization-wide optimization** — Identify unused Capacity Reservations and optimization opportunities across all accounts in your organization.
+ **Delegated administrator** — Allow specific member accounts to manage Capacity Manager for an organization while maintaining proper access controls.

If you don't enable integration with AWS Organizations, you can only monitor resources in the individual AWS account where you enabled Capacity Manager.

## Prerequisites
<a name="organizations-prerequisites"></a>
+ You must have an AWS Organizations setup with a management account and one or more member accounts. For more information about account types, see [Terminology and concepts](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_getting-started_concepts.html) in the *AWS Organizations User Guide*.
+ The management account must have permissions for the following IAM actions:
  + `organizations:EnableAwsServiceAccess`
  + `organizations:RegisterDelegatedAdministrator` (if using delegated administration)
  + `iam:CreateServiceLinkedRole`
+ You must create a service-linked role with the **AWSEC2CapacityManagerServiceRolePolicy** use case to allow AWS Organization access. For more information, see [Creating a service-linked role for Capacity Manager](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-service-linked-roles-cm.html#create-slr).

## Enabling Capacity Manager with AWS Organizations
<a name="enable-organization-integration"></a>

Using the management account, enable organization access in Capacity Manager.

------
#### [ Console ]

**To enable organization access in Capacity Manager**

1. Open the Amazon EC2 console at [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. In the navigation pane, choose **Capacity Manager**.

1. Choose the **Settings** tab.

1. In the **Trusted access** section, choose **Manage trusted access**.

1. In the prompt that appears, select **Enable trusted access**. Then, choose **Save**.

------
#### [ AWS CLI ]

**To enable organization access in Capacity Manager**

1. Create a service-linked role

   ```
   aws iam create-service-linked-role --aws-service-name ec2.capacitymanager.amazonaws.com
   ```

1. Enable AWS Organization access

   ```
   aws organizations enable-aws-service-access --service-principal ec2.capacitymanager.amazonaws.com
   ```

1. Enable Capacity Manager with AWS Organization 

   ```
   aws ec2 enable-capacity-manager --organizations-access
   ```

To update organization access for an existing Capacity Manager, run the following command:

```
aws ec2 update-capacity-manager-organizations-access --organizations-access
```

------
#### [ PowerShell ]

**To enable organization access in Capacity Manager**

1. Create a service-linked role using the [New-IAMServiceLinkedRole](https://docs.aws.amazon.com/powershell/latest/reference/items/New-IAMServiceLinkedRole.html) cmdlet.

   ```
   New-IAMServiceLinkedRole -AWSServiceName "ec2.capacitymanager.amazonaws.com"
   ```

1. Enable AWS Organization access using the [Enable-ORGAWSServiceAccess](https://docs.aws.amazon.com/powershell/latest/reference/items/Enable-ORGAWSServiceAccess.html) cmdlet.

   ```
   Enable-ORGAWSServiceAccess -ServicePrincipal "ec2.capacitymanager.amazonaws.com"
   ```

1. Enable Capacity Manager with AWS Organization using the [Enable-EC2CapacityManager](https://docs.aws.amazon.com/powershell/latest/reference/items/Enable-EC2CapacityManager.html) cmdlet.

   ```
   Enable-EC2CapacityManager -OrganizationsAccess $true
   ```

To update organization access for an existing Capacity Manager, run the following [Update-EC2CapacityManagerOrganizationsAccess](https://docs.aws.amazon.com/powershell/latest/reference/items/Update-EC2CapacityManagerOrganizationsAccess.html) cmdlet:

```
Update-EC2CapacityManagerOrganizationsAccess -OrganizationsAccess $true
```

------

## Verifying Capacity Manager is enabled with your organization
<a name="verify-organization-integration"></a>

------
#### [ Console ]

**To verify Capacity Manager is enabled with your organization**

1. In the Capacity Manager console, choose **Settings**.

1. In the **Trusted access** section, verify that **Organization access** shows as **Enabled**.

1. Check that the **Organization ID** displays your organization's ID.

------
#### [ AWS CLI ]

**To verify Capacity Manager is enabled with your organization**  
Run the following command:

```
aws ec2 get-capacity-manager-attributes
```

The output should display:

```
{
    "CapacityManagerStatus": "enabled",
    "OrganizationsAccess": true,
    "IngestionStatus": "initial-ingestion-pending",
    "IngestionStatusMessage": "Capacity Manager is collecting historical data from 2025-10-01T00:00:00Z. Data collection is in progress and may take several hours to complete."
}
```

------
#### [ PowerShell ]

**To verify Capacity Manager is enabled with your organization**  
Use the [Get-EC2CapacityManagerAttribute](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2CapacityManagerAttribute.html) cmdlet.

```
Get-EC2CapacityManagerAttribute
```

The output should display:

```
CapacityManagerStatus      : enabled
DataExportCount            : 0
EarliestDatapointTimestamp :
IngestionStatus            : initial-ingestion-in-progress
IngestionStatusMessage     : Capacity Manager is collecting historical data from
                              2026-03-17T16:00:00Z. Data collection is in progress and may take
                              several hours to complete.
LatestDatapointTimestamp   :
OrganizationsAccess        : True
```

------

## Considerations
<a name="organizations-considerations"></a>
+ **Service-linked role creation:** When you enable organization access through the console, Capacity Manager automatically creates the AWSServiceRoleForEC2CapacityManager service-linked role in all m ember accounts. If you enable through the AWS CLI, you must call `createServiceLinkedRole` manually.
+ **Data aggregation:** After enabling organization access, Capacity Manager backfills 14 days of historical data from all member accounts. This process typically takes a few minutes to complete.
+ **Regional limitations:** You can only enable Capacity Manager in one Region per organization, but it will aggregate data from all commercial regions.
+ **Permissions:** Member accounts don't need to take any action. Capacity Manager uses the service-linked role to automatically discover resources across all accounts.

# Enabling EC2 Capacity Manager at the account-level
<a name="enable-capacity-manager-account"></a>

Enable Capacity Manager at the account-level to monitor and analyze your EC2 capacity usage within a single AWS account. After you enable it, Capacity Manager collects data about your On-Demand Instances, Spot Instances, and Capacity Reservations to help you identify optimization opportunities and track usage patterns.

## Enable Capacity Manager at the account-level
<a name="enable-account-capacity-manager"></a>

------
#### [ Console ]

**To enable Capacity Manager for your account**

1. Open the Amazon EC2 console at [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. In the navigation pane, choose **Capacity Manager**.

1. On the Capacity Manager page, choose **Enable in Region**.

------
#### [ AWS CLI ]

**To enable Capacity Manager for your account**  
Run the following command:

```
aws ec2 enable-capacity-manager
```

------
#### [ PowerShell ]

**To enable Capacity Manager for your account**  
Use the [Enable-EC2CapacityManager](https://docs.aws.amazon.com/powershell/latest/reference/items/Enable-EC2CapacityManager.html) cmdlet.

```
Enable-EC2CapacityManager
```

------

**Note**  
After you enable Capacity Manager, it collects and aggregates 14 days of historical data. This process might take a few hours.
While collecting your historical data, an `initial-ingestion-in-progress` state is displayed. During this collection period you might observe gaps in your historical data. When data collection is complete, an `ingestion-complete` state is displayed.

# Registering a delegated administrator
<a name="enable-capacity-manager-da"></a>

You can register a delegated administrator for Capacity Manager. This allows a member account to manage Capacity Manager for your AWS Organization. Only the management account can register or remove a delegated administrator within your organization.

**Note**  
You can't disable Capacity Manager for your organization while there is a registered delegated administrator. 

**Topics**
+ [

## Prerequisites
](#da-prerequisites)
+ [

## Register a delegated administrator
](#add-capacity-manager-da)
+ [

## Remove a delegated administrator
](#remove-capacity-manager-da)

## Prerequisites
<a name="da-prerequisites"></a>

Your management account must have enabled Capacity Manager with AWS Organizations. For more information, see [Enabling EC2 Capacity Manager with AWS Organizations](enable-capacity-manager-organizations.md).

## Register a delegated administrator
<a name="add-capacity-manager-da"></a>

You can register a delegated administrator using the Amazon EC2 console, the AWS CLI, or PowerShell.

------
#### [ Console ]

**To register a delegated administrator**

1. Open the Amazon EC2 console at [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. In the navigation pane, choose **Capacity Manager**.

1. Choose the **Settings** tab.

1. In the **Delegated administrator** section, choose **Add**.

1. In the prompt that appears, enter the account ID of the organization member you want to add as a delegated administrator.

1. Choose **Add delegated administrator**.

------
#### [ AWS CLI ]

**To register a delegated administrator**  
Run the following command:

```
aws organizations register-delegated-administrator \
    --account-id 123456789012 \
    --service-principal ec2.capacitymanager.amazonaws.com
```

------
#### [ PowerShell ]

**To register a delegated administrator**  
Use the [Register-ORGDelegatedAdministrator](https://docs.aws.amazon.com/powershell/latest/reference/items/Register-ORGDelegatedAdministrator.html) cmdlet.

```
Register-ORGDelegatedAdministrator `
    -AccountId "123456789012" `
    -ServicePrincipal "ec2.capacitymanager.amazonaws.com"
```

------

## Remove a delegated administrator
<a name="remove-capacity-manager-da"></a>

You can remove a delegated administrator using the Amazon EC2 console, the AWS CLI, or PowerShell.

------
#### [ Console ]

**To remove a delegated administrator**

1. Open the Amazon EC2 console at [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. In the navigation pane, choose **Capacity Manager**.

1. Choose the **Settings** tab.

1. In the **Delegated administrator** section, choose **Manage**.

1. In the prompt that appears, choose **Remove delegated administrator**.

------
#### [ AWS CLI ]

**To remove a delegated administrator**  
Run the following command:

```
aws organizations deregister-delegated-administrator \
    --account-id 123456789012 \
    --service-principal ec2.capacitymanager.amazonaws.com
```

------
#### [ PowerShell ]

**To remove a delegated administrator**  
Use the [Unregister-ORGDelegatedAdministrator](https://docs.aws.amazon.com/powershell/latest/reference/items/Unregister-ORGDelegatedAdministrator.html) cmdlet.

```
Unregister-ORGDelegatedAdministrator `
    -AccountId "123456789012" `
    -ServicePrincipal "ec2.capacitymanager.amazonaws.com"
```

------

# Using service-linked roles for EC2 Capacity Manager
<a name="using-service-linked-roles-cm"></a>

EC2 Capacity Manager uses AWS Identity and Access Management (IAM) [service-linked roles](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role). A service-linked role is a unique type of IAM role that is linked directly to Capacity Manager. Service-linked roles are predefined by Capacity Manager and include all the permissions that the service requires to call other AWS services on your behalf.

A service-linked role makes setting up Capacity Manager easier because you don't have to manually add the necessary permissions. Capacity Manager defines the permissions of its service-linked roles, and unless defined otherwise, only Capacity Manager can assume its roles. The defined permissions include the trust policy and the permissions policy, and that permissions policy cannot be attached to any other IAM entity.

You can delete a service-linked role only after first deleting their related resources. This protects your Capacity Manager resources because you can't inadvertently remove permission to access the resources.

For information about other services that support service-linked roles, see [AWS services that work with IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) and look for the services that have **Yes** in the **Service-linked roles** column. Choose a **Yes** with a link to view the service-linked role documentation for that service.

## Service-linked role permissions for Capacity Manager
<a name="slr-permissions"></a>

Capacity Manager uses the service-linked role named **AWSServiceRoleForEC2CapacityManager** to allow you to manage capacity resources and integrate with AWS Organizations on your behalf.

The AWSServiceRoleForEC2CapacityManager service-linked role trusts the following services to assume the role:
+ `ec2.capacitymanager.amazonaws.com`

The role permissions policy named AWSEC2CapacityManagerServiceRolePolicy allows Capacity Manager to complete the following actions:
+  `organizations:DescribeOrganization` 
+  `organizations:ListAccounts` 
+  `organizations:ListChildren` 
+  `organizations:ListAWSServiceAccessForOrganization` 
+  `organizations:ListDelegatedAdministrators` 

You must configure permissions to allow your users, groups, or roles to create, edit, or delete a service-linked role. For more information, see [Service-linked role permissions](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-permissions) in the *IAM User Guide*.

## Creating a service-linked role for Capacity Manager
<a name="create-slr"></a>

You can use the IAM console to create a service-linked role with the **AWSEC2CapacityManagerServiceRolePolicy** use case. In the AWS CLI or the AWS API, create a service-linked role with the `ec2.capacitymanager.amazonaws.com` service name. For more information, see [Creating a service-linked role](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#create-service-linked-role) in the *IAM User Guide*. If you delete this service-linked role, you can use this same process to create the role again.

## Editing a service-linked role for Capacity Manager
<a name="edit-slr"></a>

Capacity Manager does not allow you to edit the AWSServiceRoleForEC2CapacityManager service-linked role. After you create a service-linked role, you cannot change the name of the role because various entities might reference the role. However, you can edit the description of the role using IAM. For more information, see [Editing a service-linked role](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#edit-service-linked-role) in the *IAM User Guide*.

## Deleting a service-linked role for Capacity Manager
<a name="delete-slr"></a>

If you no longer need to use a feature or service that requires a service-linked role, we recommend that you delete that role. That way you don't have an unused entity that is not actively monitored or maintained. However, you must clean up the resources for your service-linked role before you can manually delete it.

**Note**  
If the Capacity Manager service is using the role when you try to delete the resources, then the deletion might fail. If that happens, wait for a few minutes and try the operation again.

**To remove Capacity Manager resources used by the AWSServiceRoleForEC2CapacityManager**

1. All delegated administrators must have disabled their Capacity Manager before removing organizations access.

1. You must delete any active data exports before disabling a capacity manager.

**To manually delete the service-linked role using IAM**

Use the IAM console, the AWS CLI, or the AWS API to delete the AWSServiceRoleForEC2CapacityManager service-linked role. For more information, see [Deleting a service-linked role](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role) in the *IAM User Guide*.

## Supported Regions for Capacity Manager service-linked roles
<a name="slr-regions"></a>

Capacity Manager supports using service-linked roles in all of the Regions where the service is available. For more information, see [AWS Regions and endpoints](https://docs.aws.amazon.com/general/latest/gr/rande.html).

Capacity Manager does not support using service-linked roles in every Region where the service is available. You can use the AWSServiceRoleForEC2CapacityManager role in the following Regions.


| Region name | Region identity | Support in Capacity Manager | 
| --- | --- | --- | 
| US East (N. Virginia) | us-east-1 | Yes | 
| US East (Ohio) | us-east-2 | Yes | 
| US West (N. California) | us-west-1 | Yes | 
| US West (Oregon) | us-west-2 | Yes | 
| Africa (Cape Town) | af-south-1 | No | 
| Asia Pacific (Hong Kong) | ap-east-1 | No | 
| Asia Pacific (Jakarta) | ap-southeast-3 | No | 
| Asia Pacific (Mumbai) | ap-south-1 | Yes | 
| Asia Pacific (Osaka) | ap-northeast-3 | Yes | 
| Asia Pacific (Seoul) | ap-northeast-2 | Yes | 
| Asia Pacific (Singapore) | ap-southeast-1 | Yes | 
| Asia Pacific (Sydney) | ap-southeast-2 | Yes | 
| Asia Pacific (Tokyo) | ap-northeast-1 | Yes | 
| Canada (Central) | ca-central-1 | Yes | 
| Europe (Frankfurt) | eu-central-1 | Yes | 
| Europe (Ireland) | eu-west-1 | Yes | 
| Europe (London) | eu-west-2 | Yes | 
| Europe (Milan) | eu-south-1 | No | 
| Europe (Paris) | eu-west-3 | Yes | 
| Europe (Stockholm) | eu-north-1 | Yes | 
| Middle East (Bahrain) | me-south-1 | No | 
| Middle East (UAE) | me-central-1 | No | 
| South America (São Paulo) | sa-east-1 | Yes | 
| AWS GovCloud (US-East) | us-gov-east-1 | No | 
| AWS GovCloud (US-West) | us-gov-west-1 | No | 

# Organizing your data in Capacity Manager
<a name="capacity-manager-data-organization"></a>

Capacity Manager uses a combination of metrics, data points, dimensions, date ranges, and periods to organize your capacity data. This can help you analyze usage patterns and make informed decisions about your resources.

**Metrics and data points**

A metric is a time-ordered set of data points. For example, if you want to monitor your Spot usage in vCPUs, you would use the `SpotTotalUsageHrsVcpu` metric.

Every hour, the metric generates a timestamped data point with the Spot usage in vCPU hours. For example, if you used 100 vCPUs during the 10:00 AM hour, Capacity Manager creates a data point with a 10:00 AM timestamp and a value of 100.

For the full list of metrics that Capacity Manager analyzes, see [EC2 Capacity Manager metrics](cm-metrics-units.md).

**Dimensions**

Dimensions are name-value pairs that help you categorize and identify different aspects of a metric. For example, the name of one dimension in Capacity Manager is AccountID, where the value is the actual account ID. Capacity Manager provides dimensions to segment and group your data such as Instance Family, Reservation ARN, Reservation type, and Tenancy.

In addition to built-in dimensions, you can activate tag keys from your Amazon EC2 resources to use as custom dimensions. For example, if your instances are tagged with `environment` or `team`, you can activate those tag keys and then group and filter your capacity metrics by their values.

Capacity Manager also provides Capacity Manager-provided tags — such as EC2 Auto Scaling Group (`aws:autoscaling:groupName`), EKS cluster name (`aws:eks:cluster-name`), EKS Kubernetes node pool (`eks:kubernetes-node-pool-name`), and Karpenter node pool (`karpenter.sh/nodepool`) — that are available by default without counting toward your tag key limit.

For the full list of dimensions, see [EC2 Capacity Manager metrics](cm-metrics-units.md). For information about activating and managing tag dimensions, see [Managing monitored tag keys](managing-monitored-tag-keys.md).

**Date range and period**

The date range specifies how much time you want to analyze, from one hour to 90 days. The period determines how Capacity Manager aggregates your data across time and how many data points to return. For example, if your date range is one week and your period is 1 day, Capacity Manager returns 7 data points. Each data point represents one day of aggregated data. The period must be an interval of one hour and divide evenly into the date range.

**Topics**
+ [

# EC2 Capacity Manager metrics
](cm-metrics-units.md)
+ [

# Grouping and filtering data
](grouping-filtering-data.md)
+ [

# Managing monitored tag keys
](managing-monitored-tag-keys.md)

# EC2 Capacity Manager metrics
<a name="cm-metrics-units"></a>

Capacity Manager offers a comprehensive selection of metrics for tracking your capacity across different resource types. Metrics can be measured using different units depending on your analysis needs.

The metric names in Capacity Manager use four different prefixes to categorize the type of capacity being measured:
+ `Reservation` — Capacity Reservations themselves, including total reserved capacity, utilization rates, unused capacity, and reservation counts. 
+ `Reserved` — On-Demand Instance usage that is covered by your Capacity Reservations. 
+ `Unreserved` — On-Demand Instance usage that runs outside of any Capacity Reservations. 
+ `Spot` — Specifically for Spot Instance usage, including runtime and estimated costs. These metrics are separate from reservation-based capacity.

The following table also provides the *Dimensions available* for each metric. The dimension categories are broken down as follows:
+ **General capacity dimensions** — Account ID, Account Name, Region, Instance Family, Availability Zone, Instance Type, Platform, and Tenancy
+ **Capacity Reservation dimensions** — Reservation ID (Capacity Reservation ID), Reservation ARN, Unused Financial Owner, Reservation Type (ODCR/Capacity Block), Create timestamp, Start timestamp, End timestamp, State, and Instance match criteria.
+ **Reserved usage dimensions** — Reservation ID (CRID), Reservation ARN, Reservation type
+ **Tag dimensions** — Customer-managed tag keys and Capacity Manager-provided tags. You must activate a tag key before you can use it as a dimension. For more information, see [Managing monitored tag keys](managing-monitored-tag-keys.md).


| Metric | Description | Dimensions available | Units available | 
| --- | --- | --- | --- | 
| ReservationAvgCommittedSize | The average total amount of capacity in an active or scheduled state with a commitment. The size is summed across dimensions and averaged over time. | General capacity and Capacity Reservation dimensions | vCPU, Instance | 
| ReservationAvgFutureSize | The average amount of Capacity Reservations that are scheduled to start in the future but have not yet become active during the selected period. The size is summed across dimensions and averaged over time. | General capacity and Capacity Reservation dimensions | vCPU, Instance | 
| ReservationAvgUtilization | The average percentage of your reserved capacity that was used during the selected period. | General capacity and Capacity Reservation dimensions | vCPU, Instance | 
| ReservationMaxCommittedSize | The maximum total capacity in an active or scheduled state with a commitment. The size is summed across dimensions and the maximum value is taken for the period. | General capacity and Capacity Reservation dimensions | vCPU, Instance | 
| ReservationMaxFutureSize | The maximum amount of Capacity Reservations that are scheduled to start in the future but have not yet become active during the selected period. The size is summed across dimensions and the maximum value is taken for the period. | General capacity and Capacity Reservation dimensions | vCPU, Instance | 
| ReservationMaxSize | The maximum size your Capacity Reservation reached at any point during the selected period. Reservation ID Required. | General capacity and Capacity Reservation dimensions | vCPU, Instance | 
| ReservationMaxUnusedSize | The maximum amount of unused capacity in your Capacity Reservation at any point during the selected period. Reservation ID Required. | General capacity and Capacity Reservation dimensions | vCPU, Instance | 
| ReservationMaxUtilization | The maximum utilization percentage your Capacity Reservation achieved at any point during the selected period. Reservation ID Required. | General capacity and Capacity Reservation dimensions |  | 
| ReservationMinCommittedSize | The minimum total amount of capacity in an active or scheduled state with a commitment. The size is summed across dimensions and minimum value is taken for the period. | General capacity and Capacity Reservation dimensions | vCPU, Instance | 
| ReservationMinFutureSize | The minimum amount of Capacity Reservations that are scheduled to start in the future but have not yet become active at any point during the selected period. The size is summed across dimensions and minimum value is taken for the period. | General capacity and Capacity Reservation dimensions | vCPU, Instance | 
| ReservationMinSize | The minimum size your Capacity Reservation reached at any point during the selected period. Reservation ID Required. | General capacity and Capacity Reservation dimensions | vCPU, Instance | 
| ReservationMinUnusedSize | The minimum amount of unused capacity in your Capacity Reservation at any point during the selected period. Reservation ID Required. | General capacity and Capacity Reservation dimensions | vCPU, Instance | 
| ReservationMinUtilization | The minimum utilization percentage your Capacity Reservation achieved at any point during the selected period. Reservation ID Required. | General capacity and Capacity Reservation dimensions |  | 
| ReservationTotalCapacityHrs | Total amount of capacity you have reserved through Capacity Reservations during the selected period. | General capacity and Capacity Reservation dimensions | vCPU, Instance | 
| ReservationTotalCount | The total number of different Capacity Reservations you had during the selected period. | General capacity and Capacity Reservation dimensions |  | 
| ReservationTotalEstimatedCost | Estimated cost of the total capacity hours reserved during the selected period. | General capacity and Capacity Reservation dimensions  |  | 
| ReservationUnusedTotalCapacityHrs | Total amount of reserved capacity that you had but didn't use during the selected period. | General capacity and Capacity Reservation dimensions | vCPU, Instance | 
| ReservationUnusedTotalEstimatedCost | Estimated cost of the reserved capacity you had but didn't use during the selected period (calculated using On-Demand rates). | General capacity and Capacity Reservation dimensions |  | 
| ReservedTotalEstimatedCost | Estimated cost of On-Demand Instance usage that was covered by a Capacity Reservation during the selected period. This excludes Spot usage. | General capacity and Reserved usage dimensions |  | 
| ReservedTotalUsageHrs | Total hours of On-Demand Instance usage that were covered by a Capacity Reservation during the selected period. This excludes Spot usage. | General capacity and Reserved usage dimensions | vCPU, Instance | 
| SpotAvgRunTimeBeforeInterruption | Average runtime in hours for instances interrupted in the selected period. | Region, AZ, and Account ID dimensions only | Instance | 
| SpotInterruptionRate | Percentage of running Spot Instances that were interrupted in the selected period. | Region, AZ, and Account ID dimensions only | vCPU, Instance | 
| SpotMaxRunTimeBeforeInterruption | Maximum runtime in hours for instances interrupted in the selected period. | Region, AZ, and Account ID dimensions only | Instance | 
| SpotMinRunTimeBeforeInterruption | Minimum runtime in hours for instances interrupted in the selected period. | Region, AZ, and Account ID dimensions only | Instance | 
| SpotTotalCount | Number of Spot Instances or vCPUs that ran during the selected period. | Region, AZ, and Account ID dimensions only | vCPU, Instance | 
| SpotTotalEstimatedCost | Estimated cost of Spot Instance usage during the selected period (calculated using published Spot rates). | General capacity dimensions |  | 
| SpotTotalInterruptions | Number of interrupted Spot Instances or vCPUs during the selected period. | Region, AZ, and Account ID dimensions only | vCPU, Instance | 
| SpotTotalUsageHrs | Total hours of Spot Instance usage during the selected period. | General capacity dimensions | vCPU, Instance | 
| UnreservedTotalEstimatedCost | Estimated cost of On-Demand Instance usage that was not covered by a Capacity Reservation during the selected period. This excludes Spot usage. | General capacity dimensions |  | 
| UnreservedTotalUsageHrs | Total hours of On-Demand Instance usage that were not covered by a Capacity Reservation during the selected period. This excludes Spot usage. | General capacity dimensions | vCPU, Instance | 

**Note**  
If you include instances in your units, we recommend including the instance type in your dimensions.

## Tag dimensions
<a name="tag-dimensions"></a>

In addition to the built-in dimensions in the preceding section, Capacity Manager supports tag dimensions. Tag dimensions allow you to group and filter metrics using tag keys from your Amazon EC2 resources.

**Customer-managed tag dimensions**

You can activate up to five tag keys to use as dimensions. After activation and in `activated` status, tag dimensions are available for metrics that support General capacity dimensions. For the full list of dimension categories, see [EC2 Capacity Manager metrics](#cm-metrics-units).


| Dimension | Description | Example values | 
| --- | --- | --- | 
| Tag key name | A customer-managed tag key from your Amazon EC2 resources. | environment, team, cost-center | 

**Capacity Manager-provided tag dimensions**

Capacity Manager provides the following Capacity Manager-provided tags by default. Capacity Manager-provided tags are always available and do not count toward your tag key limit.


| Dimension | Description | 
| --- | --- | 
| tag:aws:autoscaling:groupName | The name of the EC2 Auto Scaling group associated with the instance. | 
| tag:aws:eks:cluster-name | The name of the EKS cluster associated with the instance. | 
| tag:eks:kubernetes-node-pool-name | The EKS Kubernetes node pool associated with the instance. | 
| tag:karpenter.sh/nodepool | The Karpenter node pool associated with the instance. | 

**Note**  
When you group by a tag dimension, resources that do not have a value for that tag are included in a separate bucket with an empty string value. This ensures that totals account for all resources.

# Grouping and filtering data
<a name="grouping-filtering-data"></a>

Capacity Manager aggregates your metrics based on the dimensions and date period you choose. If no dimensions are chosen, Capacity Manager will aggregate the data and return one data point per period in the date range. You can group your data into smaller aggregations by adding dimensions, including tag dimensions from your Amazon EC2 resources.
+ **Grouping** — Break down your capacity data by dimensions such as Region, Instance Family, Account ID, or tag keys. You can group your metrics by multiple dimensions to break down your data further. For example, if you group by Region and Availability Zone, you get a data point for each Region and AZ combination where you have usage.
+ **Filtering** — Show only specific subsets of the dimensions you selected. For example, if you group by instance family, you will get data points for all families where you have usage. However, if you also filter by p5, you see only data points for the p5 instance family. You can also filter by tag values — for example, filter by `environment=prod` to see only production resources. To filter for resources that do not have a value for a selected tag, filter by an empty value.
+ **Metric units** — View results by different units like vCPUs, instances, or estimated costs. For example, after grouping by Region and filtering by a specific instance family, you can switch between total vCPUs used, number of instances running, or estimated costs.

## How to group and filter data in the console
<a name="grouping-filtering-process"></a>

**To group and filter data in Capacity Manager**

1. Open the Amazon EC2 console at [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. In the navigation pane, choose **Capacity Manager**.

1. Choose the tab for the resource type you want to analyze: **Usage**, **Reservations**, or **Spot**.

1. In the **Date filter** section, choose a Date range, Time zone, and Interval.

1. In the **Dimension filter** section, choose a dimension from the *Select a dimension* dropdown. The dimension options differ for each resource type. For more information, see [EC2 Capacity Manager metrics](cm-metrics-units.md).

   To group by a tag dimension, choose the tag key from the dropdown (for example, `environment`). Only tag keys in `activated` status are available. For more information about activating tag keys, see [Managing monitored tag keys](managing-monitored-tag-keys.md).

   You can add multiple dimensions, including multiple tag dimensions, to create more granular groupings.

1. To filter by the dimension(s) you selected, choose a filter option from the *Filter by dimension* dropdown.

   For tag dimensions, the filter shows the tag values present in your data. To filter for resources without a value for the selected tag, choose the empty value option.

1. In the **Aggregations** section, choose a unit to view your results by vCPUs, Instances, or Estimated costs.

**Note**  
When you group by a tag dimension, resources that do not have a value for that tag are included in a separate group with an empty value. This ensures that totals account for all resources, not only tagged ones.

# Managing monitored tag keys
<a name="managing-monitored-tag-keys"></a>

Amazon EC2 Capacity Manager lets you select tag keys from your Amazon EC2 resources (for example, `environment` or `team`) to use as dimensions when analyzing your capacity data. After a tag key is activated, you can group and filter your metrics by that tag's values — just like you can with Region, Instance Type, or Availability Zone.

Each account can monitor up to five tag keys. Capacity Manager-provided tags do not count toward this limit.

**Topics**
+ [

## Capacity Manager-provided tags
](#cm-provided-tags)
+ [

## Tag lifecycle
](#tag-lifecycle)
+ [

## Activate and deactivate monitored tag keys
](#activate-deactivate-tag-keys)
+ [

## View monitored tag keys
](#view-monitored-tag-keys)
+ [

## Query metrics using tag dimensions
](#query-metrics-tag-dimensions)
+ [

## Tags in data exports
](#tags-in-data-exports)
+ [

## Organizations and delegated administrator
](#tag-keys-organizations)
+ [

## Considerations
](#tag-keys-considerations)

## Capacity Manager-provided tags
<a name="cm-provided-tags"></a>

Capacity Manager includes a set of default tags for every account. These do not count toward your tag key limit. Capacity Manager-provided tags represent commonly used grouping dimensions and include:
+ `aws:autoscaling:groupName` — EC2 Auto Scaling Group
+ `aws:eks:cluster-name` — EKS cluster name
+ `eks:kubernetes-node-pool-name` — EKS Kubernetes node pool
+ `karpenter.sh/nodepool` — Karpenter node pool

Capacity Manager-provided tags appear in `GetCapacityManagerMonitoredTagKeys` with `CapacityManagerProvided` set to `true` and cannot be activated or deactivated by the customer. When Capacity Manager is first enabled, Capacity Manager-provided tags start in `activating` status and transition to `activated` after Capacity Manager receives the first data point that includes a Capacity Manager-provided tag, typically within one to two hours.

## Tag lifecycle
<a name="tag-lifecycle"></a>

Monitored tag keys progress through the following statuses:


| Status | Description | 
| --- | --- | 
| activating | The tag key is registered. Capacity Manager is preparing to collect data for this tag. You cannot query metrics using a tag in this status. | 
| activated | Tag data is being ingested and is queryable through the metric APIs and in data exports. | 
| suspended | The tag key has exceeded the threshold of 100,000 unique tag values. The tag still counts toward your limit, but Capacity Manager no longer ingests data for it. If your tag value usage decreases below the threshold for a sustained period, the tag is reactivated automatically. | 
| deactivating | The tag key is being removed. It will no longer appear in GetCapacityManagerMonitoredTagKeys after deactivation completes. | 

When a tag is in `suspended` status, `GetCapacityManagerMonitoredTagKeys` returns the following status message: "Tag suspended due to too many tag values. Reduce the usage of the tag or deactivate it."

**Note**  
If you deactivate a tag key and later re-activate the same key, only data ingested after re-activation is queryable. Historical data from the previous activation is not accessible. The `EarliestDatapointTimestamp` resets with each new activation.

## Activate and deactivate monitored tag keys
<a name="activate-deactivate-tag-keys"></a>

You can activate tag keys to begin monitoring them as dimensions, or deactivate tag keys you no longer need. Activation is asynchronous — the tag enters an `activating` state and transitions to `activated` after Capacity Manager begins receiving data for that tag. Deactivation removes the tag key from your monitored set.

**Note**  
When activating a tag key, enter only the key name (for example, `environment`). Capacity Manager automatically makes it available as a dimension for grouping and filtering your metrics.

------
#### [ Console ]

**To activate or deactivate monitored tag keys**

1. Open the Amazon EC2 console at [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. In the navigation pane, choose **Capacity Manager**.

1. Choose the **Settings** tab.

1. In the **Monitored tag keys** section, choose **Manage tag keys**.

1. To activate a tag key, enter the tag key name and choose **Add**. To deactivate a tag key, select the tag key and choose **Remove**.

1. Choose **Save changes**.

------
#### [ AWS CLI ]

**To activate tag keys**  
Use the following command to activate one or more tag keys:

```
aws ec2 update-capacity-manager-monitored-tag-keys \
    --activate-tag-keys "environment" "teamId"
```

The output shows the tag keys and their initial statuses:

```
{
    "CapacityManagerTagKeys": [
        {
            "TagKey": "environment",
            "Status": "activating"
        },
        {
            "TagKey": "teamId",
            "Status": "activating"
        }
    ]
}
```

**To deactivate tag keys**  
Use the following command to deactivate one or more tag keys:

```
aws ec2 update-capacity-manager-monitored-tag-keys \
    --deactivate-tag-keys "project"
```

The output shows the updated statuses:

```
{
    "CapacityManagerTagKeys": [
        {
            "TagKey": "project",
            "Status": "deactivating"
        }
    ]
}
```

You can activate and deactivate tag keys in the same request:

```
aws ec2 update-capacity-manager-monitored-tag-keys \
    --activate-tag-keys "environment" "teamId" \
    --deactivate-tag-keys "project"
```

------

## View monitored tag keys
<a name="view-monitored-tag-keys"></a>

You can view all monitored tag keys for your account, including their current status and the earliest timestamp from which data is available.

------
#### [ Console ]

**To view monitored tag keys**

1. Open the Amazon EC2 console at [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. In the navigation pane, choose **Capacity Manager**.

1. Choose the **Settings** tab.

1. In the **Monitored tag keys** section, view your tag keys, their statuses, and whether they are Capacity Manager-provided tags.

------
#### [ AWS CLI ]

**To view monitored tag keys**  
Run the following command:

```
aws ec2 get-capacity-manager-monitored-tag-keys
```

The output lists all tag keys, including Capacity Manager-provided tags and customer-managed tags:

```
{
    "CapacityManagerTagKeys": [
        {
            "TagKey": "aws:autoscaling:groupName",
            "Status": "activated",
            "CapacityManagerProvided": true,
            "earliestDatapointTimestamp": "2026-04-08T00:00:00"
        },
        {
            "TagKey": "environment",
            "Status": "activated",
            "CapacityManagerProvided": false,
            "earliestDatapointTimestamp": "2025-08-11T22:00:00"
        }
    ]
}
```

The `CapacityManagerProvided` field indicates whether a tag is a Capacity Manager-provided tag (`true`) or a customer-managed tag (`false`). Capacity Manager-provided tags do not count toward your tag key limit. The `EarliestDatapointTimestamp` indicates the earliest point in time from which data is available for that tag key.

------

## Query metrics using tag dimensions
<a name="query-metrics-tag-dimensions"></a>

After a tag key reaches `activated` status, you can use it as a dimension in `GetCapacityManagerMetricDimensions` and `GetCapacityManagerMetricData`.

**To query metrics grouped by a tag dimension**  
Use the following command:

```
aws ec2 get-capacity-manager-metric-dimensions \
    --group-by tag:environment account-id \
    --filter-by 'DimensionCondition={Dimension=tag:environment,Comparison=equals,Values=[prod]}'
```

When you group by a tag dimension, the results include all resources in your account — not only those that have the tag. Resources that do not have a value for the tag are grouped into a separate bucket with an empty string value. For example, if your account used 800 vCPU hours in a given period and only some of those resources have an `environment` tag, grouping by the `environment` tag key might return:
+ `prod` — 300 vCPU hours
+ `staging` — 200 vCPU hours
+ `""` (empty string) — 300 vCPU hours from resources without an `environment` tag

This ensures that the totals across all buckets account for your full usage. You can explicitly filter for untagged resources by passing an empty string as the filter value:

```
--filter-by 'DimensionCondition={Dimension=tag:environment,Comparison=equals,Values=[""]}'
```

**Note**  
If you query with a tag key that is still in `activating` status, the query is rejected with a 400 error. Wait for the tag's status to change to `activated` before querying. You can check the status using `GetCapacityManagerMonitoredTagKeys`.

**Note**  
Queries with a start time before the `EarliestDatapointTimestamp` of any supplied tag dimension are rejected. Use `GetCapacityManagerMonitoredTagKeys` to check when data became available for each tag.

## Tags in data exports
<a name="tags-in-data-exports"></a>

When you enable tag monitoring, your data exports include activated tag keys and Capacity Manager-provided tags as additional columns. Tag columns appear after all standard columns with headers such as `tag:environment` and `tag:team`. Tag columns are sorted alphabetically.

Exports include only tags in `activated` status. Capacity Manager excludes tags in `activating`, `deactivating`, or `suspended` status.

**Note**  
If you activate a new tag key, existing data exports do not automatically include the new tag. You must create a new data export to include the newly activated tag key as a column.

## Organizations and delegated administrator
<a name="tag-keys-organizations"></a>

When your account is part of an AWS Organization with an organization-level Capacity Manager enabled, each account (the organization administrator and the delegated administrator) can independently activate, deactivate, and query tag keys. Each account maintains its own tag status, `EarliestDatapointTimestamp`, and tag key limit.

An account can only query metric data for tag keys that the account itself has activated. If both the organization administrator and a delegated administrator activate the same tag key (for example, `environment`), each account tracks its own activation status and data availability independently.

When the delegated administrator deactivates a tag key, the delegated administrator can no longer query data for that tag, even if the organization administrator still has the same tag key activated.

## Considerations
<a name="tag-keys-considerations"></a>
+ **Tag value updates:** Tag values for new resources and tags newly applied to existing resources are available within a few hours. If you change the value of an existing tag on a resource, the updated value can take up to 24 hours to reflect in Capacity Manager.
+ **Activation time:** After you activate a tag key, it can take up to 24 hours before the tag transitions to `activated` status and data becomes queryable. The `EarliestDatapointTimestamp` represents when data is available, not when the tag was activated.
+ **Tag key limit:** Each account can monitor up to five tag keys. Capacity Manager-provided tags do not count toward this limit.
+ **Tag key character requirements:** Tag keys can contain Unicode letters, digits, white space, and the following characters: `_ . : / = + @ -`. Tag keys must not exceed 128 characters.
+ **Re-activation:** If you deactivate and re-activate the same tag key, only new data is available. The `EarliestDatapointTimestamp` resets with each activation.
+ **Suspended tags:** Each tag key supports up to 100,000 unique tag values. If a tag key exceeds this threshold, it is moved to `suspended` status. The tag still counts toward your limit but data is no longer ingested. Reduce the number of unique values for the tag or deactivate it to free up space for another tag key.

# Navigating Capacity Manager in the AWS console
<a name="capacity-manager-console"></a>

The Capacity Manager console is organized into tabs that provide different views of your capacity data:
+ **Dashboard** — Provides a high-level overview of all On-Demand Capacity Reservations, On-Demand and Spot usage, including key metrics to help improve your capacity posture.
+ **Usage** — Provides an overview of your instance usage patterns for On-Demand and Spot instances. Analyze coverage by Capacity Reservations and identify optimization opportunities through flexible grouping and filtering.
+ **Reservations** — Provides analysis of Capacity Reservation utilization, management capabilities, and detailed reservation metrics across accounts and Regions.
+ **Spot** — Monitors Spot usage patterns and provides cost analysis for Spot instances across accounts and Regions.
+ **Data exports** — Manages data export configuration to Amazon S3, including scheduling, formatting, and template selection.
+ **Settings** — Provides service configuration options including organization access, regional settings, and monitored tag key management. You can activate tag keys from your Amazon EC2 resources to use as dimensions when grouping and filtering capacity metrics. For more information, see [Managing monitored tag keys](managing-monitored-tag-keys.md).

Within the Usage and Reservations tabs, Capacity Manager provides a hierarchical navigation structure that allows you to drill down from high-level overviews to detailed resource information. Understanding this navigation pattern helps you analyze your capacity data efficiently and identify optimization opportunities.

**Topics**
+ [

## Navigation hierarchy
](#navigation-hierarchy)
+ [

## View breakdown and details for Usage and Reservations
](#navigation-page-breakdown)

## Navigation hierarchy
<a name="navigation-hierarchy"></a>

Capacity Manager uses a three-level navigation structure for Usage and Reservations:

1. **Overview page** — High-level summary with aggregated metrics.

1. **Breakdown page** — Detailed analysis with filtering and grouping options

1. **Detail pages:**
   + Usage details — Information about your selected dimension combination, which provides statistics and time-series data to help you understand usage patterns. 
   + Reservation details — Information about a specific Capacity Reservation including utilization statistics, usage patterns over time, and configuration details.

**Note**  
Spot follows a simplified structure with only the overview page.

## View breakdown and details for Usage and Reservations
<a name="navigation-page-breakdown"></a>

Both Usage and Reservations tabs follow the same three-level navigation structure, allowing you to progress from overview to breakdown to details pages. The processes for accessing breakdown and details pages are similar, with only minor differences in where the navigation links are located within each tab.

**To access the resource breakdown pages**

1. Open the Amazon EC2 console at [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. In the navigation pane, choose **Capacity Manager**.

1. Choose the tab for the resource type you want to analyze: **Usage** or **Reservations**.

1. In the **Aggregations** section, locate the breakdown link:
   + **Usage**: In the **Actions** column, choose **View breakdown**.
**Note**  
Depending on your screen size or the number of dimensions you've applied, you might need to scroll horizontally across the page to find the View breakdown link.
   + **Reservations**: In the **Reservations** column, choose the number (the number is a link) of the reservation you want to view.

**To access the details pages**

1. On the breakdown page, navigate to the relevant section:
   + **Usage**: The Unique dimension combinations section.
   + **Reservations**: The Reservations section.

1. In the relevant section of your chosen resources, access the details page.
   + **Usage**: In the Actions column, choose **View details**.
**Note**  
Depending on your screen size or the number of dimensions you've applied, you might need to scroll horizontally across the page to find the View details link.
   + **Reservations**: In the Reservation ID column, choose the reservation you want to view.

# Exporting your Capacity Manager data
<a name="exporting-cm-data"></a>

You can export capacity data from EC2 Capacity Manager to Amazon S3 to enable further analysis, create custom reports, or integrate with other AWS services. You can export your data in CSV or Parquet format. In the following sections, you'll find information on how to export your Capacity Manager data.

**Note**  
Capacity Manager only allows one data export per AWS account.

**Note**  
In the rare case that a data export needs to be redriven due to a data issue, the new file overwrites the existing file for that hour.

**Topics**
+ [

# Setting up an Amazon S3 bucket for Capacity Manager data exports
](cm-set-up-s3-export.md)
+ [

# Creating a data export for your Capacity Manager data
](create-cm-export.md)

# Setting up an Amazon S3 bucket for Capacity Manager data exports
<a name="cm-set-up-s3-export"></a>

To receive Capacity Manager data exports, you must have an Amazon S3 bucket in your AWS account to receive and store your export files. When creating a data export in the Capacity Manager console, you can select an existing Amazon S3 bucket that you own or create a new bucket.

In either case, you must apply the required bucket policy to allow Capacity Manager to deliver export files. Editing this policy in the Amazon S3 console or changing the bucket owner after you've created a data export will prevent Capacity Manager from delivering your exports.

To create an Amazon S3 bucket, see [Creating an S3 bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html) in the *Amazon Simple Storage Service User Guide*. 

The following policy must be applied to your S3 bucket to allow Capacity Manager to deliver data exports:

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "ec2.capacitymanager.amazonaws.com"
            },
            "Action": [
                "s3:PutObject",
                "s3:GetObject",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket",
                "arn:aws:s3:::amzn-s3-demo-bucket/*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "111122223333"
                },
                "ArnLike": {
                    "aws:SourceArn": "arn:aws:ec2:us-east-1:111122223333:capacity-manager-data-export/*"
                }
            }
        }
    ]
}
```

This bucket policy helps ensure that Capacity Manager data export files can be delivered securely to your bucket. Specifically:
+ Every time a Capacity Manager data export is delivered, AWS first confirms whether the bucket is still owned by the account that set up the export. If the bucket ownership has changed, the export will not be delivered. This helps to ensure the security of Capacity Manager data. This bucket policy allows AWS (`"Effect": "Allow"`) to check which account owns the bucket (`"Action": ["s3:ListBucket"]`).
+ The policy grants the Capacity Manager service (`"Service": "ec2.capacitymanager.amazonaws.com"`) permission to write export files (`"Action": "s3:PutObject"`) and read objects (`"Action": "s3:GetObject"`) to copy data to your bucket.

# Creating a data export for your Capacity Manager data
<a name="create-cm-export"></a>

To create a data export, you can use the Data Exports page in the Capacity Manager console or the AWS CLI.

## Prerequisites
<a name="cm-export-prerequisites"></a>

You must create an Amazon Simple Storage Service (Amazon S3) bucket. You must make sure of the following:
+ Your S3 bucket must be in the same AWS Region where you enabled Capacity Manager. 
+ Your S3 bucket has the required permissions policy for the Capacity Manager service to deliver files. 

For more information, see [Setting up an Amazon S3 bucket for Capacity Manager data exports](cm-set-up-s3-export.md).

## Procedure
<a name="cm-export-procedure"></a>

You can export your Capacity Manager data using the AWS Console, the AWS CLI, or PowerShell.

------
#### [ Console ]

**To create a data export**

1. Open the Amazon EC2 console at [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. In the navigation pane, choose **Capacity Manager**.

1. Choose the **Data exports** tab.

1. Choose **Create data export**.

1. Configure your export properties, delivery location, and tags (optional).

1. Choose **Create**.

------
#### [ AWS CLI ]

**To create a data export**  
Use the following command to create a data export with the specified configuration:

```
aws ec2 create-capacity-manager-data-export \
    --s3-bucket-name my-exports-bucket \
    --s3-bucket-prefix capacity-data-exports \
    --schedule hourly \
    --output-format parquet/CSV \
    --tag-specifications 'ResourceType=capacity-manager-data-export,Tags=[{Key=environment,Value=production}]'
```

**Note**  
The `--tag-specifications` parameter in the command above applies resource tags to the data export resource itself (for example, for cost allocation or organization). These are separate from monitored tag keys, which determine the tag columns included in your exported data. For more information about monitored tag keys, see [Managing monitored tag keys](managing-monitored-tag-keys.md).

------
#### [ PowerShell ]

**To create a data export**  
Use the [New-EC2CapacityManagerDataExport](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2CapacityManagerDataExport.html) cmdlet.

```
New-EC2CapacityManagerDataExport `
    -S3BucketName "my-exports-bucket" `
    -S3BucketPrefix "capacity-data-exports" `
    -Schedule "hourly" `
    -OutputFormat "parquet" `
    -TagSpecification @([Amazon.EC2.Model.TagSpecification]@{
        ResourceType = "capacity-manager-data-export"
        Tags = @([Amazon.EC2.Model.Tag]@{
            Key   = "environment"
            Value = "production"
        })
    })
```

------

## Tag columns in data exports
<a name="create-export-tag-columns"></a>

Newly created data exports include tag values as additional columns for activated monitored tag keys and Capacity Manager-provided tags. For more information, see [Tags in data exports](managing-monitored-tag-keys.md#tags-in-data-exports) in [Managing monitored tag keys](managing-monitored-tag-keys.md).

**Note**  
If you have not activated any monitored tag keys, your exports will still include columns for Capacity Manager-provided tags (for example, `aws:autoscaling:groupName`, `aws:eks:cluster-name`, `eks:kubernetes-node-pool-name`, and `karpenter.sh/nodepool`).