AWSBackup DG PDF
AWSBackup DG PDF
AWSBackup DG PDF
Developer Guide
AWS Backup Developer Guide
Amazon's trademarks and trade dress may not be used in connection with any product or service that is not
Amazon's, in any manner that is likely to cause confusion among customers, or in any manner that disparages or
discredits Amazon. All other trademarks not owned by Amazon are the property of their respective owners, who may
or may not be affiliated with, connected to, or sponsored by Amazon.
AWS Backup Developer Guide
Table of Contents
What Is AWS Backup? ......................................................................................................................... 1
Supported Resources .................................................................................................................. 1
AWS Backup Overview ................................................................................................................ 1
Centralized Backup Management ......................................................................................... 1
Cross-Region Backup .......................................................................................................... 2
Policy-Based Backup Solutions ............................................................................................. 2
Tag-Based Backup Policies ................................................................................................... 2
Backup Activity Monitoring .................................................................................................. 2
Lifecycle Management Policies ............................................................................................. 2
Backup Access Policies ........................................................................................................ 2
Getting Started .......................................................................................................................... 3
How it Works .................................................................................................................................... 4
Working with Other Services ....................................................................................................... 4
Working with Amazon EC2 .................................................................................................. 5
Working with Amazon RDS .................................................................................................. 6
Working with AWS Storage Gateway .................................................................................... 7
Cross-Region Backups ................................................................................................................. 7
Metering Backup and Pricing Usage .............................................................................................. 7
Blogs, Videos, and Other Resources .............................................................................................. 7
Setting Up ........................................................................................................................................ 8
Sign up for AWS ........................................................................................................................ 8
Create an IAM User .................................................................................................................... 8
Getting Started ................................................................................................................................ 10
Prerequisites ............................................................................................................................ 10
Step 1: Create an On-Demand Backup ........................................................................................ 11
Next Steps ....................................................................................................................... 12
Step 2: Create a Scheduled Backup ............................................................................................ 12
Create a Backup Plan by Modifying an Existing One .............................................................. 12
Assign Resources to a Backup Plan ..................................................................................... 13
Create a Backup Vault ....................................................................................................... 14
Next Steps ....................................................................................................................... 14
Step 3: Monitor Your Backup Jobs .............................................................................................. 15
View the Status of Backup Jobs ......................................................................................... 15
View All Backups in a Vault ............................................................................................... 15
View Details of Protected Resources ................................................................................... 15
Next Steps ....................................................................................................................... 16
Step 4: Restore a Backup .......................................................................................................... 16
Next Steps ....................................................................................................................... 18
Step 5: Clean Up ...................................................................................................................... 18
Delete Restored AWS Resources ......................................................................................... 18
Delete the Backup Plan ..................................................................................................... 18
Delete the Recovery Points ................................................................................................ 18
Delete the Backup Vault .................................................................................................... 19
Backup Plans ................................................................................................................................... 20
Creating a Backup Plan ............................................................................................................. 20
Creating Backup Plans Using the AWS Management Console .................................................. 20
Backup Plan Options and Configuration .............................................................................. 21
Assigning Resources .................................................................................................................. 22
Deleting a Backup Plan ............................................................................................................. 23
Updating a Backup Plan ............................................................................................................ 23
Backup Vaults .................................................................................................................................. 24
Creating a Backup Vault ............................................................................................................ 24
Backup Vault Name .......................................................................................................... 24
KMS Encryption Master Key ............................................................................................... 24
iii
AWS Backup Developer Guide
iv
AWS Backup Developer Guide
DeleteBackupVaultNotifications .......................................................................................... 90
DeleteRecoveryPoint ......................................................................................................... 92
DescribeBackupJob ........................................................................................................... 94
DescribeBackupVault ......................................................................................................... 98
DescribeCopyJob ............................................................................................................ 101
DescribeProtectedResource .............................................................................................. 103
DescribeRecoveryPoint .................................................................................................... 105
DescribeRestoreJob ......................................................................................................... 110
ExportBackupPlanTemplate .............................................................................................. 113
GetBackupPlan ............................................................................................................... 115
GetBackupPlanFromJSON ................................................................................................ 118
GetBackupPlanFromTemplate ........................................................................................... 121
GetBackupSelection ........................................................................................................ 123
GetBackupVaultAccessPolicy ............................................................................................. 126
GetBackupVaultNotifications ............................................................................................ 128
GetRecoveryPointRestoreMetadata .................................................................................... 131
GetSupportedResourceTypes ............................................................................................ 133
ListBackupJobs ............................................................................................................... 135
ListBackupPlans .............................................................................................................. 138
ListBackupPlanTemplates ................................................................................................. 140
ListBackupPlanVersions ................................................................................................... 142
ListBackupSelections ....................................................................................................... 144
ListBackupVaults ............................................................................................................. 146
ListCopyJobs .................................................................................................................. 148
ListProtectedResources .................................................................................................... 151
ListRecoveryPointsByBackupVault ..................................................................................... 153
ListRecoveryPointsByResource .......................................................................................... 156
ListRestoreJobs .............................................................................................................. 159
ListTags ......................................................................................................................... 161
PutBackupVaultAccessPolicy ............................................................................................. 163
PutBackupVaultNotifications ............................................................................................ 165
StartBackupJob .............................................................................................................. 167
StartCopyJob ................................................................................................................. 171
StartRestoreJob .............................................................................................................. 174
StopBackupJob ............................................................................................................... 177
TagResource ................................................................................................................... 179
UntagResource ............................................................................................................... 181
UpdateBackupPlan .......................................................................................................... 183
UpdateRecoveryPointLifecycle .......................................................................................... 186
Data Types ............................................................................................................................ 188
BackupJob ..................................................................................................................... 190
BackupPlan .................................................................................................................... 193
BackupPlanInput ............................................................................................................ 194
BackupPlansListMember .................................................................................................. 195
BackupPlanTemplatesListMember ..................................................................................... 197
BackupRule .................................................................................................................... 198
BackupRuleInput ............................................................................................................ 200
BackupSelection ............................................................................................................. 202
BackupSelectionsListMember ........................................................................................... 203
BackupVaultListMember .................................................................................................. 205
CalculatedLifecycle ......................................................................................................... 207
Condition ....................................................................................................................... 208
CopyAction .................................................................................................................... 209
CopyJob ........................................................................................................................ 210
Lifecycle ........................................................................................................................ 213
ProtectedResource .......................................................................................................... 214
RecoveryPointByBackupVault ........................................................................................... 215
v
AWS Backup Developer Guide
vi
AWS Backup Developer Guide
Supported Resources
AWS Backup provides a fully managed backup service and a policy-based backup solution that simplifies
your backup management and enables you to meet your business and regulatory backup compliance
requirements.
Supported Resources
The following are AWS resources that you can back up and restore using AWS Backup.
*AWS Backup does not support Amazon EC2 instance store-backed instances.
**AWS Backup currently supports all Amazon RDS database engines except Amazon Aurora.
1
AWS Backup Developer Guide
Cross-Region Backup
Backup, you can centrally manage backup policies that meet your backup requirements. You can then
apply them to your AWS resources across AWS services, enabling you to back up your application data in
a consistent and compliant manner. The AWS Backup centralized backup console offers a consolidated
view of your backups and backup activity logs, making it easier to audit your backups and ensure
compliance.
Cross-Region Backup
Using AWS Backup, you can copy backups to multiple different AWS Regions on demand or automatically
as part of a scheduled backup plan. Cross-Region backup is particularly valuable if you have business
continuity or compliance requirements to store backups a minimum distance away from your production
data.
AWS Backup integrates with AWS CloudTrail. CloudTrail gives you a consolidated view of backup activity
logs that make it quick and easy to audit how your resources are backed up. AWS Backup also integrates
with Amazon Simple Notification Service (Amazon SNS), providing you with backup activity notifications,
such as when a backup succeeds or a restore has been initiated.
2
AWS Backup Developer Guide
Getting Started
Getting Started
To learn more about AWS Backup, we recommend that you start with the following sections:
3
AWS Backup Developer Guide
Working with Other Services
AWS Backup lets you apply backup plans to your AWS resources by simply tagging them. AWS Backup
then automatically backs up your AWS resources according to the backup plan that you defined.
The following sections describe how AWS Backup works, its implementation details, and security
considerations.
Topics
• How AWS Backup Works with Other AWS Services (p. 4)
• Cross-Region Backups (p. 7)
• Metering Backup and Pricing Usage (p. 7)
• AWS Backup Blogs, Videos, and Other Resources (p. 7)
AWS Backup uses existing backup capabilities of AWS services to implement its centralized features. For
example, when you create a backup plan, AWS Backup uses the EBS snapshot capabilities when creating
backups on your behalf according to your backup plan.
All per-service backup capabilities continue to be available. For example, you can make snapshots of
your EBS volumes using the Amazon Elastic Compute Cloud (Amazon EC2) API. AWS Backup provides
a common way to manage backups across AWS services both in the AWS Cloud and on premises. AWS
Backup provides a centralized backup console that offers backup scheduling, retention management, and
backup monitoring.
Note
Backups created with AWS Backup cannot be deleted with APIs belonging to the backed-
up resource. For information about deleting recovery points using the AWS Backup API, see
DeleteRecoveryPoint (p. 92).
For more information about how AWS Backup works with other AWS services, see the following:
4
AWS Backup Developer Guide
Working with Amazon EC2
When backing up an Amazon EC2 instance, AWS Backup takes a snapshot of the root Amazon EBS
storage volume, the launch configurations, and all associated EBS volumes. AWS Backup stores certain
configuration parameters of the EC2 instance, including instance type, security groups, Amazon VPC,
monitoring configuration, and tags. The backup data is stored as an Amazon EBS volume-backed AMI
(Amazon Machine Image).
Note
For all instance types, only Amazon EBS backed EC2 instances are supported. Ephemeral storage
instances (that is, instance store-backed instances) are not supported.
AWS Backup can encrypt EBS snapshots associated with an Amazon EC2 backup. This is similar to how it
encrypts EBS snapshots. AWS Backup uses the same encryption applied on the underlying EBS volumes
when creating a snapshot of the Amazon EC2 AMI, and the configuration parameters of the original
instance are persisted in the restore metadata.
A snapshot derives its encryption from the volume as you have defined, and the same encryption is
applied to the corresponding snapshots. EBS snapshots of a copied AMI will always be encrypted. If you
use a KMS key during the copy, the key will be applied. If you don't use a KMS key, a default KMS key is
applied.
You can restore Amazon EC2 resources using the AWS Backup console, AWS Command Line Interface
(AWS CLI), or API.
The console provides an interactive user interface for restoring resources, but its functionality is limited.
Currently, you can't use the AWS Backup console to configure the following restore parameters.
NetworkInterfaces = [{
"AssociatePublicIpAddress": true,
"DeleteOnTermination": false,
"Description": "test network interface",
"DeviceIndex": 1,
"Groups": ["your nic_groups_id"],
"Ipv6AddressCount": 1,
"Ipv6Addresses": [{
"Ipv6Address1": "ipv6_address2"
}],
"NetworkInterfaceId": "your nic_interface_id",
"PrivateIpAddress": "your private_ip_address",
"PrivateIpAddresses": [{
"Primary": true,
"PrivateIpAddress": "private_ip_address_1"
5
AWS Backup Developer Guide
Working with Amazon RDS
}, {
"Primary": false,
"PrivateIpAddress": "private_ip_address_2"
}],
"SecondaryPrivateIpAddressCount": 1,
"SubnetId": "nic_subnet_id",
"InterfaceType": "interface"
}],
ElasticGpuSpecification = [{
"Type": "test_elastic_gpu_type"
}],
CapacityReservationSpecification = {
"CapacityReservationPreference": "none"
},
InstanceMarketOptions = {
"MarketType": "spot",
"SpotOptions": {
"MaxPrice": "test_spot_price_value",
"SpotInstanceType": "persistent",
"BlockDurationMinutes": 20,
"ValidUntil": "2019-12-16T12:34:56.000Z",
"InstanceInterruptionBehavior": "hibernate"
}
},
LicenseSpecifications = [{
"LicenseConfigurationArn": "your_license_configuration_arn"
}],
However, you can use the AWS CLI and the API to perform a full restore. For more information about
restore parameters, see run-instances.
All the restore configurations for an EC2 instance should be provided as restore metadata, which is a map
of key-value pairs. The key is the name of the configuration, and value as is a JSON serialized string.
Note
When restoring a backup, AWS Backup doesn’t allow mutation of the SSH key pair, so you can
only restore using a backed-up key pair.
AWS Backup doesn't allow you to modify the instance profile to prevent the possibility of
privilege escalations. You can choose not to apply this from AWS Backup, but if you want to
change it, you can apply it from EC2.
To successfully do a restore with the original instance profile, you must edit the restore policy. If you
apply an instance profile during the restore, you have to update the operator role and add PassRole
permissions of the underlying instance profile role to Amazon EC2. Otherwise, Amazon EC2 can't
authorize the instance launch, and it will fail.
Note
When you are restoring from AWS Backup, all quotas and restrictions of the configuration that
can be used to launch an instance from an EC2 run instance API apply.
6
AWS Backup Developer Guide
Working with AWS Storage Gateway
Cross-Region Backups
Using AWS Backup, you can copy backups to multiple AWS Regions on demand or automatically as
part of a scheduled backup plan. Cross-Region replication is particularly valuable if you have business
continuity or compliance requirements to store backups a minimum distance away from your production
data.
You can use the AWS Backup console, the AWS Command Line Interface (AWS CLI), or the AWS Backup
API to copy your backups for the following resources, defining different backup lifecycles in different
Regions as appropriate:
You can also recover from backups stored in different Regions. For information about creating copies, see
Creating a Backup Copy (p. 30).
Cross-Region backups are available in all AWS Regions that are available in AWS Backup except Asia
Pacific (Hong Kong) and Middle East (Bahrain).
For services that introduce backup capabilities on AWS Backup, such as Amazon EFS, backup usage is
metered and billed by AWS Backup. For more information, see AWS Backup pricing.
• AWS Backup
7
AWS Backup Developer Guide
Sign up for AWS
Setting Up
Before you use AWS Backup for the first time, complete the following tasks:
For more information about AWS Backup usage rates, see the AWS Backup Pricing page. If you are a new
AWS customer, you can get started with AWS Backup for free. For more information, see AWS Free Usage
Tier.
If you have an AWS account already, skip to the next task. If you don't have an AWS account, use the
following procedure to create one.
1. Open https://portal.aws.amazon.com/billing/signup.
2. Follow the online instructions.
Part of the sign-up procedure involves receiving a phone call and entering a verification code on the
phone keypad.
Note your AWS account number, because you'll need it for the next task.
If you signed up for AWS but have not created an IAM user for yourself, you can create one using the IAM
console.
To create an administrator user for yourself and add the user to an administrators group
(console)
1. Use your AWS account email address and password to sign in as the AWS account root user to the
IAM console at https://console.aws.amazon.com/iam/.
8
AWS Backup Developer Guide
Create an IAM User
Note
We strongly recommend that you adhere to the best practice of using the Administrator
IAM user below and securely lock away the root user credentials. Sign in as the root user
only to perform a few account and service management tasks.
2. In the navigation pane, choose Users and then choose Add user.
3. For User name, enter Administrator.
4. Select the check box next to AWS Management Console access. Then select Custom password, and
then enter your new password in the text box.
5. (Optional) By default, AWS requires the new user to create a new password when first signing in. You
can clear the check box next to User must create a new password at next sign-in to allow the new
user to reset their password after they sign in.
6. Choose Next: Permissions.
7. Under Set permissions, choose Add user to group.
8. Choose Create group.
9. In the Create group dialog box, for Group name enter Administrators.
10. Choose Filter policies, and then select AWS managed -job function to filter the table contents.
11. In the policy list, select the check box for AdministratorAccess. Then choose Create group.
Note
You must activate IAM user and role access to Billing before you can use the
AdministratorAccess permissions to access the AWS Billing and Cost Management
console. To do this, follow the instructions in step 1 of the tutorial about delegating access
to the billing console.
12. Back in the list of groups, select the check box for your new group. Choose Refresh if necessary to
see the group in the list.
13. Choose Next: Tags.
14. (Optional) Add metadata to the user by attaching tags as key-value pairs. For more information
about using tags in IAM, see Tagging IAM Entities in the IAM User Guide.
15. Choose Next: Review to see the list of group memberships to be added to the new user. When you
are ready to proceed, choose Create user.
You can use this same process to create more groups and users and to give your users access to your AWS
account resources. To learn about using policies that restrict user permissions to specific AWS resources,
see Access Management and Example Policies.
To sign in as this new IAM user, sign out of the AWS Management Console. Then use the following URL,
where your_aws_account_id is your AWS account number without the hyphens (for example, if your AWS
account number is 1234-5678-9012, your AWS account ID is 123456789012):
https://your_aws_account_id.signin.aws.amazon.com/console/
Enter the IAM user name and password that you just created. When you're signed in, the navigation bar
displays your_user_name@your_aws_account_id.
If you don't want the URL for your sign-in page to contain your AWS account ID, you can create an
account alias. From the IAM dashboard, click Create Account Alias and enter an alias, such as your
company name. To sign in after you create an account alias, use the following URL:
https://your_account_alias.signin.aws.amazon.com/console/
To verify the sign-in link for IAM users for your account, open the IAM console and check under AWS
Account Alias on the dashboard.
9
AWS Backup Developer Guide
Prerequisites
Topics
• Prerequisites (p. 10)
• Step 1: Create an On-Demand Backup (p. 11)
• Step 2: Create a Scheduled Backup (p. 12)
• Step 3: Monitor Your Backup Jobs and Verify That Your Resources Are Protected (p. 15)
• Step 4: Restore a Backup (p. 16)
• Step 5: Clean Up Resources (p. 18)
Prerequisites
Before you begin, ensure that you have the following:
For information about creating an Amazon EBS volume, see Creating an Amazon EBS Volume in the
Amazon EC2 User Guide for Linux Instances.
• You should be familiar with the services that you are backing up. You also need a set of resources that
you will protect with AWS Backup.
For information about getting started with Amazon EC2 and creating Amazon EC2 resources, see
Getting Started with Amazon EC2 Windows Instances in the Amazon EC2 User Guide for Windows
Instances or Getting Started with Amazon EC2 Linux Instances in the Amazon EC2 User Guide for
Linux Instances.
• Amazon Elastic File System (Amazon EFS)
For information about getting started with Amazon EFS and creating Amazon EFS resources, see
Getting Started with Amazon Elastic File System in the Amazon Elastic File System User Guide.
• Amazon DynamoDB
For information about setting up and creating DynamoDB resources, see Getting Started with
DynamoDB in the Amazon DynamoDB Developer Guide.
• Amazon Relational Database Service (Amazon RDS)
For information about getting started with Amazon RDS, see Getting Started with Amazon RDS in
the Amazon RDS User Guide.
Note
AWS Backup currently supports all Amazon RDS database engines except Amazon Aurora.
• AWS Storage Gateway
10
AWS Backup Developer Guide
Step 1: Create an On-Demand Backup
For information about creating a volume gateway, see Creating a Volume Gateway in the AWS
Storage Gateway User Guide.
• Your resources are all in the same AWS Region. This tutorial uses the US East (N. Virginia) Region (us-
east-1).
• You have AWS resources that you will be backing up in the Region that you're using for this tutorial.
To complete this tutorial, you can use your AWS account root user to sign in to the AWS Management
Console. However, AWS Identity and Access Management (IAM) recommends that you not use the AWS
account root user. Instead, create an administrator in your account and use those credentials to manage
resources in your account. For more information, see Setting Up (p. 8).
In this first step, you create an on-demand backup of one of your resources. You will then see this
resource listed on the Protected resources page.
1. Sign in to the AWS Management Console, and open the AWS Backup console at https://
console.aws.amazon.com/backup.
2. From the dashboard, choose Create on-demand backup. Or, using the navigation pane, choose
Protected resources, and then Create on-demand backup.
3. On the Create on-demand backup page, choose the resource type that you want to back up; for
example, choose DynamoDB for Amazon DynamoDB tables.
4. Choose the name or ID of the resource that you want to protect; for example, VideoMetadataTable.
5. Ensure that Create backup now is selected. This initiates a backup immediately and enables you to
see your saved resource sooner on the Protected resources page.
6. Specify a transition to cold storage value (if appropriate) and an expire value.
Note
Only Amazon EFS backups support transition to cold storage. All other resource types are
saved to warm storage. The expire value is valid for all resource types.
7. Choose an existing backup vault. Choosing Create new backup vault opens a new page to create a
vault and then returns you to the Create on-demand backup page when you are finished.
8. Under IAM role, choose Default role.
Note
If the AWS Backup default role is not present in your account, a role is created for you with
the correct permissions.
9. If you want to assign one or more tags to your on-demand backup, enter a key and optional value,
and choose Add tag.
Note
When creating a tag-based backup plan, if you choose a role other than Default role, make
sure that it has the necessary permissions to back up all tagged resources. AWS Backup tries
to process all resources with the selected tags. If it encounters a resource that it doesn't
have permission to access, the backup plan fails.
11
AWS Backup Developer Guide
Next Steps
10. Choose Create on-demand backup. This takes you to the Jobs page, where you will see a list of jobs.
11. Choose the Backup job ID for the resource that you chose to back up to see the details of that job.
Next Steps
To verify the status and monitor the details of your backup activity, proceed to Step 2: Create a
Scheduled Backup (p. 12).
Before you begin, ensure that you have the required prerequisites. For more information, see Getting
Started with AWS Backup (p. 10).
Topics
• Create a Backup Plan by Modifying an Existing One (p. 12)
• Assign Resources to a Backup Plan (p. 13)
• Create a Backup Vault (p. 14)
• Next Steps (p. 14)
There are two ways to create a new backup plan: You can build one from scratch or build one based
on an existing backup plan. This example uses the AWS Backup console to create a backup plan by
modifying an existing backup plan.
1. Sign in to the AWS Management Console, and open the AWS Backup console at https://
console.aws.amazon.com/backup.
2. From the dashboard, choose Manage Backup plans. Or, using the navigation pane, choose Backup
plans.
3. Choose a plan from the list (for example, Daily-Monthly-1yr-Retention), and enter a name in
the Backup plan name box.
Note
If you try to create a backup plan that is identical to an existing plan, you get an
AlreadyExistsException error.
4. On the plan summary page, choose the radio button for the backup rule and then choose Edit.
Review and choose the values that you want for your rule. For example, you can extend the
retention period of the backup in the Monthly rule to three years instead of one year.
5. For the backup vault, choose Default.
12
AWS Backup Developer Guide
Assign Resources to a Backup Plan
On the Summary page, choose Assign resources to prepare for the next section.
If you don’t already have existing AWS resources that you want to assign to a backup plan, create some
new resources to use for this exercise. You can create multiple resources from several or all of the
supported services. These resources can include the following:
• DynamoDB tables
• Amazon EBS volumes
• Amazon EC2 instances
• Amazon EFS file systems
• Amazon RDS instances
• AWS Storage Gateway volumes
Note
To assign resources by tags, you must apply tags to your resources. For example, you
might want to tag all of the resources for this exercise with the key-value pair of
BackupPlan:MissionCritical.
1. On the AWS Backup console dashboard, choose Manage Backup plans. Or, using the navigation
pane, choose Backup plans.
2. Choose a plan from the list; for example, Daily-Monthly-1yr-Retention.
3. On the plan summary page, choose Assign resources.
4. In the Resource assignment name field, choose a name for the resource assignment.
For example, you can name your resource selection, ApplicationFoo. You can then assign all the
AWS resources used for this application, which might be a mix of Amazon EBS volumes, Amazon EFS
file systems, and Amazon RDS tables.
5. Under IAM role, choose Default role.
Note
If the AWS Backup default role is not present in your account, a role is created for you with
the correct permissions.
If you choose a role other than Default role, the role name must include either the string
AwsBackup or AWSBackup. Role names without one of those strings don't have sufficient
permissions to perform the operation. Also, make sure that your custom role has the
necessary permissions to back up all tagged resources. For more information, see Assigning
Resources to a Backup Plan (p. 22).
6. In the Assign resources section, ensure that the Assign by control displays Tags. Enter a key and
value that your resources are tagged with; for example, BackupPlan:MissionCritical. Choose
Add assignment to add all resources that are tagged with your chosen key-value pair.
Note
When creating a tag-based backup plan, if you choose a role other than Default role, make
sure that it has the necessary permissions to back up all tagged resources. AWS Backup tries
13
AWS Backup Developer Guide
Create a Backup Vault
to process all resources with the selected tags. If it encounters a resource that it doesn't
have permission to access, the backup plan fails.
Any supported resource in the selected Region that is tagged with this key-value pair is
automatically assigned to this backup plan.
7. When a new Assign by control appears below your first resource assignment, change the value to
Resource ID.
8. Choose the resource type that you want to add to your selection, for example, EBS. Place your cursor
in the Volume ID field, and the available resources for this type will appear.
9. Choose a resource from the list, and then choose Add assignment.
10. When you have finished adding resources, choose Assign resources.
You then return to the plan summary page, which contains information about your backup plan, your
backup rules, your resource assignments, and any backup plan tags.
For more information about backup vaults, see Organizing Backups Using Backup Vaults (p. 24).
1. On the AWS Backup console, in the navigation pane, choose Backup vaults.
Note
If the navigation pane is not visible on the left side, you can open it by choosing the menu
icon in the upper-left corner of the AWS Backup console.
2. Choose Create backup vault.
3. Enter a name for your backup vault. You can name your vault to reflect what you will store
in it, or to make it easier to search for the backups you need. For example, you could name it
FinancialBackups.
4. Select an AWS KMS key. You can use either a key that you already created, or select the default AWS
Backup master key.
Note
The AWS KMS key that is specified here applies only to backups of services that support
AWS Backup encryption. Currently only Amazon Elastic File System (Amazon EFS) is
supported.
5. Optionally, add tags that will help you search for and identify your backup vault. For example, you
could add a BackupType:Financial tag.
6. Choose Create Backup vault.
7. In the navigation pane, choose Backup vaults, and verify that your backup vault has been added.
Note
You can now edit a backup rule in one of your backup plans to store backups created by that
rule in the backup vault you just created.
Next Steps
To verify the status and monitor the details of your backup activity, proceed to Step 3: Monitor Your
Backup Jobs and Verify That Your Resources Are Protected (p. 15).
14
AWS Backup Developer Guide
Step 3: Monitor Your Backup Jobs
On the AWS Backup dashboard, you can manage backup plans, create on-demand backups, restore
backups, and view the status of backup and restore jobs.
Topics
• View the Status of Backup Jobs (p. 15)
• View All Backups in a Vault (p. 15)
• View Details of Protected Resources (p. 15)
• Next Steps (p. 16)
1. On the AWS Backup console, in the navigation pane, choose Backup vaults.
2. Choose the vault that you used when creating an on-demand or scheduled backup, and view all the
backups that were created in this vault.
1. On the AWS Backup console, in the navigation pane, choose Protected resources.
15
AWS Backup Developer Guide
Next Steps
2. View the AWS resources that are being backed up. Choose a resource in the list to explore your
backups for that resource.
Next Steps
After monitoring and verifying the backups for your resource, proceed to Step 4: Restore a
Backup (p. 16).
Follow these steps to restore a resource using the AWS Backup console.
For additional information on restore parameters for specific services or restoring a backup using the
AWS CLI or the AWS Backup API, see https://docs.aws.amazon.com/aws-backup/latest/devguide/
restoring-a-backup.html.
To restore a resource
For example, if you are restoring an Amazon Elastic Block Store (Amazon EBS) snapshot, you can
choose to restore the snapshot as an EBS volume or as an AWS Storage Gateway volume. This is
because AWS Backup integrates with both services, and any Amazon EBS snapshot can be restored
to either an EBS volume or an AWS Storage Gateway volume.
If you are restoring an Amazon Elastic File System (Amazon EFS) instance, you can perform a Full
restore, which restores the entire file system. Or, you can restore specific files and directories using
an Item-level restore.
For more information, including restoring an Amazon EFS) recovery point to a different directory in
case of a disaster recovery situation, see Restore a Recovery Point at https://docs.aws.amazon.com/
efs/latest/ug/awsbackup.html.
Full restore
16
AWS Backup Developer Guide
Step 4: Restore a Backup
Item-level restore
To restore a specific file or directory, you must specify the relative path related to the mount point.
For example, if the file system is mounted to /user/home/myname/efs and the file path is user/
home/myname/efs/file1, enter /file1.
Paths are case sensitive and cannot contain special characters, wildcards, and regex strings.
For more information, see the Restore a Recovery Point section at https://docs.aws.amazon.com/efs/
latest/ug/awsbackup.html
Storage Gateway
DynamoDB
The Restore jobs pane appears. A message at the top of the page provides information about the
restore job.
Note
When you perform a restore to restore specific items within an Amazon EFS instance, you can
restore those items to either a new or an existing file system. If you restore the items to an
existing file system, AWS Backup creates a new Amazon EFS directory off of the root directory
to contain the items. The full hierarchy of the specified items is preserved in the recovery
directory. For example, if directory A contains subdirectories B, C, and D, AWS Backup retains the
hierarchical structure when A, B, C, and D are recovered.
Regardless of whether you perform an Amazon EFS partial restore to an existing file system
or to new file system, each restore attempt creates a new recovery directory off of the root
directory to contain the restored files. If you attempt multiple restores for the same path,
several directories containing the restored items might exist.
If you are restoring an Amazon Elastic File System (Amazon EFS) instance, you can perform a Full
restore, which restores the entire file system. Or, you can restore specific files and directories using
Item-level restore. For information restoring a specific resource, see Restoring a Backup Using the
Console (p. 31)
17
AWS Backup Developer Guide
Next Steps
For detailed information about restore, see Restoring a Backup (p. 31).
Next Steps
After you verify your restore results, we recommend that you delete any AWS resources that you don't
need to keep, so as not to incur unnecessary charges. For more information, see Step 5: Clean Up
Resources (p. 18).
Topics
• Delete Restored AWS Resources (p. 18)
• Delete the Backup Plan (p. 18)
• Delete the Recovery Points (p. 18)
• Delete the Backup Vault (p. 19)
18
AWS Backup Developer Guide
Delete the Backup Vault
1. On the AWS Backup console, in the navigation pane, choose Backup vaults.
2. On the Backup vaults page, choose the backup vault where you stored the backups.
3. Choose the recovery points and delete them one by one.
19
AWS Backup Developer Guide
Creating a Backup Plan
The following sections provide the basics of managing your backup strategy in AWS Backup.
Topics
• Creating a Backup Plan (p. 20)
• Assigning Resources to a Backup Plan (p. 22)
• Deleting a Backup Plan (p. 23)
• Updating a Backup Plan (p. 23)
Topics
• Creating Backup Plans Using the AWS Management Console (p. 20)
• Backup Plan Options and Configuration (p. 21)
• Start from an existing plan — You can create a new backup plan based on the configurations in an
existing plan. Be aware that backup plans created by AWS Backup are based on backup best practices
and common backup policy configurations. When you select an existing backup plan to start from, the
configurations from that backup plan are automatically populated for your new backup plan. You can
then change any of these configurations according to your backup requirements.
For step-by-step instructions, see Create a Backup Plan by Modifying an Existing One (p. 12) in the
Getting Started section.
• Build a new plan from scratch — You can create a new backup plan by specifying each of the backup
configuration details, as described in the next section. You can choose from the recommended default
configurations.
Note
If you try to create a backup plan that is identical to an existing plan, you get an
AlreadyExistsException error.
20
AWS Backup Developer Guide
Backup Plan Options and Configuration
Backup Rules
Backup plans are composed of one or more backup rules. Each backup rule consists of the following
elements.
Backup Frequency
The backup frequency determines how often a backup is created. You can choose a frequency of every
12 hours, daily, weekly, or monthly. When selecting weekly, you can specify which days of the week you
want backups to be taken. When selecting monthly, you can choose a specific day of the month.
Backup Window
Backup windows consist of the time that the backup window begins and the duration of the window in
hours. Backup jobs are started within this window. If you are unsure what backup window to use, you can
choose to use the default backup window that AWS Backup recommends. The default backup window is
set to start at 5 AM UTC (Coordinated Universal Time) and lasts 8 hours.
Note
You can customize the backup frequency and backup window start time using a cron expression.
For more information about cron expressions, see Schedule Expressions for Rules in the Amazon
CloudWatch Events User Guide.
Lifecycle
The lifecycle defines when a backup is transitioned to cold storage and when it expires. AWS Backup
transitions and expires backups automatically according to the lifecycle that you define. Backups
transitioned to cold storage must be stored in cold storage for a minimum of 90 days. Therefore, on the
console, the “expire after days” setting must be 90 days greater than the “transition to cold after days”
setting. You can't change the “transition to cold after days” setting after a backup has been transitioned
to cold.
Note
Currently only Amazon EFS file system backups can be transitioned to cold storage. The cold
storage expression is ignored for the backups of Amazon Elastic Block Store (Amazon EBS),
Amazon Relational Database Service (Amazon RDS), Amazon DynamoDB, and AWS Storage
Gateway.
Backup Vault
A backup vault is a container to organize your backups in. Backups created by a backup rule are
organized in the backup vault that you specify in the backup rule. You can use backup vaults to set the
21
AWS Backup Developer Guide
Assigning Resources
AWS Key Management Service (AWS KMS) encryption key that is used to encrypt backups in the backup
vault and to control access to the backups in the backup vault. You can also add tags to backup vaults to
help you organize them. If you don't want to use the default vault, you can create your own. For step-by-
step instructions for creating a backup vault, see Create a Backup Vault (p. 14).
Copy to Regions
As part of your backup plan, you can optionally create a backup copy in another AWS Region. For more
information about backup copies, see Cross-Region Backups (p. 7).
When you define a backup copy, you configure the following options:
Destination Region
The IAM role that AWS Backup uses when creating the copy. The role must also have AWS Backup listed
as a trusted entity, which enables AWS Backup to assume the role. If you choose Default and the AWS
Backup default role is not present in your account, a role is created for you with the correct permissions.
Specifies when to transition the backup copy to cold storage and when to expire (delete) the copy.
Backups transitioned to cold storage must be stored in cold storage for a minimum of 90 days. You can't
change this value after a copy has transitioned to cold storage.
Expire specifies the number of days after creation that the copy is deleted. This must be greater than 90
days beyond the Transition to cold storage value.
Using tags to assign resources is a simple and scalable way to back up multiple resources. Any resources
with the tags that you specify in the resource assignment are assigned to the backup plan. For example,
if you include the tag values "July" and "August," your backup will include all resources tagged with the
selected months.
For example, you can define a backup plan that meets your backup requirements for mission
critical data and create a resource assignment with the tag key "Classification" and tag value
22
AWS Backup Developer Guide
Deleting a Backup Plan
"MissionCritical." Then any of your resources with that tag are automatically assigned to your
mission critical backup plan.
Note
When creating a tag-based backup plan, if you choose a role other than Default role, make
sure that it has the necessary permissions to back up all tagged resources. AWS Backup tries
to process all resources with the selected tags. If it encounters a resource that it doesn't have
permission to access, the backup plan fails.
For step-by-step instructions for assigning resources to a backup plan, see Assign Resources to a Backup
Plan (p. 13) in the Getting Started section.
1. Sign in to the AWS Management Console, and open the AWS Backup console at https://
console.aws.amazon.com/backup.
2. In the navigation pane on the left, choose Backup plans.
3. Choose your backup plan in the list.
4. Select any resource assignments that are associated with the backup plan.
5. Choose Delete.
For example, when you update the retention period in a backup rule, the retention period of backups
created before you made the update remain the same. Any backups that are created by that rule going
forward reflect the updated retention period.
23
AWS Backup Developer Guide
Creating a Backup Vault
This section provides an overview of how to manage your backup vaults in AWS Backup.
Topics
• Creating a Backup Vault (p. 24)
• Setting Access Policies on Backup Vaults and Recovery Points (p. 25)
• Deleting a Backup Vault (p. 27)
For step-by-step instructions for creating a backup vault, see Create a Backup Vault (p. 14) in the Getting
Started guide.
When creating a backup vault, you can define the following elements.
You can create a new master encryption key by going to the Encryption keys section of the AWS
Identity and Access Management (IAM) console. For more information, see Creating Keys in the AWS Key
Management Service Developer Guide.
After you create a backup vault and set the AWS KMS encryption master key, you can no longer edit the
key for that backup vault.
The encryption key that is specified in an AWS Backup vault applies to the backups of certain resource
types. For more information about backup encryption, see Encryption for Backups in AWS (p. 38)
24
AWS Backup Developer Guide
Backup Vault Tags
in the Security section. Backups of all other resource types are backed up using the key that is used to
encrypt the source resource.
For information about using policies to grant or restrict access to resources, see Identity-Based Policies
and Resource-Based Policies in the IAM User Guide. You can use the following example policies as a guide
to limit access to resources when you are working with AWS Backup vaults.
For a list of Amazon Resource Names (ARNs) that you can use to identify recovery points for different
resource types, see AWS Backup Resource ARNs (p. 42) for resource-specific recovery point ARNs.
Topics
• Deny Access to a Resource Type in a Backup Vault (p. 25)
• Deny Access to a Backup Vault (p. 26)
• Deny Access to Delete Recovery Points in a Backup Vault (p. 26)
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "statement ID",
"Effect": "Deny",
"Principal": {
"AWS": "arn:aws:iam::Account ID:role/MyRole"
},
"Action": [
"backup:UpdateRecoveryPointLifecycle",
"backup:DescribeRecoveryPoint",
"backup:DeleteRecoveryPoint",
"backup:GetRecoveryPointRestoreMetadata",
"backup:StartRestoreJob",
"backup:DescribeRecoveryPoint"
],
"Resource": ["arn:aws:ec2:Region:::snapshot/*"]
}
]
}
25
AWS Backup Developer Guide
Deny Access to a Backup Vault
Note
This access policy only controls user access to AWS Backup APIs. Some backup types, such as
Amazon Elastic Block Store (Amazon EBS) and Amazon Relational Database Service (Amazon
RDS) snapshots, can also be accessed using the APIs of those services. You can create separate
access policies in IAM that control access to those APIs in order to fully control the access to
backups.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "statement ID",
"Effect": "Deny",
"Principal": {
"AWS": "arn:aws:iam::Account ID:role/MyRole"
},
"Action": [
"backup:DescribeBackupVault",
"backup:DeleteBackupVault",
"backup:PutBackupVaultAccessPolicy",
"backup:DeleteBackupVaultAccessPolicy",
"backup:GetBackupVaultAccessPolicy",
"backup:StartBackupJob",
"backup:GetBackupVaultNotifications",
"backup:PutBackupVaultNotifications",
"backup:DeleteBackupVaultNotifications",
"backup:ListRecoveryPointsByBackupVault"
],
"Resource": "arn:aws:backup:Region::Account ID::backup-vault:backup vault name"
}
]
}
Follow these steps to create a resource-based access policy on a backup vault that prevents the deletion
of any backups in the backup vault.
1. Sign in to the AWS Management Console, and open the AWS Backup console at https://
console.aws.amazon.com/backup.
2. In the navigation pane on the left, choose Backup vaults.
3. Choose a backup vault in the list.
4. In the Access policy section, paste the following JSON example. This policy prevents anyone who is
not the principal from deleting a recovery point in the target backup vault. Replace statement ID,
Account ID, and principal type (role/MyRole) with values for your environment.
26
AWS Backup Developer Guide
Deleting a Backup Vault
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "statement ID",
"Effect": "Deny",
"Principal": "*",
"Action": "backup:DeleteRecoveryPoint",
"Resource": "*",
"Condition": {
"StringNotLike": {
"aws:userId": [
"arn:aws:iam::Account ID:role/MyRole""
]
}
}
}
]
}
For information on getting a unique ID for an IAM entity, see Getting the Unique ID
If you want to limit this to specific resource types, instead of "Resource": "*" you can explicitly
include the recovery point types to deny, for example, for Amazon EBS snapshots, change the
resource type to:
"Resource": ["arn:aws:ec2:Region:::snapshot/*"]
1. Sign in to the AWS Management Console, and open the AWS Backup console at https://
console.aws.amazon.com/backup.
2. In the navigation pane, choose Backup vault.
3. Choose the backup vault that you want to delete.
4. Choose and delete any backups that are associated with the backup vault, and then choose Delete.
Note
When you delete a backup vault, update your backup plans to point to new backup vaults. A
backup plan that points to a deleted backup vault will cause the backup creation to fail.
27
AWS Backup Developer Guide
Creating a Backup
Backups
A backup, or recovery point, represents the content of a resource, such as an Amazon Elastic Block Store
(Amazon EBS) volume or Amazon DynamoDB table, at a specified time. Recovery point is a term that
refers generally to the different backups in AWS services, such as Amazon EBS snapshots and DynamoDB
backups. The terms recovery point and backup are used interchangeably.
In AWS Backup, recovery points are saved in backup vaults, which you can organize according to your
business needs. For example, you can save a set of resources that contain financial information for fiscal
year 2016. When you need to recover a resource, you can use either the AWS Backup console or the AWS
Command Line Interface (AWS CLI) to find and recover the resource you need.
Each recovery point has a unique ID. The following table contains the AWS resource types that AWS
Backup supports and examples of their corresponding recovery point ID.
**When you back up an AWS Storage Gateway volume, an Amazon EBS snapshot is created. This
snapshot can then be restored either as an Amazon EBS volume or as an AWS Storage Gateway volume.
The following sections provide an overview of the basic backup management tasks in AWS Backup.
Topics
• Creating a Backup (p. 28)
• Restoring a Backup (p. 31)
• Stopping a Backup Job (p. 35)
• Viewing a List of Backups (p. 35)
• Editing a Backup (p. 36)
Creating a Backup
In AWS Backup, you can create backups automatically using backup plans or manually by initiating an
on-demand backup.
28
AWS Backup Developer Guide
On-Demand Backups
When backups are created automatically by backup plans, they are configured with the lifecycle settings
that are defined in the backup plan. They are organized in the backup vault that is specified in the
backup plan. They are also assigned the tags that are listed in the backup plan. For more information
about backup plans, see Managing Backups Using Backup Plans (p. 20).
When you create an on-demand backup, you can configure these settings for the backup that is being
created. When a backup is created either automatically or manually, a backup job is initiated. Each
backup job has a unique ID—for example, D48D8717-0C9D-72DF-1F56-14E703BF2345.
You can view the status of a backup job on the Jobs page of the AWS Backup console. Backup job
statuses include created, pending, running, aborting, aborted, completed, failed, and expired.
For more information about creating backup plans, see Creating a Backup Plan (p. 20).
Topics
• Creating an On-Demand Backup (p. 29)
• Creating a Backup Copy (p. 30)
29
AWS Backup Developer Guide
Backup Copies
If you copy your backup to another AWS Region, AWS Backup copies all tags of the original backup to the
destination AWS Region.
Destination region
Choose the destination AWS Region for the copy. You can add a new copy rule per copy to a new
destination.
Note
Copying Amazon DynamoDB tables across AWS Regions is not supported.
(Advanced settings) Backup vault
Choose the IAM role that AWS Backup will use when creating the copy. The role must also have
AWS Backup listed as a trusted entity, which enables AWS Backup to assume the role. If you
choose Default and the AWS Backup default role is not present in your account, one will be
created for you with the correct permissions.
(Advanced settings) Lifecycle
Choose when to transition the backup copy to cold storage and when to expire (delete) the copy.
Backups transitioned to cold storage must be stored in cold storage for a minimum of 90 days.
This value cannot be changed after a copy has transitioned to cold storage.
Expire specifies the number of days after creation that the copy is deleted. This value must be
greater than 90 days beyond the Transition to cold storage value.
30
AWS Backup Developer Guide
Restoring a Backup
For information about applying tags to your backup copy, see Copying Tags onto Backups (p. 30).
When you copy a backup to a new AWS Region for the first time, AWS Backup copies the backup in full. If
a service supports incremental backups, subsequent copies of that backup in the same AWS Region will
be incremental.
Note
Backup copies are automatically be encrypted for all supported resources.
Restoring a Backup
When you restore a backup in AWS Backup, a new resource is created based on the backup that you are
restoring. For each restore, you must specify the restore parameters.
Restore parameters are specific to a resource type, such as the volume size when restoring an Amazon
Elastic Block Store (Amazon EBS) snapshot. When you restore a backup using the AWS Backup console,
the service-specific restore parameters are presented automatically. For each restore, a restore job is
created with a unique job ID—for example, 1323657E-2AA4-1D94-2C48-5D7A423E7394.
You can view the status of a restore job on the Jobs page of the AWS Backup console. Restore job
statuses include created, pending, running, aborting, aborted, completed, failed, and expired.
For step-by-step instructions for restoring a backup using the AWS Backup console, see Step 4: Restore a
Backup (p. 16) in the Getting Started section.
Topics
• Restoring a Backup Using the Console (p. 31)
• Restoring a Backup Using the AWS CLI or the AWS Backup API (p. 33)
Topics
• Restoring an Amazon EBS Volume (p. 31)
• Restoring an Amazon EFS File System (p. 32)
31
AWS Backup Developer Guide
Restoring a Backup Using the Console
2. In the navigation pane, choose Protected resources and the resource ID you want to restore.
3. A list of your recovery points, including the resource type, is displayed by Resource ID. Choose a
resource to open the Resource details page.
4. To restore a resource, in the Backups pane, choose the radio button next to the recovery point ID of
the resource. In the upper-right corner of the pane, choose Restore.
5. Specify the restore parameters for your resource. The restore parameters you enter are specific to
the resource type that you selected.
For Resource type, choose the AWS resource to create when restoring this backup.
6. If you choose EBS volume, provide the values for Volume type and Availability zone.
If you choose Storage Gateway volume, choose the gateway you want to restore to and enter the
iSCSI target name.
7. For Restore role, choose Default role.
Note
If the AWS Backup default role is not present in your account, a role is created for you with
the correct permissions.
8. Choose Restore backup.
The Restore jobs pane appears. A message at the top of the page provides information about the
restore job.
Full Restore
When you perform Full restore, the entire file system is restore.
Item-Level Restore
When you perform item-level restore AWS Backup restore a specific file or directory. You must specify
the relative path related to the mount point. For example, if the file system is mounted to /user/home/
myname/efs and the file path is user/home/myname/efs/file1, you enter /file1. Paths are case
sensitive. Wildcards and regex strings are not supported.
You can restore those items to either a new or existing file system. If you restore the items to an existing
file system, AWS Backup creates a new Amazon EFS directory off of the root directory to contain the
items. The full hierarchy of the specified items is preserved in the recovery directory. For example, if
directory A contains subdirectories B, C, and D, AWS Backup retains the hierarchical structure when A,
B, C, and D are recovered. Regardless of whether you perform an Amazon EFS item-level restore to an
existing file system or to a new file system, each restore attempt creates a new recovery directory off
of the root directory to contain the restored files. If you attempt multiple restores for the same path,
several directories containing the restored items might exist.
Note
If you only keep one weekly backup, you can only restore to the state of the file system at the
time you took that backup. You can't restore to prior incremental backups.
32
AWS Backup Developer Guide
Restoring a Backup Using the
AWS CLI or the AWS Backup API
3. A list of your recovery points, including the resource type, is displayed by Resource ID. Choose a
resource to open the Resource details page.
4. To restore a resource, in the Backups pane, choose the radio button next to the recovery point ID of
the resource. In the upper-right corner of the pane, choose Restore.
5. Specify the restore parameters for your resource. The restore parameters you enter are specific to
the resource type that you selected.
If you are restoring an Amazon Elastic File System (Amazon EFS) instance, you can perform a Full
restore, which restores the entire file system. Or, you can restore specific files and directories using
Item-level restore.
• Choose the Full restore option to restore the filesystem in its entirety including all root level
folders and files.
• Choose the Item-level restore option to restore a specific file or directory. You select and restore
up to 5 items within your Elastic File System.
To restore a specific file or directory, you must specify the relative path related to the mount
point. For example, if the file system is mounted to /user/home/myname/efs and the file path
is user/home/myname/efs/file1, enter /file1. Paths are case sensitive and cannot contain
special characters, wildcards, and regex strings.
1. In the Item path text box, enter the path for your file or folder.
2. Choose Add item to add additional files or directories. You can select and restore up to 5 items
within your Elastic File System.
6. For Restore location:
• Choose the Restore to directory in source file system option, if you want to restore to the source
file system.
• Choose the Restore to a new file system option, if you want to restore to a different file system.
• (Recommended) For Performance, choose General purpose.
• Choose Enable encryption, if you want to encrypt your file system. Master key ids and aliases
appear in the list after they have been created using the Key Management Service(KMS) console.
7. In the Master key text box, choose the key you want to use from the list.
8. For Restore role, choose Default role.
Note
If the AWS Backup default role is not present in your account, a role is created for you with
the correct permissions.
9. Choose Restore backup.
The Restore jobs pane appears. A message at the top of the page provides information about the
restore job.
Note
If you only keep one weekly backup, you can only restore to the state of the file system at
the time you took that backup. You can't restore to prior incremental backups.
33
AWS Backup Developer Guide
Restoring a Backup Using the
AWS CLI or the AWS Backup API
The configuration information that you need to restore your resource varies depending on the service
that you want to restore. To get the configuration metadata that your backup was created with, you can
call GetRecoveryPointRestoreMetadata (p. 131), but you might need more information to restore your
resource. Each service requires different configuration values to restore a recovery point.
• file-system-id — The ID of the Amazon EFS file system that is backed up by AWS Backup.
Returned in GetRecoveryPointRestoreMetadata.
• Encrypted — A Boolean value that, if true, specifies that the file system is encrypted. If KmsKeyId is
specified, Encrypted must be set to true.
• ItemsToRestore — A serialized list of up to five strings, where each string is a file path. Use
ItemsToRestore to restore specific files or directories, rather than the entire file system.
• KmsKeyId — Specifies the AWS KMS key that is used to encrypt the restored file system.
• PerformanceMode — Specifies the throughput mode of the file system.
• CreationToken — A user-supplied value that ensures the uniqueness (idempotency) of the request.
• newFileSystem — A Boolean value that, if true, specifies that the recovery point is restored to a new
Amazon EFS file system. For more information about restoring to a new or existing file system, see the
note in the previous section, Restoring a Backup Using the Console (p. 31).
For more information about Amazon EFS configuration values, see create-file-system.
When using the console, you have the following two options:
This is the recommended option. This option restores an Amazon EC2 instance with the parameters
and settings that can be customized on the console. These parameters include the following:
• Instance type
• Amazon VPC
• Subnet
• Security groups
• IAM role
• Shutdown behavior
• Stop–hibernate behavior
• Termination protection
• T2/T3 unlimited
• Placement group name
• EBS-optimized instance
• Tenancy
• RAM disk ID
• Kernel ID
• User data
34
AWS Backup Developer Guide
Stopping a Backup Job
• Deletion on termination
These parameters are prefilled to match the original backup. You can change them before restoring
the instance. AWS Backup identifies parameters with values that might not be valid or that might
result in an invalid restore.
Major restore
This option restores all 38 parameters, including the 22 parameters that are not customizable on the
console. This is suitable if you require all 38 parameters and are comfortable restoring parameters
without validation or customization.
You can also restore an Amazon EC2 instance without including any stored parameters. This option is
available on the Protected resource tab on the AWS Backup console.
1. Sign in to the AWS Management Console, and open the AWS Backup console at https://
console.aws.amazon.com/backup.
2. In the navigation pane on the left, choose Jobs.
3. Choose the backup job that you want to stop.
4. In the backup job details pane, choose Stop.
Topics
• Listing Backups by Protected Resource (p. 35)
• Listing Backups by Backup Vault (p. 36)
1. Sign in to the AWS Management Console, and open the AWS Backup console at https://
console.aws.amazon.com/backup.
2. In the navigation pane, choose Protected resources.
3. Choose a protected resource in the list to view the list of backups. Only resources that have been
backed up by AWS Backup are listed under Protected resources.
You can view all the backups for the resource, even the ones that were not created by AWS Backup. From
this view, you can also choose a backup and restore it.
35
AWS Backup Developer Guide
Listing Backups by Backup Vault
Editing a Backup
After you create a backup using AWS Backup, you can change the lifecycle or tags of the backup.
The lifecycle defines when a backup is transitioned to cold storage and when it expires. AWS Backup
transitions and expires backups automatically according to the lifecycle that you define.
Note
Editing the tags of a backup using AWS Backup is only supported for backups of Amazon Elastic
File System (Amazon EFS) file systems. You can still edit the tags of other services' backups
using the service’s console or API.
Backups that are transitioned to cold storage must be stored in cold storage for a minimum of 90 days.
Therefore, the “expire after days” setting must be 90 days greater than the “transition to cold after days”
setting. When you update the “transition to cold after days” setting, the value must be a minimum of the
backup’s age plus one day. The “transition to cold after days” setting cannot be changed after a backup
has been transitioned to cold.
1. Sign in to the AWS Management Console, and open the AWS Backup console at https://
console.aws.amazon.com/backup.
2. In the navigation pane, choose Backup vaults.
3. In the Backups section, choose a backup.
4. On the backup details page, choose Edit.
5. Configure the lifecycle settings, and then choose Save.
36
AWS Backup Developer Guide
Data Protection
Security is a shared responsibility between AWS and you. The shared responsibility model describes this
as security of the cloud and security in the cloud:
• Security of the cloud – AWS is responsible for protecting the infrastructure that runs AWS services in
the AWS Cloud. AWS also provides you with services that you can use securely. Third-party auditors
regularly test and verify the effectiveness of our security as part of the AWS compliance programs.
To learn about the compliance programs that apply to AWS Backup, see AWS Services in Scope by
Compliance Program.
• Security in the cloud – Your responsibility is determined by the AWS service that you use. You are also
responsible for other factors including the sensitivity of your data, your company's requirements, and
applicable laws and regulations.
This documentation helps you understand how to apply the shared responsibility model when using
AWS Backup. The following topics show you how to configure AWS Backup to meet your security and
compliance objectives. You also learn how to use other AWS services that help you monitor and secure
your AWS Backup resources.
Topics
• Data Protection in AWS Backup (p. 37)
• Identity and Access Management in AWS Backup (p. 40)
• Logging and Monitoring in AWS Backup (p. 53)
• Compliance Validation for AWS Backup (p. 53)
• Resilience in AWS Backup (p. 54)
• Infrastructure Security in AWS Backup (p. 54)
For data protection purposes, we recommend that you protect AWS account credentials and set up
individual user accounts with AWS Identity and Access Management (IAM). This helps ensure that each
user is given only the permissions necessary to fulfill their job duties. We also recommend that you
secure your data in the following ways:
37
AWS Backup Developer Guide
Encryption for Backups in AWS
• Use AWS encryption solutions, along with all default security controls within AWS services.
We strongly recommend that you never put sensitive identifying information, such as your customers'
account numbers, into free-form fields such as a Name field. This includes when you work with AWS
Backup or other AWS services using the console, API, AWS CLI, or AWS SDKs. Any data that you enter into
AWS Backup or other services might get picked up for inclusion in diagnostic logs. When you provide a
URL to an external server, don't include credentials information in the URL to validate your request to
that server.
For more information about data protection, see the AWS Shared Responsibility Model and GDPR blog
post on the AWS Security Blog.
The following table lists each supported resource type, how encryption is configured for backups, and
whether independent encryption for backups is supported.
Amazon Elastic Block Store Amazon EBS snapshots are Not supported
(Amazon EBS) automatically encrypted with
the same encryption key that
was used to encrypt the source
EBS volume. Snapshots of
unencrypted EBS volumes are
also unencrypted.
Amazon Elastic File System Amazon EFS backups are always Supported
(Amazon EFS) encrypted. The AWS KMS
encryption key for Amazon
EFS backups is configured in
the AWS Backup vault that the
Amazon EFS backups are stored
in.
38
AWS Backup Developer Guide
Encryption for Backups in AWS
• Use the default AWS managed CMK for the destination backup vault. The default key is different for
each service and is managed by AWS.
• Designate a customer managed CMK across all services to be used by the copy job. This is the only
supported option for AWS Storage Gateway backups.
For more information about AWS KMS, see What is AWS Key Management Service?
To learn more about backup encryption for each of the services that AWS Backup supports, see the
following topics:
• Encrypting Your Data Using AWS Key Management Service in the AWS Storage Gateway User Guide.
• Encrypting Amazon RDS Resources in the Amazon RDS User Guide
39
AWS Backup Developer Guide
Identity and Access Management
Topics
• Authentication (p. 40)
• Access Control (p. 41)
• IAM Service Roles (p. 52)
Authentication
Access to AWS Backup or the AWS services that you are backing up requires credentials that AWS can use
to authenticate your requests. You can access AWS as any of the following types of identities:
• AWS account root user – When you sign up for AWS, you provide an email address and password
that is associated with your AWS account. This is your AWS account root user. Its credentials provide
complete access to all of your AWS resources.
Important
For security reasons, we recommend that you use the root user only to create an
administrator. The administrator is an IAM user with full permissions to your AWS account.
You can then use this administrator user to create other IAM users and roles with limited
permissions. For more information, see IAM Best Practices and Creating Your First IAM Admin
User and Group in the IAM User Guide.
• IAM user – An IAM user is an identity within your AWS account that has specific custom permissions
(for example, permissions to create a backup vault to store your backups in). You can use an IAM user
name and password to sign in to secure AWS webpages like the AWS Management Console, AWS
Discussion Forums, or the AWS Support Center.
In addition to a user name and password, you can also generate access keys for each user. You can use
these keys when you access AWS services programmatically, either through one of the several SDKs
or by using the AWS Command Line Interface (AWS CLI). The SDK and AWS CLI tools use the access
keys to cryptographically sign your request. If you don't use the AWS tools, you must sign the request
yourself. For more information about authenticating requests, see Signature Version 4 Signing Process
in the AWS General Reference.
• IAM role – An IAM role is another IAM identity that you can create in your account that has specific
permissions. It is similar to an IAM user, but it is not associated with a specific person. An IAM role
enables you to obtain temporary access keys that can be used to access AWS services and resources.
IAM roles with temporary credentials are useful in the following situations:
• Federated user access – Instead of creating an IAM user, you can use pre-existing user identities from
AWS Directory Service, your enterprise user directory, or a web identity provider. These are known as
federated users. AWS assigns a role to a federated user when access is requested through an identity
provider. For more information about federated users, see Federated Users and Roles in the IAM User
Guide.
40
AWS Backup Developer Guide
Access Control
• Cross-account administration – You can use an IAM role in your account to grant another AWS
account permissions to administer your account's resources. For an example, see Tutorial: Delegate
Access Across AWS Accounts Using IAM Roles in the IAM User Guide.
• AWS service access – You can use an IAM role in your account to grant an AWS service permissions to
access your account's resources. For more information, see Creating a Role to Delegate Permissions
to an AWS Service in the IAM User Guide.
• Applications running on Amazon Elastic Compute Cloud (Amazon EC2) – You can use an IAM role
to manage temporary credentials for applications running on an Amazon EC2 instance and making
AWS API requests. This is preferable to storing access keys within the EC2 instance. To assign an AWS
role to an EC2 instance and make it available to all of its applications, you create an instance profile
that is attached to the instance. An instance profile contains the role and enables programs running
on the EC2 instance to get temporary credentials. For more information, see Using an IAM Role to
Grant Permissions to Applications Running on Amazon EC2 Instances in the IAM User Guide.
Access Control
You can have valid credentials to authenticate your requests, but unless you have the appropriate
permissions, you can't access AWS Backup resources such as backup vaults. You also can't back up AWS
resources such as Amazon Elastic Block Store (Amazon EBS) volumes.
Every AWS resource is owned by an AWS account, and permissions to create or access a resource are
governed by permissions policies. An account administrator can attach permissions policies to AWS
Identity and Access Management (IAM) identities (that is, users, groups, and roles). And some services
also support attaching permissions policies to resources.
Note
An account administrator (or administrator user) is a user with administrator permissions. For
more information, see IAM Best Practices in the IAM User Guide.
When granting permissions, you decide who is getting the permissions, the resources they get
permissions for, and the specific actions that you want to allow on those resources.
The following sections cover how access policies work and how you use them to protect your backups.
Topics
• Resources and Operations (p. 41)
• Resource Ownership (p. 42)
• Specifying Policy Elements: Actions, Effects, and Principals (p. 42)
• Specifying Conditions in a Policy (p. 43)
• AWS Backup API Permissions: Actions, Resources, and Conditions Reference (p. 43)
• Access Policies (p. 44)
• Managed Policies (p. 44)
41
AWS Backup Developer Guide
Access Control
In AWS Backup, backups are also referred to as recovery points. When using AWS Backup, you also work
with the resources from other AWS services that you are trying to protect, such as Amazon EBS volumes
or DynamoDB tables. These resources have unique Amazon Resource Names (ARNs) associated with
them. ARNs uniquely identify AWS resources. You must have an ARN when you need to specify a resource
unambiguously across all of AWS, such as in IAM policies or API calls.
AWS Backup provides a set of operations to work with AWS Backup resources. For a list of available
operations, see AWS Backup Actions (p. 70).
Resource Ownership
The AWS account owns the resources that are created in the account, regardless of who created the
resources. Specifically, the resource owner is the AWS account of the principal entity (that is, the AWS
account root user, an IAM user, or an IAM role) that authenticates the resource creation request. The
following examples illustrate how this works:
• If you use the AWS account root user credentials of your AWS account to create a backup vault, your
AWS account is the owner of the vault.
• If you create an IAM user in your AWS account and grant permissions to create a backup vault to that
user, the user can create a backup vault. However, your AWS account, to which the user belongs, owns
the backup vault resource.
• If you create an IAM role in your AWS account with permissions to create a backup vault, anyone who
can assume the role can create a vault. Your AWS account, to which the role belongs, owns the backup
vault resource.
42
AWS Backup Developer Guide
Access Control
• Resource – In a policy, you use an Amazon Resource Name (ARN) to identify the resource to which the
policy applies. For more information, see Resources and Operations (p. 41).
• Action – You use action keywords to identify resource operations that you want to allow or deny.
• Effect – You specify the effect when the user requests the specific action—this can be either allow or
deny. If you don't explicitly grant access to (allow) a resource, access is implicitly denied. You can also
explicitly deny access to a resource, which you might do to make sure that a user cannot access it, even
if a different policy grants access.
• Principal – In identity-based policies (IAM policies), the user that the policy is attached to is the implicit
principal. For resource-based policies, you specify the user, account, service, or other entity that you
want to receive permissions (applies to resource-based policies only).
To learn more about IAM policy syntax and descriptions, see IAM JSON Policy Reference in the IAM User
Guide.
For a table showing all of the AWS Backup API actions, see AWS Backup API Permissions: Actions,
Resources, and Conditions Reference (p. 43).
To express conditions, you use predefined condition keys. There are no condition keys specific to AWS
Backup. However, there are AWS-wide condition keys that you can use as appropriate. For a complete list
of AWS-wide keys, see AWS Global Condition Context Keys in the IAM User Guide.
Note
AWS Backup does not support tag or context key conditions in access policies for any of its
actions.
You can use AWS-wide condition keys in your AWS Backup policies to express conditions. For a complete
list of AWS-wide keys, see Available Keys in the IAM User Guide.
To save metadata tags on resources that are stored in a backup vault, the following permissions are
required for the specified resource types.
43
AWS Backup Developer Guide
Access Control
Access Policies
A permissions policy describes who has access to what. Policies attached to an IAM identity are referred
to as identity-based policies (IAM policies). Policies attached to a resource are referred to as resource-
based policies. AWS Backup supports both identity-based policies and resource-based policies.
Note
This section discusses using IAM in the context of AWS Backup. It doesn't provide detailed
information about the IAM service. For complete IAM documentation, see What Is IAM? in the
IAM User Guide. For information about IAM policy syntax and descriptions, see IAM JSON Policy
Reference in the IAM User Guide.
For more information about users, groups, roles, and permissions, see Identities (Users, Groups, and
Roles) in the IAM User Guide.
For information about how to use IAM policies to control access to backups, see Managed
Policies (p. 44).
Resource-Based Policies
AWS Backup supports resource-based access policies for backup vaults. This enables you to define an
access policy that can control which users have what kind of access to any of the backups organized in a
backup vault. Resource-based access policies for backup vaults provide an easy way to control access to
your backups.
Backup vault access policies control user access when you use AWS Backup APIs. Some backup types,
such as Amazon Elastic Block Store (Amazon EBS) and Amazon Relational Database Service (Amazon
RDS) snapshots, can also be accessed using those services' APIs. You can create separate access policies in
IAM that control access to those APIs in order to fully control access to backups.
To learn how to create an access policy for backup vaults, see Setting Access Policies on Backup Vaults
and Recovery Points (p. 25).
Managed Policies
Managed policies are standalone identity-based policies that you can attach to multiple users, groups,
and roles in your AWS account. You can use AWS managed policies or customer managed policies to
control access to backups in AWS Backup.
44
AWS Backup Developer Guide
Access Control
You can't change the permissions defined in AWS managed policies. AWS occasionally updates the
permissions defined in an AWS managed policy. When this occurs, the update affects all principal entities
(users, groups, and roles) that the policy is attached to.
AWS Backup provides several AWS managed policies for common use cases. These policies make it easier
to define the right permissions and control access to your backups. There are two types of managed
policies. One type is designed to be assigned to users to control their access to AWS Backup. The
other type of managed policy is designed to be attached to roles that you pass to AWS Backup. These
policies are predefined with the appropriate permissions that AWS Backup requires to perform backup
operations on your behalf.
The following table lists all the managed policies that AWS Backup provides and describes how they are
defined. You can find these managed policies in the Policies section of the IAM console.
45
AWS Backup Developer Guide
Access Control
One way to create a customer managed policy is to start by copying an existing AWS managed policy.
That way you know that the policy is correct at the beginning, and all you need to do is customize it to
your environment.
The following policies specify backup and restore permissions for individual AWS services. They can be
customized and attached to roles that you create to further limit access to AWS resources.
{ {
"Version": "2012-10-17", "Version": "2012-10-17",
"Statement": [ "Statement": [
{ {
"Action": [ "Action": [
"dynamodb:DescribeTable", "dynamodb:DescribeBackup",
"dynamodb:CreateBackup" "dynamodb:DescribeTable",
],
"Resource": "dynamodb:RestoreTableFromBackup",
"arn:aws:dynamodb:*:*:table/*", "dynamodb:Scan",
"Effect": "Allow" "dynamodb:Query",
}, "dynamodb:UpdateItem",
{ "dynamodb:PutItem",
"Action": [ "dynamodb:GetItem",
"dynamodb:DescribeBackup", "dynamodb:DeleteItem",
"dynamodb:DeleteBackup" "dynamodb:BatchWriteItem"
], ],
"Resource": "Resource":
"arn:aws:dynamodb:*:*:table/*/backup/*", "arn:aws:dynamodb:*:*:table/*",
"Effect": "Allow" "Effect": "Allow"
} },
] {
} "Action": [
"dynamodb:RestoreTableFromBackup"
46
AWS Backup Developer Guide
Access Control
{ {
"Version": "2012-10-17", "Version": "2012-10-17",
"Statement": [ "Statement": [
{ {
"Effect": "Allow", "Effect": "Allow",
"Action": "ec2:CreateTags", "Action": [
"Resource": "ec2:CreateVolume",
"arn:aws:ec2:*::snapshot/*" "ec2:DeleteVolume"
}, ],
{ "Resource": [
"Effect": "Allow", "arn:aws:ec2:*::snapshot/*",
"Action": [ "arn:aws:ec2:*:*:volume/*"
"ec2:CreateSnapshot", ]
"ec2:DeleteSnapshot" },
], {
"Resource": [ "Effect": "Allow",
"arn:aws:ec2:*::snapshot/ "Action": [
*", "ec2:DescribeSnapshots",
"arn:aws:ec2:*:*:volume/*" "ec2:DescribeVolumes"
] ],
}, "Resource": "*"
{ }
"Effect": "Allow", ]
"Action": [ }
"ec2:DescribeVolumes",
"ec2:DescribeSnapshots"
],
"Resource": "*"
},
{
"Action": [
"tag:GetResources"
],
"Resource": "*",
"Effect": "Allow"
}
]
}
47
AWS Backup Developer Guide
Access Control
{ {
"Version": "2012-10-17", "Version": "2012-10-17",
"Statement": [ "Statement": [
{ {
"Action": [ "Effect": "Allow",
"elasticfilesystem:Backup" "Action": [
], "elasticfilesystem:Restore",
"Resource":
"arn:aws:elasticfilesystem:*:*:file- "elasticfilesystem:CreateFilesystem",
system/*",
"Effect": "Allow" "elasticfilesystem:DescribeFilesystems",
},
{ "elasticfilesystem:DeleteFilesystem"
"Action": [ ],
"tag:GetResources" "Resource":
], "arn:aws:elasticfilesystem:*:*:file-system/
"Resource": "*", *"
"Effect": "Allow" }
} ]
] }
}
48
AWS Backup Developer Guide
Access Control
{ {
"Version": "2012-10-17", "Version": "2012-10-17",
"Statement": [ "Statement": [
{ {
"Effect": "Allow", "Effect": "Allow",
"Action": [ "Action": [
"rds:AddTagsToResource", "rds:DescribeDBInstances",
"rds:ListTagsForResource", "rds:DescribeDBSnapshots",
"rds:DescribeDBSnapshots", "rds:ListTagsForResource",
"rds:CreateDBSnapshot",
"rds:CopyDBSnapshot", "rds:RestoreDBInstanceFromDBSnapshot",
"rds:DescribeDBInstances" "rds:DeleteDBInstance",
], "rds:AddTagsToResource"
"Resource": "*" ],
}, "Resource": "*"
{ }
"Effect": "Allow", ]
"Action": [ }
"rds:DeleteDBSnapshot"
],
"Resource": [
"arn:aws:rds:*:*:snapshot:awsbackup:*"
]
},
{
"Action": [
"tag:GetResources"
],
"Resource": "*",
"Effect": "Allow"
}
]
}
49
AWS Backup Developer Guide
Access Control
AWS Storage Gateway Backup Policy AWS Storage Gateway Restore Policy
"Version": "2012-10-17", {
"Statement": [ "Version": "2012-10-17",
{ "Statement": [
"Effect": "Allow", {
"Action": [ "Effect": "Allow",
"Action": [
"storagegateway:CreateSnapshot"
], "storagegateway:DeleteVolume",
"Resource":
"arn:aws:storagegateway:*:*:gateway/*/ "storagegateway:DescribeCachediSCSIVolumes",
volume/*"
}, "storagegateway:DescribeStorediSCSIVolumes"
{ ],
"Effect": "Allow", "Resource":
"Action": [ "arn:aws:storagegateway:*:*:gateway/*/
"ec2:CreateTags", volume/*"
"ec2:DeleteSnapshot" },
], {
"Resource": "Effect": "Allow",
"arn:aws:ec2:*::snapshot/*" "Action": [
},
{ "storagegateway:DescribeGatewayInformation",
"Effect": "Allow",
"Action": [ "storagegateway:CreateStorediSCSIVolume",
"ec2:DescribeSnapshots"
], "storagegateway:CreateCachediSCSIVolume"
"Resource": "*" ],
}, "Resource":
{ "arn:aws:storagegateway:*:*:gateway/*"
"Action": [ },
"tag:GetResources" {
], "Effect": "Allow",
"Resource": "*", "Action": [
"Effect": "Allow" "storagegateway:ListVolumes"
} ],
] "Resource":
} "arn:aws:storagegateway:*:*:*"
}
]
}
50
AWS Backup Developer Guide
Access Control
{ {
"Version":"2012-10-17", "Version":"2012-10-17",
"Statement":[ "Statement":[
{ {
"Effect":"Allow", "Effect":"Allow",
"Action":[ "Action":[
"ec2:CreateTags", "ec2:CreateVolume",
"ec2:DeleteSnapshot" "ec2:DeleteVolume"
], ],
"Resource":[
"Resource":"arn:aws:ec2:*::snapshot/*" "arn:aws:ec2:*::snapshot/*",
}, "arn:aws:ec2:*:*:volume/*"
{ ]
"Effect":"Allow", },
"Action":[ {
"ec2:CreateImage", "Effect":"Allow",
"ec2:DeregisterImage" "Action":[
], "ec2:DescribeSnapshots",
"Resource":"*" "ec2:DescribeVolumes"
}, ],
{ "Resource":"*"
"Effect":"Allow", },
"Action":[ {
"ec2:CreateTags" "Effect":"Allow",
], "Action":[
"Resource":"arn:aws:ec2:*:*:image/ "ec2:DescribeImages",
*" "ec2:DescribeInstances"
}, ],
{ "Resource":"*"
"Effect":"Allow", },
"Action":[ {
"ec2:DescribeSnapshots", "Action":[
"ec2:DescribeTags", "ec2:RunInstances"
"ec2:DescribeImages", ],
"ec2:DescribeInstances", "Effect":"Allow",
"Resource":"*"
"ec2:DescribeInstanceAttribute", },
{
"ec2:DescribeInstanceCreditSpecifications", "Action":[
"ec2:TerminateInstances"
"ec2:DescribeNetworkInterfaces", ],
"ec2:DescribeElasticGpus", "Effect":"Allow",
"ec2:DescribeSpotInstanceRequests" "Resource":"arn:aws:ec2:*:*:instance/*"
], },
"Resource":"*" {
}, "Action":"iam:PassRole",
{ "Resource":"arn:aws:iam::<account-
"Effect":"Allow", id>:role/<role-name>",
"Action":[ "Effect":"Allow"
"ec2:CreateSnapshot", }
"ec2:DeleteSnapshot", ]
"ec2:DescribeVolumes", }
"ec2:DescribeSnapshots"
],
"Resource":[
"arn:aws:ec2:*::snapshot/*",
"arn:aws:ec2:*:*:volume/*"
]
},
51
AWS Backup Developer Guide
IAM Service Roles
The role that you pass to AWS Backup must have an IAM policy with the permissions that enable AWS
Backup to perform actions associated with backup operations, such as creating, restoring, or expiring
backups. Different permissions are required for each of the AWS services that AWS Backup supports. The
role must also have AWS Backup listed as a trusted entity, which enables AWS Backup to assume the role.
You pass a role to AWS Backup when restoring or creating a backup. You also specify a role when
assigning your AWS resources to a backup plan. This is the role that AWS Backup assumes when creating
and expiring backups on your behalf according to the backup plan that you assigned the resource to.
For more information about AWS managed policies for AWS Backup, see Managed Policies (p. 44).
There are two separate default roles that AWS Backup can create for you. One is for creating backups,
and the other is for restoring backups.
52
AWS Backup Developer Guide
Logging and Monitoring
CloudTrail provides a record of actions taken by a user, role, or an AWS service in AWS Backup.
Using the information collected by CloudTrail, you can determine the request that was made to
AWS Backup, the IP address from which the request was made, who made the request, when it was
made, and additional details. For more information, see Logging AWS Backup API Calls with AWS
CloudTrail (p. 61).
AWS Trusted Advisor
Trusted Advisor draws upon best practices learned from serving hundreds of thousands of AWS
customers. Trusted Advisor inspects your AWS environment and then makes recommendations
when opportunities exist to save money, improve system availability and performance, or help
close security gaps. All AWS customers have access to five Trusted Advisor checks. Customers with a
Business or Enterprise support plan can view all Trusted Advisor checks. For more information, see
AWS Trusted Advisor.
For a list of AWS services in scope of specific compliance programs, see AWS Services in Scope by
Compliance Program. For general information, see AWS Compliance Programs.
You can download third-party audit reports using AWS Artifact. For more information, see Downloading
Reports in AWS Artifact in the AWS Artifact User Guide.
Your compliance responsibility when using AWS Backup is determined by the sensitivity of your data,
your organization's compliance objectives, and applicable laws and regulations. If your use of AWS
Backup is subject to compliance with standards like HIPAA, PCI, or FedRAMP, AWS provides resources to
help:
• Security and Compliance Quick Start Guides – These deployment guides discuss architectural
considerations and provide steps for deploying security- and compliance-focused baseline
environments on AWS.
53
AWS Backup Developer Guide
Resilience
• Architecting for HIPAA Security and Compliance Whitepaper – This whitepaper describes how
companies can use AWS to create HIPAA-compliant applications.
• AWS Compliance Resources – This collection of workbooks and guides might apply to your industry
and location.
• AWS Config – This AWS service assesses how well your resource configurations comply with internal
practices, industry guidelines, and regulations.
• AWS Security Hub – This AWS service provides a comprehensive view of your security state within AWS
that helps you check your compliance with security industry standards and best practices.
For more information about AWS Regions and Availability Zones, see AWS Global Infrastructure.
You use AWS published API calls to access AWS Backup through the network. Clients must support
Transport Layer Security (TLS) 1.0 or later. We recommend TLS 1.2 or later. Clients must also support
cipher suites with perfect forward secrecy (PFS) such as Ephemeral Diffie-Hellman (DHE) or Elliptic Curve
Diffie-Hellman Ephemeral (ECDHE). Most modern systems such as Java 7 and later support these modes.
Additionally, requests must be signed by using an access key ID and a secret access key that is associated
with an IAM principal. Or you can use the AWS Security Token Service (AWS STS) to generate temporary
security credentials to sign requests.
54
AWS Backup Developer Guide
Resource Quota
*AWS Backup supports up to 50 concurrent backup copies of Amazon EC2 AMIs to a destination AWS
Region per account.
**This quota applies to the number of resource assignment documents associated with a backup plan.
There is no quota for the number of resources referenced in the assignment document.
Note
For services other than Amazon EFS, you might also encounter quotas imposed by those
services.
55
AWS Backup Developer Guide
AWS Backup Notification APIs
Topics
• AWS Backup Notification APIs (p. 56)
• Completed Events (p. 56)
• AWS Backup Notification Command Examples (p. 58)
• Specifying AWS Backup as a Service Principal (p. 59)
• DeleteBackupVaultNotifications (p. 90) — Deletes event notifications for the specified backup vault.
• GetBackupVaultNotifications (p. 128) — Lists all event notifications for the specified backup vault.
• PutBackupVaultNotifications (p. 165) — Turns on notifications for the specified topic and events.
Backup jobs
• BACKUP_JOB_STARTED
• BACKUP_JOB_COMPLETED
Restore jobs
• RESTORE_JOB_STARTED
• RESTORE_JOB_COMPLETED
Recovery points
• RECOVERY_POINT_MODIFIED
Completed Events
Completed notifications include a STATE attribute indicating the specific type of completion.
56
AWS Backup Developer Guide
Examples: Completed Events
{
"Type" : "Notification",
"MessageId" : "12345678-abcd-123a-def0-abcd1a234567",
"TopicArn" : "arn:aws:sns:us-west-1:123456789012:backup-2sqs-sns-topic",
"Subject" : "Notification from AWS Backup",
"Message" : "An AWS Backup job was completed successfully. Recovery point ARN:
arn:aws:ec2:us-west-1:123456789012:volume/vol-012f345df6789012d. Resource ARN :
arn:aws:ec2:us-west-1:123456789012:volume/vol-012f345df6789012e. BackupJob ID : 1b2345b2-
f22c-4dab-5eb6-bbc7890ed123",
"Timestamp" : "2019-08-02T18:46:02.788Z",
"MessageAttributes" : {
"EventType" : {"Type":"String","Value":"BACKUP_JOB"},
"State" : {"Type":"String","Value":"COMPLETED"},
"AccountId" : {"Type":"String","Value":"123456789012"},
"Id" : {"Type":"String","Value":"1b2345b2-f22c-4dab-5eb6-bbc7890ed123"},
"StartTime" : {"Type":"String","Value":"2019-09-02T13:48:52.226Z"}
}
}
{
"Type" : "Notification",
"MessageId" : "12345678-abcd-123a-def0-abcd1a234567",
"TopicArn" : "arn:aws:sns:us-west-1:123456789012:backup-2sqs-sns-topic",
"Subject" : "Notification from AWS Backup",
"Message" : "An AWS Backup job failed. Resource ARN : arn:aws:ec2:us-
west-1:123456789012:volume/vol-012f345df6789012e. BackupJob ID : 1b2345b2-f22c-4dab-5eb6-
bbc7890ed123",
"Timestamp" : "2019-08-02T18:46:02.788Z",
"MessageAttributes" : {
"EventType" : {"Type":"String","Value":"BACKUP_JOB"},
"State" : {"Type":"String","Value":"FAILED"},
"AccountId" : {"Type":"String","Value":"123456789012"},
"Id" : {"Type":"String","Value":"1b2345b2-f22c-4dab-5eb6-bbc7890ed123"},
"StartTime" : {"Type":"String","Value":"2019-09-02T13:48:52.226Z"}
}
}
{
"Type" : "Notification",
"MessageId" : "12345678-abcd-123a-def0-abcd1a234567",
"TopicArn" : "arn:aws:sns:us-west-1:123456789012:backup-2sqs-sns-topic",
"Subject" : "Notification from AWS Backup",
"Message" : "An AWS Backup job failed to complete in time. Resource ARN :
arn:aws:ec2:us-west-1:123456789012:volume/vol-012f345df6789012e. BackupJob ID : 1b2345b2-
f22c-4dab-5eb6-bbc7890ed123",
"Timestamp" : "2019-08-02T18:46:02.788Z",
"MessageAttributes" : {
"EventType" : {"Type":"String","Value":"BACKUP_JOB"},
"State" : {"Type":"String","Value":"EXPIRED"},
"AccountId" : {"Type":"String","Value":"123456789012"},
"Id" : {"Type":"String","Value":"1b2345b2-f22c-4dab-5eb6-bbc7890ed123"},
"StartTime" : {"Type":"String","Value":"2019-09-02T13:48:52.226Z"}
}
}
57
AWS Backup Developer Guide
AWS Backup Notification Command Examples
{
"SNSTopicArn": "arn:aws:sns:region:account-id:myBackupTopic",
"BackupVaultEvents": [
"RESTORE_JOB_STARTED",
"RESTORE_JOB_COMPLETED",
"RECOVERY_POINT_MODIFIED"
],
"BackupVaultName": "myVault",
"BackupVaultArn": "arn:aws:backup:region:account-id:backup-vault:myVault"
}
58
AWS Backup Developer Guide
Specifying AWS Backup as a Service Principal
Include the following JSON in the access policy of the Amazon SNS topic that you use to track AWS
Backup events. You must specify the resource Amazon Resource Name (ARN) of your topic.
{
"Sid": "My-statement-id",
"Effect": "Allow",
"Principal": {
"Service": "backup.amazonaws.com"
},
"Action": "SNS:Publish",
"Resource": "arn:aws:sns:region:account-id:myTopic"
}
The following sample JSON is an example of a basic Amazon SNS access policy that includes AWS Backup
as a service principal. You must specify your own AWS account ID and the resource ARN of your topic.
{
"Version": "2008-10-17",
"Id": "__default_policy_ID",
"Statement": [
{
"Sid": "__default_statement_ID",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": [
"SNS:Publish",
"SNS:RemovePermission",
"SNS:SetTopicAttributes",
"SNS:DeleteTopic",
"SNS:ListSubscriptionsByTopic",
"SNS:GetTopicAttributes",
"SNS:Receive",
"SNS:AddPermission",
"SNS:Subscribe"
],
"Resource": "arn:aws:sns:region:account-id:myTopic",
"Condition": {
"STRINGEQUALS": {
"AWS:SourceOwner": "account-id"
}
}
},
{
"Sid": "__console_pub_0",
"Effect": "Allow",
"Principal": {
"Service": "backup.amazonaws.com"
},
"Action": "SNS:Publish",
"Resource": "arn:aws:sns:region:account-id:myTopic"
}
59
AWS Backup Developer Guide
Specifying AWS Backup as a Service Principal
]
}
For more information about specifying a service principal in an Amazon SNS access policy, see Allowing
Any AWS Resource to Publish to a Topic in the Amazon Simple Notification Service Developer Guide.
Note
If your topic is encrypted, you must include additional permissions in your policy to allow AWS
Backup to publish to it. For more information about enabling services to publish to encrypted
topics, see Enable Compatibility between Event Sources from AWS Services and Encrypted
Topics in the Amazon Simple Notification Service Developer Guide.
60
AWS Backup Developer Guide
AWS Backup Information in CloudTrail
To learn more about CloudTrail, see the AWS CloudTrail User Guide.
For an ongoing record of events in your AWS account, including events for AWS Backup, create a trail.
A trail enables CloudTrail to deliver log files to an Amazon S3 bucket. By default, when you create a
trail in the console, the trail applies to all AWS Regions. The trail logs events from all Regions in the
AWS partition and delivers the log files to the Amazon S3 bucket that you specify. Additionally, you can
configure other AWS services to further analyze and act upon the event data collected in CloudTrail logs.
For more information, see the following:
All AWS Backup actions are logged by CloudTrail and are documented in AWS Backup API
Actions (p. 70).
Every event or log entry contains information about who generated the request. The identity
information helps you determine the following:
• Whether the request was made with root or AWS Identity and Access Management (IAM) user
credentials.
• Whether the request was made with temporary security credentials for a role or federated user.
• Whether the request was made by another AWS service.
61
AWS Backup Developer Guide
Understanding AWS Backup Log File Entries
The following example shows a CloudTrail log entry that demonstrates the StartBackupJob,
StartRestoreJob, and DeleteRecoveryPoint actions and also the BackupJobCompleted event.
{
"eventVersion": "1.05",
"userIdentity": {
"type": "Root",
"principalId": "123456789012",
"arn": "arn:aws:iam::123456789012:root",
"accountId": "123456789012",
"accessKeyId": AKIAIOSFODNN7EXAMPLE,
"sessionContext": {
"attributes": {
"mfaAuthenticated": "false",
"creationDate": "2019-01-10T12:24:50Z"
}
}
},
"eventTime": "2019-01-10T13:45:24Z",
"eventSource": "backup.amazonaws.com",
"eventName": "StartBackupJob",
"awsRegion": "us-east-1",
"sourceIPAddress": "12.34.567.89",
"userAgent": "aws-internal/3 aws-sdk-java/1.11.465
Linux/4.9.124-0.1.ac.198.73.329.metal1.x86_64 OpenJDK_64-Bit_Server_VM/25.192-b12
java/1.8.0_192",
"requestParameters": {
"backupVaultName": "Default",
"resourceArn": "arn:aws:ec2:us-east-1:123456789012:volume/vol-00a422a05b9c6asd3",
"iamRoleArn": "arn:aws:iam::123456789012:role/AWSBackup",
"startWindowMinutes": 60
},
"responseElements": {
"backupJobId": "8a3c2a87-b23e-4d56-b045-fa9e88ede4e6",
"creationDate": "Jan 10, 2019 1:45:24 PM"
},
"requestID": "98cf4d59-8c76-49f7-9201-790743931234",
"eventID": "fe8146a5-7812-4a95-90ad-074498be1234",
"eventType": "AwsApiCall",
"recipientAccountId": "123456789012"
}
,
{
"eventVersion": "1.05",
"userIdentity": {
"type": "Root",
"principalId": "123456789012",
"arn": "arn:aws:iam::123456789012:root",
"accountId": "123456789012",
"accessKeyId": "ASIAQLTPYK3BWHVZP45U",
"sessionContext": {
"attributes": {
"mfaAuthenticated": "false",
"creationDate": "2019-01-10T12:24:50Z"
62
AWS Backup Developer Guide
Understanding AWS Backup Log File Entries
}
}
},
"eventTime": "2019-01-10T13:49:50Z",
"eventSource": "backup.amazonaws.com",
"eventName": "StartRestoreJob",
"awsRegion": "us-east-1",
"sourceIPAddress": "12.34.567.89",
"userAgent": "aws-internal/3 aws-sdk-java/1.11.465
Linux/4.9.124-0.1.ac.198.73.329.metal1.x86_64 OpenJDK_64-Bit_Server_VM/25.192-b12
java/1.8.0_192",
"requestParameters": {
"recoveryPointArn": "arn:aws:ec2:us-east-1::snapshot/snap-00a129455bdbc9d99",
"metadata": {
"volumeType": "gp2",
"availabilityZone": "us-east-1b",
"volumeSize": "100"
},
"iamRoleArn": "arn:aws:iam::123456789012:role/AWSBackup",
"idempotencyToken": "a9c8b4fb-d369-4a58-944b-942e442a8fe3",
"resourceType": "EBS"
},
"responseElements": {
"restoreJobId": "9808E090-8C76-CCB8-4CEA-407CF6AC4C43"
},
"requestID": "783ddddc-6d7e-4539-8fab-376aa9668543",
"eventID": "ff35ddea-7577-4aec-a132-964b7e9dd423",
"eventType": "AwsApiCall",
"recipientAccountId": "123456789012"
}
,
{
"eventVersion": "1.05",
"userIdentity": {
"type": "Root",
"principalId": "123456789012",
"arn": "arn:aws:iam::123456789012:root",
"accountId": "123456789012",
"accessKeyId": "ASIAQLTPYK3BWHVZP45U",
"sessionContext": {
"attributes": {
"mfaAuthenticated": "false",
"creationDate": "2019-01-10T12:24:50Z"
}
}
},
"eventTime": "2019-01-10T14:52:42Z",
"eventSource": "backup.amazonaws.com",
"eventName": "DeleteRecoveryPoint",
"awsRegion": "us-east-1",
"sourceIPAddress": "12.34.567.89",
"userAgent": "aws-internal/3 aws-sdk-java/1.11.465
Linux/4.9.124-0.1.ac.198.73.329.metal1.x86_64 OpenJDK_64-Bit_Server_VM/25.192-b12
java/1.8.0_192",
"requestParameters": {
"backupVaultName": "Default",
"recoveryPointArn": "arn:aws:ec2:us-east-1::snapshot/snap-05f426fd9daab3433"
},
"responseElements": null,
"requestID": "f1f1b33a-48da-436c-9a8f-7574f1ab5fd7",
"eventID": "2dd70080-5aba-4a79-9a0f-92647c9f0846",
"eventType": "AwsApiCall",
"recipientAccountId": "123456789012"
}
,
{
63
AWS Backup Developer Guide
Understanding AWS Backup Log File Entries
"eventVersion": "1.05",
"userIdentity": {
"accountId": "123456789012",
"invokedBy": "backup.amazonaws.com"
},
"eventTime": "2019-01-10T08:24:39Z",
"eventSource": "backup.amazonaws.com",
"eventName": "BackupJobCompleted",
"awsRegion": "us-east-1",
"sourceIPAddress": "backup.amazonaws.com",
"userAgent": "backup.amazonaws.com",
"requestParameters": null,
"responseElements": null,
"eventID": "2e7e4fcf-0c52-467f-9fd0-f61c2fcf7d17",
"eventType": "AwsServiceEvent",
"recipientAccountId": "123456789012",
"serviceEventDetails": {
"completionDate": {
"seconds": 1547108091,
"nanos": 906000000
},
"state": "COMPLETED",
"percentDone": 100,
"backupJobId": "8A8E738B-A8C5-E058-8224-90FA323A3C0E",
"backupVaultName": "BackupVault",
"backupVaultArn": "arn:aws:backup:us-east-1:123456789012:backup-vault:BackupVault",
"recoveryPointArn": "arn:aws:ec2:us-east-1::snapshot/snap-07ce8c3141d361233",
"resourceArn": "arn:aws:ec2:us-east-1:123456789012:volume/vol-06692095a6a421233",
"creationDate": {
"seconds": 1547101638,
"nanos": 272000000
},
"backupSizeInBytes": 8589934592,
"iamRoleArn": "arn:aws:iam::123456789012:role/AWSBackup",
"resourceType": "EBS"
}
}
64
AWS Backup Developer Guide
Integrating AWS Backup with AWS CloudFormation
Before you create your AWS CloudFormation stack, you should consider the following:
• We recommend that you create separate templates for your backup plans and your backup vaults.
Because backup vaults can be deleted only if they are empty, you can't delete a stack that includes
backup vaults if they contain any recovery points.
• Be sure that you have a service role available before you create your stack. The AWS Backup default
service role is created for you the first time you assign resources to a backup plan. If you haven't done
this yet, the default service role is not available. You can also specify a custom role that you create. For
more information about roles, see IAM Service Roles (p. 52).
Description: "Backup Plan template to back up all resources tagged with backup=daily
daily at 5am UTC."
Resources:
KMSKey:
Type: AWS::KMS::Key
Properties:
Description: "Encryption key for daily"
EnableKeyRotation: True
Enabled: True
KeyPolicy:
Version: "2012-10-17"
Statement:
- Effect: Allow
Principal:
"AWS": { "Fn::Sub": "arn:${AWS::Partition}:iam::${AWS::AccountId}:root" }
Action:
- kms:*
Resource: "*"
BackupVaultWithDailyBackups:
Type: "AWS::Backup::BackupVault"
Properties:
65
AWS Backup Developer Guide
Integrating AWS Backup with AWS CloudFormation
BackupVaultName: "BackupVaultWithDailyBackups"
EncryptionKeyArn: !GetAtt KMSKey.Arn
BackupPlanWithDailyBackups:
Type: "AWS::Backup::BackupPlan"
Properties:
BackupPlan:
BackupPlanName: "BackupPlanWithDailyBackups"
BackupPlanRule:
-
RuleName: "RuleForDailyBackups"
TargetBackupVault: !Ref BackupVaultWithDailyBackups
ScheduleExpression: "cron(0 5 ? * * *)"
DependsOn: BackupVaultWithDailyBackups
DDBTableWithDailyBackupTag:
Type: "AWS::DynamoDB::Table"
Properties:
TableName: "TestTable"
AttributeDefinitions:
-
AttributeName: "Album"
AttributeType: "S"
KeySchema:
-
AttributeName: "Album"
KeyType: "HASH"
ProvisionedThroughput:
ReadCapacityUnits: "5"
WriteCapacityUnits: "5"
Tags:
-
Key: "backup"
Value: "daily"
BackupRole:
Type: "AWS::IAM::Role"
Properties:
AssumeRolePolicyDocument:
Version: "2012-10-17"
Statement:
-
Effect: "Allow"
Principal:
Service:
- "backup.amazonaws.com"
Action:
- "sts:AssumeRole"
ManagedPolicyArns:
-
"arn:aws:iam::aws:policy/service-role/service role"
TagBasedBackupSelection:
Type: "AWS::Backup::BackupSelection"
Properties:
BackupSelection:
SelectionName: "TagBasedBackupSelection"
IamRoleArn: !GetAtt BackupRole.Arn
ListOfTags:
-
ConditionType: "STRINGEQUALS"
ConditionKey: "backup"
ConditionValue: "daily"
BackupPlanId: !Ref BackupPlanWithDailyBackups
DependsOn: BackupPlanWithDailyBackups
66
AWS Backup Developer Guide
Integrating AWS Backup with AWS CloudFormation
If you are using the default service role, replace service role with
AWSBackupServiceRolePolicyForBackup.
For information about using AWS CloudFormation with AWS Backup, see AWS Backup Resource Type
Reference in the AWS CloudFormation User Guide.
For information about controlling access to AWS service resources when using AWS CloudFormation, see
Controlling Access with AWS Identity and Access Management in the AWS CloudFormation User Guide.
67
AWS Backup Developer Guide
Troubleshooting General Issues
For general questions about AWS Backup, see the AWS Backup FAQ. You can also search for answers and
post questions in the AWS Backup forum.
Topics
• Troubleshooting General Issues (p. 68)
• Troubleshooting Creating Resources (p. 68)
• Troubleshooting Deleting Resources (p. 69)
If you run into issues with backing up and restoring a particular resource type, it can be helpful to review
the troubleshooting topic for that resource. For more information about troubleshooting other AWS
services, see the following:
• Using AWS Backup with Amazon EFS in the Amazon Elastic File System User Guide
• On-Demand Backup and Restore for DynamoDB in the Amazon DynamoDB Developer Guide
• Amazon EBS Snapshots in the Amazon EC2 User Guide for Linux Instances
• Backing Up and Restoring Amazon RDS DB Instances in the Amazon RDS User Guide
• Backing Up Your Volumes in the AWS Storage Gateway User Guide
If AWS Backup fails to create or delete a resource, you can learn more about the issue by using AWS
CloudTrail to view error messages or logs. For more information about using CloudTrail with AWS
Backup, see Logging AWS Backup API Calls with AWS CloudTrail (p. 61).
• Creating backups for DynamoDB tables will fail while tables are being created. Creating a DynamoDB
table typically takes a couple of minutes.
• Backing up Amazon EFS file systems can take up to 7 days when the file systems are very large. Only
one concurrent backup at a time can be queued for an Amazon EFS file system. If a subsequent backup
is queued while a previous one is still in progress, the backup window can expire and no backup is
created.
• Amazon EBS has a soft quota of 100,000 backups per AWS Region per account, and additional backups
fail when this quota is reached. If you reach this quota, you can delete excess backups or request a
quota increase. For more information about requesting a quota increase, see AWS Service Quotas.
• When creating Amazon RDS backups, consider the following:
68
AWS Backup Developer Guide
Troubleshooting Deleting Resources
• Amazon RDS has a soft quota of 100 backups per AWS Region per account, and additional backups
will fail when this quota is reached. If you reach this quota, you can delete excess backups or request
a quota increase. For more information about requesting a quota increase, see AWS Service Quotas.
• If you initiate a backup either through a backup plan or by creating an on-demand backup, it will fail
if it is scheduled during the daily user-configurable 30-minute backup window. For more information
about automated Amazon RDS backups, see Working With Backups in the Amazon RDS User Guide.
• Consecutive backups for Amazon RDS must be scheduled at least 6 hours apart.
• Backups that are initiated during a maintenance window will fail. For more information about
Amazon RDS maintenance windows, see Maintaining a DB Instance in the Amazon RDS User Guide.
To delete a recovery point or a backup vault, you need the appropriate permissions. For more
information about access control using IAM with AWS Backup, see Access Control (p. 41).
69
AWS Backup Developer Guide
Actions
70
AWS Backup Developer Guide
Actions
71
AWS Backup Developer Guide
CreateBackupPlan
CreateBackupPlan
Backup plans are documents that contain information that AWS Backup uses to schedule tasks that
create recovery points of resources.
Request Syntax
PUT /backup/plans/ HTTP/1.1
Content-type: application/json
{
"BackupPlan": {
"BackupPlanName": "string",
"Rules": [
{
"CompletionWindowMinutes": number,
"CopyActions": [
{
"DestinationBackupVaultArn": "string",
"Lifecycle": {
"DeleteAfterDays": number,
"MoveToColdStorageAfterDays": number
}
}
],
"Lifecycle": {
"DeleteAfterDays": number,
"MoveToColdStorageAfterDays": number
},
"RecoveryPointTags": {
"string" : "string"
},
"RuleName": "string",
"ScheduleExpression": "string",
"StartWindowMinutes": number,
"TargetBackupVaultName": "string"
}
]
},
"BackupPlanTags": {
"string" : "string"
},
"CreatorRequestId": "string"
}
Request Body
The request accepts the following data in JSON format.
Specifies the body of a backup plan. Includes a BackupPlanName and one or more sets of Rules.
72
AWS Backup Developer Guide
CreateBackupPlan
Required: Yes
BackupPlanTags (p. 72)
To help organize your resources, you can assign your own metadata to the resources that you create.
Each tag is a key-value pair. The specified tags are assigned to all backups created with this plan.
Required: No
CreatorRequestId (p. 72)
Identifies the request and allows failed requests to be retried without the risk of executing the
operation twice. If the request includes a CreatorRequestId that matches an existing backup
plan, that plan is returned. This parameter is optional.
Type: String
Required: No
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"BackupPlanArn": "string",
"BackupPlanId": "string",
"CreationDate": number,
"VersionId": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
An Amazon Resource Name (ARN) that uniquely identifies a backup plan; for example,
arn:aws:backup:us-east-1:123456789012:plan:8F81F553-3A74-4A3F-B93D-
B3360DC80C50.
Type: String
BackupPlanId (p. 73)
Type: String
CreationDate (p. 73)
The date and time that a backup plan is created, in Unix format and Coordinated Universal
Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value
1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
Type: Timestamp
73
AWS Backup Developer Guide
CreateBackupPlan
Unique, randomly generated, Unicode, UTF-8 encoded strings that are at most 1,024 bytes long.
They cannot be edited.
Type: String
Errors
For information about the errors that are common to all actions, see Common Errors (p. 222).
AlreadyExistsException
Indicates that something is wrong with a parameter's value. For example, the value is out of range.
A limit in the request has been exceeded; for example, a maximum number of items allowed in a
request.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
74
AWS Backup Developer Guide
CreateBackupSelection
CreateBackupSelection
Creates a JSON document that specifies a set of resources to assign to a backup plan. Resources can be
included by specifying patterns for a ListOfTags and selected Resources.
• Resources: "arn:aws:ec2:region:account-id:volume/volume-id"
• ConditionKey:"department"
ConditionValue:"finance"
ConditionType:"STRINGEQUALS"
• ConditionKey:"importance"
ConditionValue:"critical"
ConditionType:"STRINGEQUALS"
Using these patterns would back up all Amazon Elastic Block Store (Amazon EBS) volumes that are
tagged as "department=finance", "importance=critical", in addition to an EBS volume with the
specified volume Id.
Resources and conditions are additive in that all resources that match the pattern are selected. This
shouldn't be confused with a logical AND, where all conditions must match. The matching patterns are
logically 'put together using the OR operator. In other words, all patterns that match are selected for
backup.
Request Syntax
PUT /backup/plans/backupPlanId/selections/ HTTP/1.1
Content-type: application/json
{
"BackupSelection": {
"IamRoleArn": "string",
"ListOfTags": [
{
"ConditionKey": "string",
"ConditionType": "string",
"ConditionValue": "string"
}
],
"Resources": [ "string" ],
"SelectionName": "string"
},
"CreatorRequestId": "string"
}
Uniquely identifies the backup plan to be associated with the selection of resources.
75
AWS Backup Developer Guide
CreateBackupSelection
Request Body
The request accepts the following data in JSON format.
Required: Yes
CreatorRequestId (p. 75)
A unique string that identifies the request and allows failed requests to be retried without the risk of
executing the operation twice.
Type: String
Required: No
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"BackupPlanId": "string",
"CreationDate": number,
"SelectionId": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
Type: String
CreationDate (p. 76)
The date and time a backup selection is created, in Unix format and Coordinated Universal
Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value
1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
Type: Timestamp
SelectionId (p. 76)
Uniquely identifies the body of a request to assign a set of resources to a backup plan.
Type: String
Errors
For information about the errors that are common to all actions, see Common Errors (p. 222).
76
AWS Backup Developer Guide
CreateBackupSelection
AlreadyExistsException
Indicates that something is wrong with a parameter's value. For example, the value is out of range.
A limit in the request has been exceeded; for example, a maximum number of items allowed in a
request.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
77
AWS Backup Developer Guide
CreateBackupVault
CreateBackupVault
Creates a logical container where backups are stored. A CreateBackupVault request includes a name,
optionally one or more resource tags, an encryption key, and a request ID.
Note
Sensitive data, such as passport numbers, should not be included the name of a backup vault.
Request Syntax
PUT /backup-vaults/backupVaultName HTTP/1.1
Content-type: application/json
{
"BackupVaultTags": {
"string" : "string"
},
"CreatorRequestId": "string",
"EncryptionKeyArn": "string"
}
The name of a logical container where backups are stored. Backup vaults are identified by names
that are unique to the account used to create them and the AWS Region where they are created.
They consist of lowercase letters, numbers, and hyphens.
Pattern: ^[a-zA-Z0-9\-\_\.]{1,50}$
Request Body
The request accepts the following data in JSON format.
Metadata that you can assign to help organize the resources that you create. Each tag is a key-value
pair.
Required: No
CreatorRequestId (p. 78)
A unique string that identifies the request and allows failed requests to be retried without the risk of
executing the operation twice.
Type: String
Required: No
EncryptionKeyArn (p. 78)
The server-side encryption key that is used to protect your backups; for example,
arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.
78
AWS Backup Developer Guide
CreateBackupVault
Type: String
Required: No
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"BackupVaultArn": "string",
"BackupVaultName": "string",
"CreationDate": number
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for example,
arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.
Type: String
BackupVaultName (p. 79)
The name of a logical container where backups are stored. Backup vaults are identified by names
that are unique to the account used to create them and the Region where they are created. They
consist of lowercase letters, numbers, and hyphens.
Type: String
Pattern: ^[a-zA-Z0-9\-\_\.]{1,50}$
CreationDate (p. 79)
The date and time a backup vault is created, in Unix format and Coordinated Universal Time (UTC).
The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087
represents Friday, January 26, 2018 12:11:30.087 AM.
Type: Timestamp
Errors
For information about the errors that are common to all actions, see Common Errors (p. 222).
AlreadyExistsException
Indicates that something is wrong with a parameter's value. For example, the value is out of range.
79
AWS Backup Developer Guide
CreateBackupVault
A limit in the request has been exceeded; for example, a maximum number of items allowed in a
request.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
80
AWS Backup Developer Guide
DeleteBackupPlan
DeleteBackupPlan
Deletes a backup plan. A backup plan can only be deleted after all associated selections of resources
have been deleted. Deleting a backup plan deletes the current version of a backup plan. Previous
versions, if any, will still exist.
Request Syntax
DELETE /backup/plans/backupPlanId HTTP/1.1
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"BackupPlanArn": "string",
"BackupPlanId": "string",
"DeletionDate": number,
"VersionId": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
An Amazon Resource Name (ARN) that uniquely identifies a backup plan; for example,
arn:aws:backup:us-east-1:123456789012:plan:8F81F553-3A74-4A3F-B93D-
B3360DC80C50.
Type: String
BackupPlanId (p. 81)
Type: String
81
AWS Backup Developer Guide
DeleteBackupPlan
The date and time a backup plan is deleted, in Unix format and Coordinated Universal Time (UTC).
The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087
represents Friday, January 26, 2018 12:11:30.087 AM.
Type: Timestamp
VersionId (p. 81)
Unique, randomly generated, Unicode, UTF-8 encoded strings that are at most 1,024 bytes long.
Version Ids cannot be edited.
Type: String
Errors
For information about the errors that are common to all actions, see Common Errors (p. 222).
InvalidParameterValueException
Indicates that something is wrong with a parameter's value. For example, the value is out of range.
Indicates that something is wrong with the input to the request. For example, a parameter is of the
wrong type.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
82
AWS Backup Developer Guide
DeleteBackupPlan
83
AWS Backup Developer Guide
DeleteBackupSelection
DeleteBackupSelection
Deletes the resource selection associated with a backup plan that is specified by the SelectionId.
Request Syntax
DELETE /backup/plans/backupPlanId/selections/selectionId HTTP/1.1
Uniquely identifies the body of a request to assign a set of resources to a backup plan.
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
Response Elements
If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.
Errors
For information about the errors that are common to all actions, see Common Errors (p. 222).
InvalidParameterValueException
Indicates that something is wrong with a parameter's value. For example, the value is out of range.
84
AWS Backup Developer Guide
DeleteBackupSelection
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
85
AWS Backup Developer Guide
DeleteBackupVault
DeleteBackupVault
Deletes the backup vault identified by its name. A vault can be deleted only if it is empty.
Request Syntax
DELETE /backup-vaults/backupVaultName HTTP/1.1
The name of a logical container where backups are stored. Backup vaults are identified by names
that are unique to the account used to create them and the AWS Region where they are created.
They consist of lowercase letters, numbers, and hyphens.
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
Response Elements
If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.
Errors
For information about the errors that are common to all actions, see Common Errors (p. 222).
InvalidParameterValueException
Indicates that something is wrong with a parameter's value. For example, the value is out of range.
Indicates that something is wrong with the input to the request. For example, a parameter is of the
wrong type.
86
AWS Backup Developer Guide
DeleteBackupVault
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
87
AWS Backup Developer Guide
DeleteBackupVaultAccessPolicy
DeleteBackupVaultAccessPolicy
Deletes the policy document that manages permissions on a backup vault.
Request Syntax
DELETE /backup-vaults/backupVaultName/access-policy HTTP/1.1
The name of a logical container where backups are stored. Backup vaults are identified by names
that are unique to the account used to create them and the AWS Region where they are created.
They consist of lowercase letters, numbers, and hyphens.
Pattern: ^[a-zA-Z0-9\-\_\.]{1,50}$
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
Response Elements
If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.
Errors
For information about the errors that are common to all actions, see Common Errors (p. 222).
InvalidParameterValueException
Indicates that something is wrong with a parameter's value. For example, the value is out of range.
88
AWS Backup Developer Guide
DeleteBackupVaultAccessPolicy
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
89
AWS Backup Developer Guide
DeleteBackupVaultNotifications
DeleteBackupVaultNotifications
Deletes event notifications for the specified backup vault.
Request Syntax
DELETE /backup-vaults/backupVaultName/notification-configuration HTTP/1.1
The name of a logical container where backups are stored. Backup vaults are identified by names
that are unique to the account used to create them and the Region where they are created. They
consist of lowercase letters, numbers, and hyphens.
Pattern: ^[a-zA-Z0-9\-\_\.]{1,50}$
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
Response Elements
If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.
Errors
For information about the errors that are common to all actions, see Common Errors (p. 222).
InvalidParameterValueException
Indicates that something is wrong with a parameter's value. For example, the value is out of range.
90
AWS Backup Developer Guide
DeleteBackupVaultNotifications
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
91
AWS Backup Developer Guide
DeleteRecoveryPoint
DeleteRecoveryPoint
Deletes the recovery point specified by a recovery point ID.
Request Syntax
DELETE /backup-vaults/backupVaultName/recovery-points/recoveryPointArn HTTP/1.1
The name of a logical container where backups are stored. Backup vaults are identified by names
that are unique to the account used to create them and the AWS Region where they are created.
They consist of lowercase letters, numbers, and hyphens.
Pattern: ^[a-zA-Z0-9\-\_\.]{1,50}$
recoveryPointArn (p. 92)
An Amazon Resource Name (ARN) that uniquely identifies a recovery point; for example,
arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-
A80B-108B488B0D45.
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
Response Elements
If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.
Errors
For information about the errors that are common to all actions, see Common Errors (p. 222).
InvalidParameterValueException
Indicates that something is wrong with a parameter's value. For example, the value is out of range.
Indicates that something is wrong with the input to the request. For example, a parameter is of the
wrong type.
92
AWS Backup Developer Guide
DeleteRecoveryPoint
MissingParameterValueException
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
93
AWS Backup Developer Guide
DescribeBackupJob
DescribeBackupJob
Returns metadata associated with creating a backup of a resource.
Request Syntax
GET /backup-jobs/backupJobId HTTP/1.1
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"BackupJobId": "string",
"BackupSizeInBytes": number,
"BackupVaultArn": "string",
"BackupVaultName": "string",
"BytesTransferred": number,
"CompletionDate": number,
"CreatedBy": {
"BackupPlanArn": "string",
"BackupPlanId": "string",
"BackupPlanVersion": "string",
"BackupRuleId": "string"
},
"CreationDate": number,
"ExpectedCompletionDate": number,
"IamRoleArn": "string",
"PercentDone": "string",
"RecoveryPointArn": "string",
"ResourceArn": "string",
"ResourceType": "string",
"StartBy": number,
"State": "string",
"StatusMessage": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
94
AWS Backup Developer Guide
DescribeBackupJob
Type: String
BackupSizeInBytes (p. 94)
Type: Long
BackupVaultArn (p. 94)
An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for example,
arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.
Type: String
BackupVaultName (p. 94)
The name of a logical container where backups are stored. Backup vaults are identified by names
that are unique to the account used to create them and the AWS Region where they are created.
They consist of lowercase letters, numbers, and hyphens.
Type: String
Pattern: ^[a-zA-Z0-9\-\_\.]{1,50}$
BytesTransferred (p. 94)
The size in bytes transferred to a backup vault at the time that the job status was queried.
Type: Long
CompletionDate (p. 94)
The date and time that a job to create a backup job is completed, in Unix format and Coordinated
Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the
value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
Type: Timestamp
CreatedBy (p. 94)
Contains identifying information about the creation of a backup job, including the BackupPlanArn,
BackupPlanId, BackupPlanVersion, and BackupRuleId of the backup plan that is used to
create it.
The date and time that a backup job is created, in Unix format and Coordinated Universal
Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value
1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
Type: Timestamp
ExpectedCompletionDate (p. 94)
The date and time that a job to back up resources is expected to be completed, in Unix format
and Coordinated Universal Time (UTC). The value of ExpectedCompletionDate is accurate
to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018
12:11:30.087 AM.
Type: Timestamp
95
AWS Backup Developer Guide
DescribeBackupJob
Specifies the IAM role ARN used to create the target recovery point; for example,
arn:aws:iam::123456789012:role/S3Access.
Type: String
PercentDone (p. 94)
Contains an estimated percentage that is complete of a job at the time the job status was queried.
Type: String
RecoveryPointArn (p. 94)
Type: String
ResourceArn (p. 94)
An ARN that uniquely identifies a saved resource. The format of the ARN depends on the resource
type.
Type: String
ResourceType (p. 94)
The type of AWS resource to be backed up; for example, an Amazon Elastic Block Store (Amazon
EBS) volume or an Amazon Relational Database Service (Amazon RDS) database.
Type: String
Pattern: ^[a-zA-Z0-9\-\_\.]{1,50}$
StartBy (p. 94)
Specifies the time in Unix format and Coordinated Universal Time (UTC) when a backup job must be
started before it is canceled. The value is calculated by adding the start window to the scheduled
time. So if the scheduled time were 6:00 PM and the start window is 2 hours, the StartBy time
would be 8:00 PM on the date specified. The value of StartBy is accurate to milliseconds. For
example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
Type: Timestamp
State (p. 94)
Type: String
Type: String
Errors
For information about the errors that are common to all actions, see Common Errors (p. 222).
96
AWS Backup Developer Guide
DescribeBackupJob
DependencyFailureException
A dependent AWS service or resource returned an error to the AWS Backup service, and the action
cannot be completed.
Indicates that something is wrong with a parameter's value. For example, the value is out of range.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
97
AWS Backup Developer Guide
DescribeBackupVault
DescribeBackupVault
Returns metadata about a backup vault specified by its name.
Request Syntax
GET /backup-vaults/backupVaultName HTTP/1.1
The name of a logical container where backups are stored. Backup vaults are identified by names
that are unique to the account used to create them and the AWS Region where they are created.
They consist of lowercase letters, numbers, and hyphens.
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"BackupVaultArn": "string",
"BackupVaultName": "string",
"CreationDate": number,
"CreatorRequestId": "string",
"EncryptionKeyArn": "string",
"NumberOfRecoveryPoints": number
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for example,
arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.
Type: String
BackupVaultName (p. 98)
The name of a logical container where backups are stored. Backup vaults are identified by names
that are unique to the account used to create them and the Region where they are created. They
consist of lowercase letters, numbers, and hyphens.
Type: String
98
AWS Backup Developer Guide
DescribeBackupVault
The date and time that a backup vault is created, in Unix format and Coordinated Universal
Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value
1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
Type: Timestamp
CreatorRequestId (p. 98)
A unique string that identifies the request and allows failed requests to be retried without the risk of
executing the operation twice.
Type: String
EncryptionKeyArn (p. 98)
The server-side encryption key that is used to protect your backups; for example,
arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.
Type: String
NumberOfRecoveryPoints (p. 98)
Type: Long
Errors
For information about the errors that are common to all actions, see Common Errors (p. 222).
InvalidParameterValueException
Indicates that something is wrong with a parameter's value. For example, the value is out of range.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
99
AWS Backup Developer Guide
DescribeBackupVault
100
AWS Backup Developer Guide
DescribeCopyJob
DescribeCopyJob
Returns metadata associated with creating a copy of a resource.
Request Syntax
GET /copy-jobs/copyJobId HTTP/1.1
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"CopyJob": {
"BackupSizeInBytes": number,
"CompletionDate": number,
"CopyJobId": "string",
"CreatedBy": {
"BackupPlanArn": "string",
"BackupPlanId": "string",
"BackupPlanVersion": "string",
"BackupRuleId": "string"
},
"CreationDate": number,
"DestinationBackupVaultArn": "string",
"DestinationRecoveryPointArn": "string",
"IamRoleArn": "string",
"ResourceArn": "string",
"ResourceType": "string",
"SourceBackupVaultArn": "string",
"SourceRecoveryPointArn": "string",
"State": "string",
"StatusMessage": "string"
}
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
101
AWS Backup Developer Guide
DescribeCopyJob
Errors
For information about the errors that are common to all actions, see Common Errors (p. 222).
InvalidParameterValueException
Indicates that something is wrong with a parameter's value. For example, the value is out of range.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
102
AWS Backup Developer Guide
DescribeProtectedResource
DescribeProtectedResource
Returns information about a saved resource, including the last time it was backed up, its Amazon
Resource Name (ARN), and the AWS service type of the saved resource.
Request Syntax
GET /resources/resourceArn HTTP/1.1
An Amazon Resource Name (ARN) that uniquely identifies a resource. The format of the ARN
depends on the resource type.
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"LastBackupTime": number,
"ResourceArn": "string",
"ResourceType": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The date and time that a resource was last backed up, in Unix format and Coordinated Universal
Time (UTC). The value of LastBackupTime is accurate to milliseconds. For example, the value
1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
Type: Timestamp
ResourceArn (p. 103)
An ARN that uniquely identifies a resource. The format of the ARN depends on the resource type.
Type: String
ResourceType (p. 103)
The type of AWS resource saved as a recovery point; for example, an EBS volume or an Amazon RDS
database.
103
AWS Backup Developer Guide
DescribeProtectedResource
Type: String
Pattern: ^[a-zA-Z0-9\-\_\.]{1,50}$
Errors
For information about the errors that are common to all actions, see Common Errors (p. 222).
InvalidParameterValueException
Indicates that something is wrong with a parameter's value. For example, the value is out of range.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
104
AWS Backup Developer Guide
DescribeRecoveryPoint
DescribeRecoveryPoint
Returns metadata associated with a recovery point, including ID, status, encryption, and lifecycle.
Request Syntax
GET /backup-vaults/backupVaultName/recovery-points/recoveryPointArn HTTP/1.1
The name of a logical container where backups are stored. Backup vaults are identified by names
that are unique to the account used to create them and the AWS Region where they are created.
They consist of lowercase letters, numbers, and hyphens.
Pattern: ^[a-zA-Z0-9\-\_\.]{1,50}$
recoveryPointArn (p. 105)
An Amazon Resource Name (ARN) that uniquely identifies a recovery point; for example,
arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-
A80B-108B488B0D45.
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"BackupSizeInBytes": number,
"BackupVaultArn": "string",
"BackupVaultName": "string",
"CalculatedLifecycle": {
"DeleteAt": number,
"MoveToColdStorageAt": number
},
"CompletionDate": number,
"CreatedBy": {
"BackupPlanArn": "string",
"BackupPlanId": "string",
"BackupPlanVersion": "string",
"BackupRuleId": "string"
},
"CreationDate": number,
"EncryptionKeyArn": "string",
"IamRoleArn": "string",
"IsEncrypted": boolean,
"LastRestoreTime": number,
"Lifecycle": {
"DeleteAfterDays": number,
"MoveToColdStorageAfterDays": number
105
AWS Backup Developer Guide
DescribeRecoveryPoint
},
"RecoveryPointArn": "string",
"ResourceArn": "string",
"ResourceType": "string",
"Status": "string",
"StorageClass": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
Type: Long
BackupVaultArn (p. 105)
Type: String
BackupVaultName (p. 105)
The name of a logical container where backups are stored. Backup vaults are identified by names
that are unique to the account used to create them and the Region where they are created. They
consist of lowercase letters, numbers, and hyphens.
Type: String
Pattern: ^[a-zA-Z0-9\-\_\.]{1,50}$
CalculatedLifecycle (p. 105)
The date and time that a job to create a recovery point is completed, in Unix format and Coordinated
Universal Time (UTC). The value of CompletionDate is accurate to milliseconds. For example, the
value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
Type: Timestamp
CreatedBy (p. 105)
Contains identifying information about the creation of a recovery point, including the
BackupPlanArn, BackupPlanId, BackupPlanVersion, and BackupRuleId of the backup plan
used to create it.
The date and time that a recovery point is created, in Unix format and Coordinated Universal
Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value
1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
106
AWS Backup Developer Guide
DescribeRecoveryPoint
Type: Timestamp
EncryptionKeyArn (p. 105)
The server-side encryption key used to protect your backups; for example, arn:aws:kms:us-
west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.
Type: String
IamRoleArn (p. 105)
Specifies the IAM role ARN used to create the target recovery point; for example,
arn:aws:iam::123456789012:role/S3Access.
Type: String
IsEncrypted (p. 105)
A Boolean value that is returned as TRUE if the specified recovery point is encrypted, or FALSE if the
recovery point is not encrypted.
Type: Boolean
LastRestoreTime (p. 105)
The date and time that a recovery point was last restored, in Unix format and Coordinated Universal
Time (UTC). The value of LastRestoreTime is accurate to milliseconds. For example, the value
1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
Type: Timestamp
Lifecycle (p. 105)
The lifecycle defines when a protected resource is transitioned to cold storage and when it expires.
AWS Backup transitions and expires backups automatically according to the lifecycle that you define.
Backups that are transitioned to cold storage must be stored in cold storage for a minimum of 90
days. Therefore, the “expire after days” setting must be 90 days greater than the “transition to cold
after days” setting. The “transition to cold after days” setting cannot be changed after a backup has
been transitioned to cold.
Type: String
ResourceArn (p. 105)
An ARN that uniquely identifies a saved resource. The format of the ARN depends on the resource
type.
Type: String
ResourceType (p. 105)
The type of AWS resource to save as a recovery point; for example, an Amazon Elastic Block Store
(Amazon EBS) volume or an Amazon Relational Database Service (Amazon RDS) database.
Type: String
Pattern: ^[a-zA-Z0-9\-\_\.]{1,50}$
107
AWS Backup Developer Guide
DescribeRecoveryPoint
Type: String
Specifies the storage class of the recovery point. Valid values are WARM or COLD.
Type: String
Errors
For information about the errors that are common to all actions, see Common Errors (p. 222).
InvalidParameterValueException
Indicates that something is wrong with a parameter's value. For example, the value is out of range.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
108
AWS Backup Developer Guide
DescribeRecoveryPoint
109
AWS Backup Developer Guide
DescribeRestoreJob
DescribeRestoreJob
Returns metadata associated with a restore job that is specified by a job ID.
Request Syntax
GET /restore-jobs/restoreJobId HTTP/1.1
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"BackupSizeInBytes": number,
"CompletionDate": number,
"CreatedResourceArn": "string",
"CreationDate": number,
"ExpectedCompletionTimeMinutes": number,
"IamRoleArn": "string",
"PercentDone": "string",
"RecoveryPointArn": "string",
"RestoreJobId": "string",
"Status": "string",
"StatusMessage": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
Type: Long
CompletionDate (p. 110)
The date and time that a job to restore a recovery point is completed, in Unix format and
Coordinated Universal Time (UTC). The value of CompletionDate is accurate to milliseconds. For
example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
110
AWS Backup Developer Guide
DescribeRestoreJob
Type: Timestamp
CreatedResourceArn (p. 110)
An Amazon Resource Name (ARN) that uniquely identifies a resource whose recovery point is being
restored. The format of the ARN depends on the resource type of the backed-up resource.
Type: String
CreationDate (p. 110)
The date and time that a restore job is created, in Unix format and Coordinated Universal
Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value
1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
Type: Timestamp
ExpectedCompletionTimeMinutes (p. 110)
The amount of time in minutes that a job restoring a recovery point is expected to take.
Type: Long
IamRoleArn (p. 110)
Specifies the IAM role ARN used to create the target recovery point; for example,
arn:aws:iam::123456789012:role/S3Access.
Type: String
PercentDone (p. 110)
Contains an estimated percentage that is complete of a job at the time the job status was queried.
Type: String
RecoveryPointArn (p. 110)
Type: String
RestoreJobId (p. 110)
Type: String
Status (p. 110)
Status code specifying the state of the job that is initiated by AWS Backup to restore a recovery
point.
Type: String
Type: String
Errors
For information about the errors that are common to all actions, see Common Errors (p. 222).
111
AWS Backup Developer Guide
DescribeRestoreJob
DependencyFailureException
A dependent AWS service or resource returned an error to the AWS Backup service, and the action
cannot be completed.
Indicates that something is wrong with a parameter's value. For example, the value is out of range.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
112
AWS Backup Developer Guide
ExportBackupPlanTemplate
ExportBackupPlanTemplate
Returns the backup plan that is specified by the plan ID as a backup template.
Request Syntax
GET /backup/plans/backupPlanId/toTemplate/ HTTP/1.1
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"BackupPlanTemplateJson": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
Type: String
Errors
For information about the errors that are common to all actions, see Common Errors (p. 222).
InvalidParameterValueException
Indicates that something is wrong with a parameter's value. For example, the value is out of range.
113
AWS Backup Developer Guide
ExportBackupPlanTemplate
MissingParameterValueException
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
114
AWS Backup Developer Guide
GetBackupPlan
GetBackupPlan
Returns the body of a backup plan in JSON format, in addition to plan metadata.
Request Syntax
GET /backup/plans/backupPlanId/?versionId=VersionId HTTP/1.1
Unique, randomly generated, Unicode, UTF-8 encoded strings that are at most 1,024 bytes long.
Version IDs cannot be edited.
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"BackupPlan": {
"BackupPlanName": "string",
"Rules": [
{
"CompletionWindowMinutes": number,
"CopyActions": [
{
"DestinationBackupVaultArn": "string",
"Lifecycle": {
"DeleteAfterDays": number,
"MoveToColdStorageAfterDays": number
}
}
],
"Lifecycle": {
"DeleteAfterDays": number,
"MoveToColdStorageAfterDays": number
},
"RecoveryPointTags": {
"string" : "string"
},
"RuleId": "string",
"RuleName": "string",
"ScheduleExpression": "string",
"StartWindowMinutes": number,
"TargetBackupVaultName": "string"
}
]
115
AWS Backup Developer Guide
GetBackupPlan
},
"BackupPlanArn": "string",
"BackupPlanId": "string",
"CreationDate": number,
"CreatorRequestId": "string",
"DeletionDate": number,
"LastExecutionDate": number,
"VersionId": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
Specifies the body of a backup plan. Includes a BackupPlanName and one or more sets of Rules.
An Amazon Resource Name (ARN) that uniquely identifies a backup plan; for example,
arn:aws:backup:us-east-1:123456789012:plan:8F81F553-3A74-4A3F-B93D-
B3360DC80C50.
Type: String
BackupPlanId (p. 115)
Type: String
CreationDate (p. 115)
The date and time that a backup plan is created, in Unix format and Coordinated Universal
Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value
1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
Type: Timestamp
CreatorRequestId (p. 115)
A unique string that identifies the request and allows failed requests to be retried without the risk of
executing the operation twice.
Type: String
DeletionDate (p. 115)
The date and time that a backup plan is deleted, in Unix format and Coordinated Universal
Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value
1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
Type: Timestamp
LastExecutionDate (p. 115)
The last time a job to back up resources was executed with this backup plan. A date and time, in
Unix format and Coordinated Universal Time (UTC). The value of LastExecutionDate is accurate
to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018
12:11:30.087 AM.
116
AWS Backup Developer Guide
GetBackupPlan
Type: Timestamp
VersionId (p. 115)
Unique, randomly generated, Unicode, UTF-8 encoded strings that are at most 1,024 bytes long.
Version IDs cannot be edited.
Type: String
Errors
For information about the errors that are common to all actions, see Common Errors (p. 222).
InvalidParameterValueException
Indicates that something is wrong with a parameter's value. For example, the value is out of range.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
117
AWS Backup Developer Guide
GetBackupPlanFromJSON
GetBackupPlanFromJSON
Returns a valid JSON document specifying a backup plan or an error.
Request Syntax
POST /backup/template/json/toPlan HTTP/1.1
Content-type: application/json
{
"BackupPlanTemplateJson": "string"
}
Request Body
The request accepts the following data in JSON format.
Type: String
Required: Yes
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"BackupPlan": {
"BackupPlanName": "string",
"Rules": [
{
"CompletionWindowMinutes": number,
"CopyActions": [
{
"DestinationBackupVaultArn": "string",
"Lifecycle": {
"DeleteAfterDays": number,
"MoveToColdStorageAfterDays": number
}
}
],
"Lifecycle": {
"DeleteAfterDays": number,
"MoveToColdStorageAfterDays": number
},
"RecoveryPointTags": {
"string" : "string"
},
"RuleId": "string",
"RuleName": "string",
118
AWS Backup Developer Guide
GetBackupPlanFromJSON
"ScheduleExpression": "string",
"StartWindowMinutes": number,
"TargetBackupVaultName": "string"
}
]
}
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
Specifies the body of a backup plan. Includes a BackupPlanName and one or more sets of Rules.
Errors
For information about the errors that are common to all actions, see Common Errors (p. 222).
InvalidParameterValueException
Indicates that something is wrong with a parameter's value. For example, the value is out of range.
Indicates that something is wrong with the input to the request. For example, a parameter is of the
wrong type.
A limit in the request has been exceeded; for example, a maximum number of items allowed in a
request.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
119
AWS Backup Developer Guide
GetBackupPlanFromJSON
120
AWS Backup Developer Guide
GetBackupPlanFromTemplate
GetBackupPlanFromTemplate
Returns the template specified by its templateId as a backup plan.
Request Syntax
GET /backup/template/plans/templateId/toPlan HTTP/1.1
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"BackupPlanDocument": {
"BackupPlanName": "string",
"Rules": [
{
"CompletionWindowMinutes": number,
"CopyActions": [
{
"DestinationBackupVaultArn": "string",
"Lifecycle": {
"DeleteAfterDays": number,
"MoveToColdStorageAfterDays": number
}
}
],
"Lifecycle": {
"DeleteAfterDays": number,
"MoveToColdStorageAfterDays": number
},
"RecoveryPointTags": {
"string" : "string"
},
"RuleId": "string",
"RuleName": "string",
"ScheduleExpression": "string",
"StartWindowMinutes": number,
"TargetBackupVaultName": "string"
}
]
}
}
121
AWS Backup Developer Guide
GetBackupPlanFromTemplate
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
Returns the body of a backup plan based on the target template, including the name, rules, and
backup vault of the plan.
Errors
For information about the errors that are common to all actions, see Common Errors (p. 222).
InvalidParameterValueException
Indicates that something is wrong with a parameter's value. For example, the value is out of range.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
122
AWS Backup Developer Guide
GetBackupSelection
GetBackupSelection
Returns selection metadata and a document in JSON format that specifies a list of resources that are
associated with a backup plan.
Request Syntax
GET /backup/plans/backupPlanId/selections/selectionId HTTP/1.1
Uniquely identifies the body of a request to assign a set of resources to a backup plan.
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"BackupPlanId": "string",
"BackupSelection": {
"IamRoleArn": "string",
"ListOfTags": [
{
"ConditionKey": "string",
"ConditionType": "string",
"ConditionValue": "string"
}
],
"Resources": [ "string" ],
"SelectionName": "string"
},
"CreationDate": number,
"CreatorRequestId": "string",
"SelectionId": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
123
AWS Backup Developer Guide
GetBackupSelection
Type: String
BackupSelection (p. 123)
The date and time a backup selection is created, in Unix format and Coordinated Universal
Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value
1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
Type: Timestamp
CreatorRequestId (p. 123)
A unique string that identifies the request and allows failed requests to be retried without the risk of
executing the operation twice.
Type: String
SelectionId (p. 123)
Uniquely identifies the body of a request to assign a set of resources to a backup plan.
Type: String
Errors
For information about the errors that are common to all actions, see Common Errors (p. 222).
InvalidParameterValueException
Indicates that something is wrong with a parameter's value. For example, the value is out of range.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
124
AWS Backup Developer Guide
GetBackupSelection
125
AWS Backup Developer Guide
GetBackupVaultAccessPolicy
GetBackupVaultAccessPolicy
Returns the access policy document that is associated with the named backup vault.
Request Syntax
GET /backup-vaults/backupVaultName/access-policy HTTP/1.1
The name of a logical container where backups are stored. Backup vaults are identified by names
that are unique to the account used to create them and the AWS Region where they are created.
They consist of lowercase letters, numbers, and hyphens.
Pattern: ^[a-zA-Z0-9\-\_\.]{1,50}$
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"BackupVaultArn": "string",
"BackupVaultName": "string",
"Policy": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for example,
arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.
Type: String
BackupVaultName (p. 126)
The name of a logical container where backups are stored. Backup vaults are identified by names
that are unique to the account used to create them and the Region where they are created. They
consist of lowercase letters, numbers, and hyphens.
Type: String
126
AWS Backup Developer Guide
GetBackupVaultAccessPolicy
Pattern: ^[a-zA-Z0-9\-\_\.]{1,50}$
Policy (p. 126)
Type: String
Errors
For information about the errors that are common to all actions, see Common Errors (p. 222).
InvalidParameterValueException
Indicates that something is wrong with a parameter's value. For example, the value is out of range.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
127
AWS Backup Developer Guide
GetBackupVaultNotifications
GetBackupVaultNotifications
Returns event notifications for the specified backup vault.
Request Syntax
GET /backup-vaults/backupVaultName/notification-configuration HTTP/1.1
The name of a logical container where backups are stored. Backup vaults are identified by names
that are unique to the account used to create them and the AWS Region where they are created.
They consist of lowercase letters, numbers, and hyphens.
Pattern: ^[a-zA-Z0-9\-\_\.]{1,50}$
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"BackupVaultArn": "string",
"BackupVaultEvents": [ "string" ],
"BackupVaultName": "string",
"SNSTopicArn": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for example,
arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.
Type: String
BackupVaultEvents (p. 128)
An array of events that indicate the status of jobs to back up resources to the backup vault.
128
AWS Backup Developer Guide
GetBackupVaultNotifications
The name of a logical container where backups are stored. Backup vaults are identified by names
that are unique to the account used to create them and the Region where they are created. They
consist of lowercase letters, numbers, and hyphens.
Type: String
Pattern: ^[a-zA-Z0-9\-\_\.]{1,50}$
SNSTopicArn (p. 128)
An ARN that uniquely identifies an Amazon Simple Notification Service (Amazon SNS) topic; for
example, arn:aws:sns:us-west-2:111122223333:MyTopic.
Type: String
Errors
For information about the errors that are common to all actions, see Common Errors (p. 222).
InvalidParameterValueException
Indicates that something is wrong with a parameter's value. For example, the value is out of range.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
129
AWS Backup Developer Guide
GetBackupVaultNotifications
130
AWS Backup Developer Guide
GetRecoveryPointRestoreMetadata
GetRecoveryPointRestoreMetadata
Returns a set of metadata key-value pairs that were used to create the backup.
Request Syntax
GET /backup-vaults/backupVaultName/recovery-points/recoveryPointArn/restore-metadata
HTTP/1.1
The name of a logical container where backups are stored. Backup vaults are identified by names
that are unique to the account used to create them and the AWS Region where they are created.
They consist of lowercase letters, numbers, and hyphens.
Pattern: ^[a-zA-Z0-9\-\_\.]{1,50}$
recoveryPointArn (p. 131)
An Amazon Resource Name (ARN) that uniquely identifies a recovery point; for example,
arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-
A80B-108B488B0D45.
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"BackupVaultArn": "string",
"RecoveryPointArn": "string",
"RestoreMetadata": {
"string" : "string"
}
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
Type: String
131
AWS Backup Developer Guide
GetRecoveryPointRestoreMetadata
Type: String
RestoreMetadata (p. 131)
The set of metadata key-value pairs that describes the original configuration of the backed-up
resource. These values vary depending on the service that is being restored.
Errors
For information about the errors that are common to all actions, see Common Errors (p. 222).
InvalidParameterValueException
Indicates that something is wrong with a parameter's value. For example, the value is out of range.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
132
AWS Backup Developer Guide
GetSupportedResourceTypes
GetSupportedResourceTypes
Returns the AWS resource types supported by AWS Backup.
Request Syntax
GET /supported-resource-types HTTP/1.1
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"ResourceTypes": [ "string" ]
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
Pattern: ^[a-zA-Z0-9\-\_\.]{1,50}$
Errors
For information about the errors that are common to all actions, see Common Errors (p. 222).
ServiceUnavailableException
133
AWS Backup Developer Guide
GetSupportedResourceTypes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
134
AWS Backup Developer Guide
ListBackupJobs
ListBackupJobs
Returns metadata about your backup jobs.
Request Syntax
GET /backup-jobs/?
backupVaultName=ByBackupVaultName&createdAfter=ByCreatedAfter&createdBefore=ByCreatedBefore&maxResults=
HTTP/1.1
Returns only backup jobs that will be stored in the specified backup vault. Backup vaults are
identified by names that are unique to the account used to create them and the AWS Region where
they are created. They consist of lowercase letters, numbers, and hyphens.
Pattern: ^[a-zA-Z0-9\-\_\.]{1,50}$
ByCreatedAfter (p. 135)
Returns only backup jobs that were created after the specified date.
ByCreatedBefore (p. 135)
Returns only backup jobs that were created before the specified date.
ByResourceArn (p. 135)
Returns only backup jobs that match the specified resource Amazon Resource Name (ARN).
ByResourceType (p. 135)
Pattern: ^[a-zA-Z0-9\-\_\.]{1,50}$
ByState (p. 135)
135
AWS Backup Developer Guide
ListBackupJobs
The next item following a partial list of returned items. For example, if a request is made to return
maxResults number of items, NextToken allows you to return more items in your list starting at
the location pointed to by the next token.
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"BackupJobs": [
{
"BackupJobId": "string",
"BackupSizeInBytes": number,
"BackupVaultArn": "string",
"BackupVaultName": "string",
"BytesTransferred": number,
"CompletionDate": number,
"CreatedBy": {
"BackupPlanArn": "string",
"BackupPlanId": "string",
"BackupPlanVersion": "string",
"BackupRuleId": "string"
},
"CreationDate": number,
"ExpectedCompletionDate": number,
"IamRoleArn": "string",
"PercentDone": "string",
"RecoveryPointArn": "string",
"ResourceArn": "string",
"ResourceType": "string",
"StartBy": number,
"State": "string",
"StatusMessage": "string"
}
],
"NextToken": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
An array of structures containing metadata about your backup jobs returned in JSON format.
The next item following a partial list of returned items. For example, if a request is made to return
maxResults number of items, NextToken allows you to return more items in your list starting at
the location pointed to by the next token.
136
AWS Backup Developer Guide
ListBackupJobs
Type: String
Errors
For information about the errors that are common to all actions, see Common Errors (p. 222).
InvalidParameterValueException
Indicates that something is wrong with a parameter's value. For example, the value is out of range.
Indicates that something is wrong with the input to the request. For example, a parameter is of the
wrong type.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
137
AWS Backup Developer Guide
ListBackupPlans
ListBackupPlans
Returns metadata of your saved backup plans, including Amazon Resource Names (ARNs), plan IDs,
creation and deletion dates, version IDs, plan names, and creator request IDs.
Request Syntax
GET /backup/plans/?includeDeleted=IncludeDeleted&maxResults=MaxResults&nextToken=NextToken
HTTP/1.1
A Boolean value with a default value of FALSE that returns deleted backup plans when set to TRUE.
MaxResults (p. 138)
The next item following a partial list of returned items. For example, if a request is made to return
maxResults number of items, NextToken allows you to return more items in your list starting at
the location pointed to by the next token.
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"BackupPlansList": [
{
"BackupPlanArn": "string",
"BackupPlanId": "string",
"BackupPlanName": "string",
"CreationDate": number,
"CreatorRequestId": "string",
"DeletionDate": number,
"LastExecutionDate": number,
"VersionId": "string"
}
],
"NextToken": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
138
AWS Backup Developer Guide
ListBackupPlans
An array of backup plan list items containing metadata about your saved backup plans.
The next item following a partial list of returned items. For example, if a request is made to return
maxResults number of items, NextToken allows you to return more items in your list starting at
the location pointed to by the next token.
Type: String
Errors
For information about the errors that are common to all actions, see Common Errors (p. 222).
InvalidParameterValueException
Indicates that something is wrong with a parameter's value. For example, the value is out of range.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
139
AWS Backup Developer Guide
ListBackupPlanTemplates
ListBackupPlanTemplates
Returns metadata of your saved backup plan templates, including the template ID, name, and the
creation and deletion dates.
Request Syntax
GET /backup/template/plans?maxResults=MaxResults&nextToken=NextToken HTTP/1.1
The next item following a partial list of returned items. For example, if a request is made to return
maxResults number of items, NextToken allows you to return more items in your list starting at
the location pointed to by the next token.
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"BackupPlanTemplatesList": [
{
"BackupPlanTemplateId": "string",
"BackupPlanTemplateName": "string"
}
],
"NextToken": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
An array of template list items containing metadata about your saved templates.
140
AWS Backup Developer Guide
ListBackupPlanTemplates
The next item following a partial list of returned items. For example, if a request is made to return
maxResults number of items, NextToken allows you to return more items in your list starting at
the location pointed to by the next token.
Type: String
Errors
For information about the errors that are common to all actions, see Common Errors (p. 222).
InvalidParameterValueException
Indicates that something is wrong with a parameter's value. For example, the value is out of range.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
141
AWS Backup Developer Guide
ListBackupPlanVersions
ListBackupPlanVersions
Returns version metadata of your backup plans, including Amazon Resource Names (ARNs), backup plan
IDs, creation and deletion dates, plan names, and version IDs.
Request Syntax
GET /backup/plans/backupPlanId/versions/?maxResults=MaxResults&nextToken=NextToken HTTP/1.1
The next item following a partial list of returned items. For example, if a request is made to return
maxResults number of items, NextToken allows you to return more items in your list starting at
the location pointed to by the next token.
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"BackupPlanVersionsList": [
{
"BackupPlanArn": "string",
"BackupPlanId": "string",
"BackupPlanName": "string",
"CreationDate": number,
"CreatorRequestId": "string",
"DeletionDate": number,
"LastExecutionDate": number,
"VersionId": "string"
}
],
"NextToken": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
142
AWS Backup Developer Guide
ListBackupPlanVersions
An array of version list items containing metadata about your backup plans.
The next item following a partial list of returned items. For example, if a request is made to return
maxResults number of items, NextToken allows you to return more items in your list starting at
the location pointed to by the next token.
Type: String
Errors
For information about the errors that are common to all actions, see Common Errors (p. 222).
InvalidParameterValueException
Indicates that something is wrong with a parameter's value. For example, the value is out of range.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
143
AWS Backup Developer Guide
ListBackupSelections
ListBackupSelections
Returns an array containing metadata of the resources associated with the target backup plan.
Request Syntax
GET /backup/plans/backupPlanId/selections/?maxResults=MaxResults&nextToken=NextToken
HTTP/1.1
The next item following a partial list of returned items. For example, if a request is made to return
maxResults number of items, NextToken allows you to return more items in your list starting at
the location pointed to by the next token.
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"BackupSelectionsList": [
{
"BackupPlanId": "string",
"CreationDate": number,
"CreatorRequestId": "string",
"IamRoleArn": "string",
"SelectionId": "string",
"SelectionName": "string"
}
],
"NextToken": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
144
AWS Backup Developer Guide
ListBackupSelections
An array of backup selection list items containing metadata about each resource in the list.
The next item following a partial list of returned items. For example, if a request is made to return
maxResults number of items, NextToken allows you to return more items in your list starting at
the location pointed to by the next token.
Type: String
Errors
For information about the errors that are common to all actions, see Common Errors (p. 222).
InvalidParameterValueException
Indicates that something is wrong with a parameter's value. For example, the value is out of range.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
145
AWS Backup Developer Guide
ListBackupVaults
ListBackupVaults
Returns a list of recovery point storage containers along with information about them.
Request Syntax
GET /backup-vaults/?maxResults=MaxResults&nextToken=NextToken HTTP/1.1
The next item following a partial list of returned items. For example, if a request is made to return
maxResults number of items, NextToken allows you to return more items in your list starting at
the location pointed to by the next token.
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"BackupVaultList": [
{
"BackupVaultArn": "string",
"BackupVaultName": "string",
"CreationDate": number,
"CreatorRequestId": "string",
"EncryptionKeyArn": "string",
"NumberOfRecoveryPoints": number
}
],
"NextToken": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
An array of backup vault list members containing vault metadata, including Amazon Resource Name
(ARN), display name, creation date, number of saved recovery points, and encryption information if
the resources saved in the backup vault are encrypted.
146
AWS Backup Developer Guide
ListBackupVaults
The next item following a partial list of returned items. For example, if a request is made to return
maxResults number of items, NextToken allows you to return more items in your list starting at
the location pointed to by the next token.
Type: String
Errors
For information about the errors that are common to all actions, see Common Errors (p. 222).
InvalidParameterValueException
Indicates that something is wrong with a parameter's value. For example, the value is out of range.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
147
AWS Backup Developer Guide
ListCopyJobs
ListCopyJobs
Returns metadata about your copy jobs.
Request Syntax
GET /copy-jobs/?
createdAfter=ByCreatedAfter&createdBefore=ByCreatedBefore&destinationVaultArn=ByDestinationVaultArn&max
HTTP/1.1
Returns only copy jobs that were created after the specified date.
ByCreatedBefore (p. 148)
Returns only copy jobs that were created before the specified date.
ByDestinationVaultArn (p. 148)
An Amazon Resource Name (ARN) that uniquely identifies a source backup vault to copy from; for
example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.
ByResourceArn (p. 148)
Returns only copy jobs that match the specified resource Amazon Resource Name (ARN).
ByResourceType (p. 148)
Pattern: ^[a-zA-Z0-9\-\_\.]{1,50}$
ByState (p. 148)
The next item following a partial list of returned items. For example, if a request is made to return
maxResults number of items, NextToken allows you to return more items in your list starting at the
location pointed to by the next token.
Request Body
The request does not have a request body.
148
AWS Backup Developer Guide
ListCopyJobs
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"CopyJobs": [
{
"BackupSizeInBytes": number,
"CompletionDate": number,
"CopyJobId": "string",
"CreatedBy": {
"BackupPlanArn": "string",
"BackupPlanId": "string",
"BackupPlanVersion": "string",
"BackupRuleId": "string"
},
"CreationDate": number,
"DestinationBackupVaultArn": "string",
"DestinationRecoveryPointArn": "string",
"IamRoleArn": "string",
"ResourceArn": "string",
"ResourceType": "string",
"SourceBackupVaultArn": "string",
"SourceRecoveryPointArn": "string",
"State": "string",
"StatusMessage": "string"
}
],
"NextToken": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
An array of structures containing metadata about your copy jobs returned in JSON format.
The next item following a partial list of returned items. For example, if a request is made to return
maxResults number of items, NextToken allows you to return more items in your list starting at the
location pointed to by the next token.
Type: String
Errors
For information about the errors that are common to all actions, see Common Errors (p. 222).
InvalidParameterValueException
Indicates that something is wrong with a parameter's value. For example, the value is out of range.
149
AWS Backup Developer Guide
ListCopyJobs
ServiceUnavailableException
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
150
AWS Backup Developer Guide
ListProtectedResources
ListProtectedResources
Returns an array of resources successfully backed up by AWS Backup, including the time the resource was
saved, an Amazon Resource Name (ARN) of the resource, and a resource type.
Request Syntax
GET /resources/?maxResults=MaxResults&nextToken=NextToken HTTP/1.1
The next item following a partial list of returned items. For example, if a request is made to return
maxResults number of items, NextToken allows you to return more items in your list starting at
the location pointed to by the next token.
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"NextToken": "string",
"Results": [
{
"LastBackupTime": number,
"ResourceArn": "string",
"ResourceType": "string"
}
]
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The next item following a partial list of returned items. For example, if a request is made to return
maxResults number of items, NextToken allows you to return more items in your list starting at
the location pointed to by the next token.
151
AWS Backup Developer Guide
ListProtectedResources
Type: String
Results (p. 151)
An array of resources successfully backed up by AWS Backup including the time the resource was
saved, an Amazon Resource Name (ARN) of the resource, and a resource type.
Errors
For information about the errors that are common to all actions, see Common Errors (p. 222).
InvalidParameterValueException
Indicates that something is wrong with a parameter's value. For example, the value is out of range.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
152
AWS Backup Developer Guide
ListRecoveryPointsByBackupVault
ListRecoveryPointsByBackupVault
Returns detailed information about the recovery points stored in a backup vault.
Request Syntax
GET /backup-vaults/backupVaultName/recovery-points/?
backupPlanId=ByBackupPlanId&createdAfter=ByCreatedAfter&createdBefore=ByCreatedBefore&maxResults=MaxRes
HTTP/1.1
The name of a logical container where backups are stored. Backup vaults are identified by names
that are unique to the account used to create them and the AWS Region where they are created.
They consist of lowercase letters, numbers, and hyphens.
Pattern: ^[a-zA-Z0-9\-\_\.]{1,50}$
ByBackupPlanId (p. 153)
Returns only recovery points that match the specified backup plan ID.
ByCreatedAfter (p. 153)
Returns only recovery points that were created after the specified timestamp.
ByCreatedBefore (p. 153)
Returns only recovery points that were created before the specified timestamp.
ByResourceArn (p. 153)
Returns only recovery points that match the specified resource Amazon Resource Name (ARN).
ByResourceType (p. 153)
Returns only recovery points that match the specified resource type.
Pattern: ^[a-zA-Z0-9\-\_\.]{1,50}$
MaxResults (p. 153)
The next item following a partial list of returned items. For example, if a request is made to return
maxResults number of items, NextToken allows you to return more items in your list starting at
the location pointed to by the next token.
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
Content-type: application/json
153
AWS Backup Developer Guide
ListRecoveryPointsByBackupVault
{
"NextToken": "string",
"RecoveryPoints": [
{
"BackupSizeInBytes": number,
"BackupVaultArn": "string",
"BackupVaultName": "string",
"CalculatedLifecycle": {
"DeleteAt": number,
"MoveToColdStorageAt": number
},
"CompletionDate": number,
"CreatedBy": {
"BackupPlanArn": "string",
"BackupPlanId": "string",
"BackupPlanVersion": "string",
"BackupRuleId": "string"
},
"CreationDate": number,
"EncryptionKeyArn": "string",
"IamRoleArn": "string",
"IsEncrypted": boolean,
"LastRestoreTime": number,
"Lifecycle": {
"DeleteAfterDays": number,
"MoveToColdStorageAfterDays": number
},
"RecoveryPointArn": "string",
"ResourceArn": "string",
"ResourceType": "string",
"Status": "string"
}
]
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The next item following a partial list of returned items. For example, if a request is made to return
maxResults number of items, NextToken allows you to return more items in your list starting at
the location pointed to by the next token.
Type: String
RecoveryPoints (p. 153)
An array of objects that contain detailed information about recovery points saved in a backup vault.
Errors
For information about the errors that are common to all actions, see Common Errors (p. 222).
InvalidParameterValueException
Indicates that something is wrong with a parameter's value. For example, the value is out of range.
154
AWS Backup Developer Guide
ListRecoveryPointsByBackupVault
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
155
AWS Backup Developer Guide
ListRecoveryPointsByResource
ListRecoveryPointsByResource
Returns detailed information about recovery points of the type specified by a resource Amazon Resource
Name (ARN).
Request Syntax
GET /resources/resourceArn/recovery-points/?maxResults=MaxResults&nextToken=NextToken
HTTP/1.1
The next item following a partial list of returned items. For example, if a request is made to return
maxResults number of items, NextToken allows you to return more items in your list starting at
the location pointed to by the next token.
resourceArn (p. 156)
An ARN that uniquely identifies a resource. The format of the ARN depends on the resource type.
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"NextToken": "string",
"RecoveryPoints": [
{
"BackupSizeBytes": number,
"BackupVaultName": "string",
"CreationDate": number,
"EncryptionKeyArn": "string",
"RecoveryPointArn": "string",
"Status": "string"
}
]
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
156
AWS Backup Developer Guide
ListRecoveryPointsByResource
The next item following a partial list of returned items. For example, if a request is made to return
maxResults number of items, NextToken allows you to return more items in your list starting at
the location pointed to by the next token.
Type: String
RecoveryPoints (p. 156)
An array of objects that contain detailed information about recovery points of the specified resource
type.
Errors
For information about the errors that are common to all actions, see Common Errors (p. 222).
InvalidParameterValueException
Indicates that something is wrong with a parameter's value. For example, the value is out of range.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
157
AWS Backup Developer Guide
ListRecoveryPointsByResource
158
AWS Backup Developer Guide
ListRestoreJobs
ListRestoreJobs
Returns a list of jobs that AWS Backup initiated to restore a saved resource, including metadata about
the recovery process.
Request Syntax
GET /restore-jobs/?maxResults=MaxResults&nextToken=NextToken HTTP/1.1
The next item following a partial list of returned items. For example, if a request is made to return
maxResults number of items, NextToken allows you to return more items in your list starting at
the location pointed to by the next token.
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"NextToken": "string",
"RestoreJobs": [
{
"BackupSizeInBytes": number,
"CompletionDate": number,
"CreatedResourceArn": "string",
"CreationDate": number,
"ExpectedCompletionTimeMinutes": number,
"IamRoleArn": "string",
"PercentDone": "string",
"RecoveryPointArn": "string",
"RestoreJobId": "string",
"Status": "string",
"StatusMessage": "string"
}
]
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
159
AWS Backup Developer Guide
ListRestoreJobs
The next item following a partial list of returned items. For example, if a request is made to return
maxResults number of items, NextToken allows you to return more items in your list starting at
the location pointed to by the next token.
Type: String
RestoreJobs (p. 159)
An array of objects that contain detailed information about jobs to restore saved resources.
Errors
For information about the errors that are common to all actions, see Common Errors (p. 222).
InvalidParameterValueException
Indicates that something is wrong with a parameter's value. For example, the value is out of range.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
160
AWS Backup Developer Guide
ListTags
ListTags
Returns a list of key-value pairs assigned to a target recovery point, backup plan, or backup vault.
Note
ListTags are currently only supported with Amazon EFS backups.
Request Syntax
GET /tags/resourceArn/?maxResults=MaxResults&nextToken=NextToken HTTP/1.1
The next item following a partial list of returned items. For example, if a request is made to return
maxResults number of items, NextToken allows you to return more items in your list starting at
the location pointed to by the next token.
resourceArn (p. 161)
An Amazon Resource Name (ARN) that uniquely identifies a resource. The format of the ARN
depends on the type of resource. Valid targets for ListTags are recovery points, backup plans, and
backup vaults.
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"NextToken": "string",
"Tags": {
"string" : "string"
}
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
161
AWS Backup Developer Guide
ListTags
The next item following a partial list of returned items. For example, if a request is made to return
maxResults number of items, NextToken allows you to return more items in your list starting at
the location pointed to by the next token.
Type: String
Tags (p. 161)
To help organize your resources, you can assign your own metadata to the resources you create. Each
tag is a key-value pair.
Errors
For information about the errors that are common to all actions, see Common Errors (p. 222).
InvalidParameterValueException
Indicates that something is wrong with a parameter's value. For example, the value is out of range.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
162
AWS Backup Developer Guide
PutBackupVaultAccessPolicy
PutBackupVaultAccessPolicy
Sets a resource-based policy that is used to manage access permissions on the target backup vault.
Requires a backup vault name and an access policy document in JSON format.
Request Syntax
PUT /backup-vaults/backupVaultName/access-policy HTTP/1.1
Content-type: application/json
{
"Policy": "string"
}
The name of a logical container where backups are stored. Backup vaults are identified by names
that are unique to the account used to create them and the AWS Region where they are created.
They consist of lowercase letters, numbers, and hyphens.
Pattern: ^[a-zA-Z0-9\-\_\.]{1,50}$
Request Body
The request accepts the following data in JSON format.
Type: String
Required: No
Response Syntax
HTTP/1.1 200
Response Elements
If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.
Errors
For information about the errors that are common to all actions, see Common Errors (p. 222).
InvalidParameterValueException
Indicates that something is wrong with a parameter's value. For example, the value is out of range.
163
AWS Backup Developer Guide
PutBackupVaultAccessPolicy
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
164
AWS Backup Developer Guide
PutBackupVaultNotifications
PutBackupVaultNotifications
Turns on notifications on a backup vault for the specified topic and events.
Request Syntax
PUT /backup-vaults/backupVaultName/notification-configuration HTTP/1.1
Content-type: application/json
{
"BackupVaultEvents": [ "string" ],
"SNSTopicArn": "string"
}
The name of a logical container where backups are stored. Backup vaults are identified by names
that are unique to the account used to create them and the AWS Region where they are created.
They consist of lowercase letters, numbers, and hyphens.
Pattern: ^[a-zA-Z0-9\-\_\.]{1,50}$
Request Body
The request accepts the following data in JSON format.
An array of events that indicate the status of jobs to back up resources to the backup vault.
Required: Yes
SNSTopicArn (p. 165)
The Amazon Resource Name (ARN) that specifies the topic for a backup vault’s events; for example,
arn:aws:sns:us-west-2:111122223333:MyVaultTopic.
Type: String
Required: Yes
Response Syntax
HTTP/1.1 200
165
AWS Backup Developer Guide
PutBackupVaultNotifications
Response Elements
If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.
Errors
For information about the errors that are common to all actions, see Common Errors (p. 222).
InvalidParameterValueException
Indicates that something is wrong with a parameter's value. For example, the value is out of range.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
166
AWS Backup Developer Guide
StartBackupJob
StartBackupJob
Starts a job to create a one-time backup of the specified resource.
Request Syntax
PUT /backup-jobs HTTP/1.1
Content-type: application/json
{
"BackupVaultName": "string",
"CompleteWindowMinutes": number,
"IamRoleArn": "string",
"IdempotencyToken": "string",
"Lifecycle": {
"DeleteAfterDays": number,
"MoveToColdStorageAfterDays": number
},
"RecoveryPointTags": {
"string" : "string"
},
"ResourceArn": "string",
"StartWindowMinutes": number
}
Request Body
The request accepts the following data in JSON format.
The name of a logical container where backups are stored. Backup vaults are identified by names
that are unique to the account used to create them and the AWS Region where they are created.
They consist of lowercase letters, numbers, and hyphens.
Type: String
Pattern: ^[a-zA-Z0-9\-\_\.]{1,50}$
Required: Yes
CompleteWindowMinutes (p. 167)
A value in minutes after a backup job is successfully started before it must be completed or it will be
canceled by AWS Backup. This value is optional.
Type: Long
Required: No
IamRoleArn (p. 167)
Specifies the IAM role ARN used to create the target recovery point; for example,
arn:aws:iam::123456789012:role/S3Access.
Type: String
167
AWS Backup Developer Guide
StartBackupJob
Required: Yes
IdempotencyToken (p. 167)
A customer chosen string that can be used to distinguish between calls to StartBackupJob.
Type: String
Required: No
Lifecycle (p. 167)
The lifecycle defines when a protected resource is transitioned to cold storage and when it expires.
AWS Backup will transition and expire backups automatically according to the lifecycle that you
define.
Backups transitioned to cold storage must be stored in cold storage for a minimum of 90 days.
Therefore, the “expire after days” setting must be 90 days greater than the “transition to cold after
days” setting. The “transition to cold after days” setting cannot be changed after a backup has been
transitioned to cold.
Required: No
RecoveryPointTags (p. 167)
To help organize your resources, you can assign your own metadata to the resources that you create.
Each tag is a key-value pair.
Required: No
ResourceArn (p. 167)
An Amazon Resource Name (ARN) that uniquely identifies a resource. The format of the ARN
depends on the resource type.
Type: String
Required: Yes
StartWindowMinutes (p. 167)
A value in minutes after a backup is scheduled before a job will be canceled if it doesn't start
successfully. This value is optional.
Type: Long
Required: No
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"BackupJobId": "string",
"CreationDate": number,
"RecoveryPointArn": "string"
168
AWS Backup Developer Guide
StartBackupJob
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
Type: String
CreationDate (p. 168)
The date and time that a backup job is started, in Unix format and Coordinated Universal
Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value
1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
Type: Timestamp
RecoveryPointArn (p. 168)
Type: String
Errors
For information about the errors that are common to all actions, see Common Errors (p. 222).
InvalidParameterValueException
Indicates that something is wrong with a parameter's value. For example, the value is out of range.
A limit in the request has been exceeded; for example, a maximum number of items allowed in a
request.
169
AWS Backup Developer Guide
StartBackupJob
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
170
AWS Backup Developer Guide
StartCopyJob
StartCopyJob
Starts a job to create a one-time copy of the specified resource.
Request Syntax
PUT /copy-jobs HTTP/1.1
Content-type: application/json
{
"DestinationBackupVaultArn": "string",
"IamRoleArn": "string",
"IdempotencyToken": "string",
"Lifecycle": {
"DeleteAfterDays": number,
"MoveToColdStorageAfterDays": number
},
"RecoveryPointArn": "string",
"SourceBackupVaultName": "string"
}
Request Body
The request accepts the following data in JSON format.
An Amazon Resource Name (ARN) that uniquely identifies a destination backup vault to copy to; for
example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.
Type: String
Required: Yes
IamRoleArn (p. 171)
Specifies the IAM role ARN used to copy the target recovery point; for example,
arn:aws:iam::123456789012:role/S3Access.
Type: String
Required: Yes
IdempotencyToken (p. 171)
A customer chosen string that can be used to distinguish between calls to StartCopyJob.
Type: String
Required: No
Lifecycle (p. 171)
Contains an array of Transition objects specifying how long in days before a recovery point
transitions to cold storage or is deleted.
171
AWS Backup Developer Guide
StartCopyJob
Backups transitioned to cold storage must be stored in cold storage for a minimum of 90 days.
Therefore, on the console, the “expire after days” setting must be 90 days greater than the
“transition to cold after days” setting. The “transition to cold after days” setting cannot be changed
after a backup has been transitioned to cold.
Required: No
RecoveryPointArn (p. 171)
An ARN that uniquely identifies a recovery point to use for the copy job; for example,
arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-
A80B-108B488B0D45.
Type: String
Required: Yes
SourceBackupVaultName (p. 171)
The name of a logical source container where backups are stored. Backup vaults are identified by
names that are unique to the account used to create them and the AWS Region where they are
created. They consist of lowercase letters, numbers, and hyphens.
Type: String
Pattern: ^[a-zA-Z0-9\-\_\.]{1,50}$
Required: Yes
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"CopyJobId": "string",
"CreationDate": number
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
Type: String
CreationDate (p. 172)
The date and time that a copy job is started, in Unix format and Coordinated Universal Time (UTC).
The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087
represents Friday, January 26, 2018 12:11:30.087 AM.
Type: Timestamp
172
AWS Backup Developer Guide
StartCopyJob
Errors
For information about the errors that are common to all actions, see Common Errors (p. 222).
InvalidParameterValueException
Indicates that something is wrong with a parameter's value. For example, the value is out of range.
A limit in the request has been exceeded; for example, a maximum number of items allowed in a
request.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
173
AWS Backup Developer Guide
StartRestoreJob
StartRestoreJob
Recovers the saved resource identified by an Amazon Resource Name (ARN).
If the resource ARN is included in the request, then the last complete backup of that resource is
recovered. If the ARN of a recovery point is supplied, then that recovery point is restored.
Request Syntax
PUT /restore-jobs HTTP/1.1
Content-type: application/json
{
"IamRoleArn": "string",
"IdempotencyToken": "string",
"Metadata": {
"string" : "string"
},
"RecoveryPointArn": "string",
"ResourceType": "string"
}
Request Body
The request accepts the following data in JSON format.
The Amazon Resource Name (ARN) of the IAM role that AWS Backup uses to create the target
recovery point; for example, arn:aws:iam::123456789012:role/S3Access.
Type: String
Required: Yes
IdempotencyToken (p. 174)
A customer chosen string that can be used to distinguish between calls to StartRestoreJob.
Type: String
Required: No
Metadata (p. 174)
A set of metadata key-value pairs. Contains information, such as a resource name, required to
restore a recovery point.
You can get configuration metadata about a resource at the time it was backed up by calling
GetRecoveryPointRestoreMetadata. However, values in addition to those provided by
GetRecoveryPointRestoreMetadata might be required to restore a resource. For example, you
might need to provide a new resource name if the original already exists.
You need to specify specific metadata to restore an Amazon Elastic File System (Amazon EFS)
instance:
174
AWS Backup Developer Guide
StartRestoreJob
• file-system-id: ID of the Amazon EFS file system that is backed up by AWS Backup. Returned
in GetRecoveryPointRestoreMetadata.
• Encrypted: A Boolean value that, if true, specifies that the file system is encrypted. If KmsKeyId
is specified, Encrypted must be set to true.
• KmsKeyId: Specifies the AWS KMS key that is used to encrypt the restored file system.
• PerformanceMode: Specifies the throughput mode of the file system.
• CreationToken: A user-supplied value that ensures the uniqueness (idempotency) of the
request.
• newFileSystem: A Boolean value that, if true, specifies that the recovery point is restored to a
new Amazon EFS file system.
Required: Yes
RecoveryPointArn (p. 174)
Type: String
Required: Yes
ResourceType (p. 174)
Starts a job to restore a recovery point for one of the following resources:
• EBS for Amazon Elastic Block Store
• Storage Gateway for AWS Storage Gateway
• RDS for Amazon Relational Database Service
• DDB for Amazon DynamoDB
• EFS for Amazon Elastic File System
Type: String
Pattern: ^[a-zA-Z0-9\-\_\.]{1,50}$
Required: No
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"RestoreJobId": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
175
AWS Backup Developer Guide
StartRestoreJob
Type: String
Errors
For information about the errors that are common to all actions, see Common Errors (p. 222).
InvalidParameterValueException
Indicates that something is wrong with a parameter's value. For example, the value is out of range.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
176
AWS Backup Developer Guide
StopBackupJob
StopBackupJob
Attempts to cancel a job to create a one-time backup of a resource.
Request Syntax
POST /backup-jobs/backupJobId HTTP/1.1
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
Response Elements
If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.
Errors
For information about the errors that are common to all actions, see Common Errors (p. 222).
InvalidParameterValueException
Indicates that something is wrong with a parameter's value. For example, the value is out of range.
Indicates that something is wrong with the input to the request. For example, a parameter is of the
wrong type.
177
AWS Backup Developer Guide
StopBackupJob
ServiceUnavailableException
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
178
AWS Backup Developer Guide
TagResource
TagResource
Assigns a set of key-value pairs to a recovery point, backup plan, or backup vault identified by an
Amazon Resource Name (ARN).
Request Syntax
POST /tags/resourceArn HTTP/1.1
Content-type: application/json
{
"Tags": {
"string" : "string"
}
}
An ARN that uniquely identifies a resource. The format of the ARN depends on the type of the
tagged resource.
Request Body
The request accepts the following data in JSON format.
Key-value pairs that are used to help organize your resources. You can assign your own metadata to
the resources you create.
Required: Yes
Response Syntax
HTTP/1.1 200
Response Elements
If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.
Errors
For information about the errors that are common to all actions, see Common Errors (p. 222).
InvalidParameterValueException
Indicates that something is wrong with a parameter's value. For example, the value is out of range.
179
AWS Backup Developer Guide
TagResource
A limit in the request has been exceeded; for example, a maximum number of items allowed in a
request.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
180
AWS Backup Developer Guide
UntagResource
UntagResource
Removes a set of key-value pairs from a recovery point, backup plan, or backup vault identified by an
Amazon Resource Name (ARN)
Request Syntax
POST /untag/resourceArn HTTP/1.1
Content-type: application/json
{
"TagKeyList": [ "string" ]
}
An ARN that uniquely identifies a resource. The format of the ARN depends on the type of the
tagged resource.
Request Body
The request accepts the following data in JSON format.
Required: Yes
Response Syntax
HTTP/1.1 200
Response Elements
If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.
Errors
For information about the errors that are common to all actions, see Common Errors (p. 222).
InvalidParameterValueException
Indicates that something is wrong with a parameter's value. For example, the value is out of range.
181
AWS Backup Developer Guide
UntagResource
MissingParameterValueException
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
182
AWS Backup Developer Guide
UpdateBackupPlan
UpdateBackupPlan
Replaces the body of a saved backup plan identified by its backupPlanId with the input document in
JSON format. The new version is uniquely identified by a VersionId.
Request Syntax
POST /backup/plans/backupPlanId HTTP/1.1
Content-type: application/json
{
"BackupPlan": {
"BackupPlanName": "string",
"Rules": [
{
"CompletionWindowMinutes": number,
"CopyActions": [
{
"DestinationBackupVaultArn": "string",
"Lifecycle": {
"DeleteAfterDays": number,
"MoveToColdStorageAfterDays": number
}
}
],
"Lifecycle": {
"DeleteAfterDays": number,
"MoveToColdStorageAfterDays": number
},
"RecoveryPointTags": {
"string" : "string"
},
"RuleName": "string",
"ScheduleExpression": "string",
"StartWindowMinutes": number,
"TargetBackupVaultName": "string"
}
]
}
}
Request Body
The request accepts the following data in JSON format.
Specifies the body of a backup plan. Includes a BackupPlanName and one or more sets of Rules.
Required: Yes
183
AWS Backup Developer Guide
UpdateBackupPlan
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"BackupPlanArn": "string",
"BackupPlanId": "string",
"CreationDate": number,
"VersionId": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
An Amazon Resource Name (ARN) that uniquely identifies a backup plan; for example,
arn:aws:backup:us-east-1:123456789012:plan:8F81F553-3A74-4A3F-B93D-
B3360DC80C50.
Type: String
BackupPlanId (p. 184)
Type: String
CreationDate (p. 184)
The date and time a backup plan is updated, in Unix format and Coordinated Universal Time (UTC).
The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087
represents Friday, January 26, 2018 12:11:30.087 AM.
Type: Timestamp
VersionId (p. 184)
Unique, randomly generated, Unicode, UTF-8 encoded strings that are at most 1,024 bytes long.
Version Ids cannot be edited.
Type: String
Errors
For information about the errors that are common to all actions, see Common Errors (p. 222).
InvalidParameterValueException
Indicates that something is wrong with a parameter's value. For example, the value is out of range.
184
AWS Backup Developer Guide
UpdateBackupPlan
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
185
AWS Backup Developer Guide
UpdateRecoveryPointLifecycle
UpdateRecoveryPointLifecycle
Sets the transition lifecycle of a recovery point.
The lifecycle defines when a protected resource is transitioned to cold storage and when it expires. AWS
Backup transitions and expires backups automatically according to the lifecycle that you define.
Backups transitioned to cold storage must be stored in cold storage for a minimum of 90 days.
Therefore, the “expire after days” setting must be 90 days greater than the “transition to cold after
days” setting. The “transition to cold after days” setting cannot be changed after a backup has been
transitioned to cold.
Request Syntax
POST /backup-vaults/backupVaultName/recovery-points/recoveryPointArn HTTP/1.1
Content-type: application/json
{
"Lifecycle": {
"DeleteAfterDays": number,
"MoveToColdStorageAfterDays": number
}
}
The name of a logical container where backups are stored. Backup vaults are identified by names
that are unique to the account used to create them and the AWS Region where they are created.
They consist of lowercase letters, numbers, and hyphens.
Pattern: ^[a-zA-Z0-9\-\_\.]{1,50}$
recoveryPointArn (p. 186)
An Amazon Resource Name (ARN) that uniquely identifies a recovery point; for example,
arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-
A80B-108B488B0D45.
Request Body
The request accepts the following data in JSON format.
The lifecycle defines when a protected resource is transitioned to cold storage and when it expires.
AWS Backup transitions and expires backups automatically according to the lifecycle that you define.
Backups transitioned to cold storage must be stored in cold storage for a minimum of 90 days.
Therefore, the “expire after days” setting must be 90 days greater than the “transition to cold after
days” setting. The “transition to cold after days” setting cannot be changed after a backup has been
transitioned to cold.
Required: No
186
AWS Backup Developer Guide
UpdateRecoveryPointLifecycle
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"BackupVaultArn": "string",
"CalculatedLifecycle": {
"DeleteAt": number,
"MoveToColdStorageAt": number
},
"Lifecycle": {
"DeleteAfterDays": number,
"MoveToColdStorageAfterDays": number
},
"RecoveryPointArn": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
Type: String
CalculatedLifecycle (p. 187)
The lifecycle defines when a protected resource is transitioned to cold storage and when it expires.
AWS Backup transitions and expires backups automatically according to the lifecycle that you define.
Backups transitioned to cold storage must be stored in cold storage for a minimum of 90 days.
Therefore, the “expire after days” setting must be 90 days greater than the “transition to cold after
days” setting. The “transition to cold after days” setting cannot be changed after a backup has been
transitioned to cold.
An Amazon Resource Name (ARN) that uniquely identifies a recovery point; for example,
arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-
A80B-108B488B0D45.
Type: String
Errors
For information about the errors that are common to all actions, see Common Errors (p. 222).
187
AWS Backup Developer Guide
Data Types
InvalidParameterValueException
Indicates that something is wrong with a parameter's value. For example, the value is out of range.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
Data Types
The following data types are supported:
188
AWS Backup Developer Guide
Data Types
189
AWS Backup Developer Guide
BackupJob
BackupJob
Contains detailed information about a backup job.
Contents
BackupJobId
Type: String
Required: No
BackupSizeInBytes
Type: Long
Required: No
BackupVaultArn
An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for example,
arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.
Type: String
Required: No
BackupVaultName
The name of a logical container where backups are stored. Backup vaults are identified by names
that are unique to the account used to create them and the AWS Region where they are created.
They consist of lowercase letters, numbers, and hyphens.
Type: String
Pattern: ^[a-zA-Z0-9\-\_\.]{1,50}$
Required: No
BytesTransferred
The size in bytes transferred to a backup vault at the time that the job status was queried.
Type: Long
Required: No
CompletionDate
The date and time a job to create a backup job is completed, in Unix format and Coordinated
Universal Time (UTC). The value of CompletionDate is accurate to milliseconds. For example, the
value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
Type: Timestamp
Required: No
CreatedBy
Contains identifying information about the creation of a backup job, including the BackupPlanArn,
BackupPlanId, BackupPlanVersion, and BackupRuleId of the backup plan used to create it.
190
AWS Backup Developer Guide
BackupJob
Required: No
CreationDate
The date and time a backup job is created, in Unix format and Coordinated Universal Time (UTC).
The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087
represents Friday, January 26, 2018 12:11:30.087 AM.
Type: Timestamp
Required: No
ExpectedCompletionDate
The date and time a job to back up resources is expected to be completed, in Unix format and
Coordinated Universal Time (UTC). The value of ExpectedCompletionDate is accurate to
milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018
12:11:30.087 AM.
Type: Timestamp
Required: No
IamRoleArn
Specifies the IAM role ARN used to create the target recovery point; for example,
arn:aws:iam::123456789012:role/S3Access.
Type: String
Required: No
PercentDone
Contains an estimated percentage complete of a job at the time the job status was queried.
Type: String
Required: No
RecoveryPointArn
Type: String
Required: No
ResourceArn
An ARN that uniquely identifies a resource. The format of the ARN depends on the resource type.
Type: String
Required: No
ResourceType
The type of AWS resource to be backed up; for example, an Amazon Elastic Block Store (Amazon
EBS) volume or an Amazon Relational Database Service (Amazon RDS) database.
Type: String
Pattern: ^[a-zA-Z0-9\-\_\.]{1,50}$
191
AWS Backup Developer Guide
BackupJob
Required: No
StartBy
Specifies the time in Unix format and Coordinated Universal Time (UTC) when a backup job must be
started before it is canceled. The value is calculated by adding the start window to the scheduled
time. So if the scheduled time were 6:00 PM and the start window is 2 hours, the StartBy time
would be 8:00 PM on the date specified. The value of StartBy is accurate to milliseconds. For
example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
Type: Timestamp
Required: No
State
Type: String
Required: No
StatusMessage
Type: String
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
192
AWS Backup Developer Guide
BackupPlan
BackupPlan
Contains an optional backup plan display name and an array of BackupRule objects, each of which
specifies a backup rule. Each rule in a backup plan is a separate scheduled task and can back up a
different selection of AWS resources.
Contents
BackupPlanName
Type: String
Required: Yes
Rules
An array of BackupRule objects, each of which specifies a scheduled task that is used to back up a
selection of resources.
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
193
AWS Backup Developer Guide
BackupPlanInput
BackupPlanInput
Contains an optional backup plan display name and an array of BackupRule objects, each of which
specifies a backup rule. Each rule in a backup plan is a separate scheduled task and can back up a
different selection of AWS resources.
Contents
BackupPlanName
Type: String
Required: Yes
Rules
An array of BackupRule objects, each of which specifies a scheduled task that is used to back up a
selection of resources.
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
194
AWS Backup Developer Guide
BackupPlansListMember
BackupPlansListMember
Contains metadata about a backup plan.
Contents
BackupPlanArn
An Amazon Resource Name (ARN) that uniquely identifies a backup plan; for example,
arn:aws:backup:us-east-1:123456789012:plan:8F81F553-3A74-4A3F-B93D-
B3360DC80C50.
Type: String
Required: No
BackupPlanId
Type: String
Required: No
BackupPlanName
Type: String
Required: No
CreationDate
The date and time a resource backup plan is created, in Unix format and Coordinated Universal
Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value
1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
Type: Timestamp
Required: No
CreatorRequestId
A unique string that identifies the request and allows failed requests to be retried without the risk of
executing the operation twice.
Type: String
Required: No
DeletionDate
The date and time a backup plan is deleted, in Unix format and Coordinated Universal Time (UTC).
The value of DeletionDate is accurate to milliseconds. For example, the value 1516925490.087
represents Friday, January 26, 2018 12:11:30.087 AM.
Type: Timestamp
Required: No
LastExecutionDate
The last time a job to back up resources was executed with this rule. A date and time, in Unix
format and Coordinated Universal Time (UTC). The value of LastExecutionDate is accurate
195
AWS Backup Developer Guide
BackupPlansListMember
to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018
12:11:30.087 AM.
Type: Timestamp
Required: No
VersionId
Unique, randomly generated, Unicode, UTF-8 encoded strings that are at most 1,024 bytes long.
Version IDs cannot be edited.
Type: String
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
196
AWS Backup Developer Guide
BackupPlanTemplatesListMember
BackupPlanTemplatesListMember
An object specifying metadata associated with a backup plan template.
Contents
BackupPlanTemplateId
Type: String
Required: No
BackupPlanTemplateName
Type: String
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
197
AWS Backup Developer Guide
BackupRule
BackupRule
Specifies a scheduled task used to back up a selection of resources.
Contents
CompletionWindowMinutes
A value in minutes after a backup job is successfully started before it must be completed or it will be
canceled by AWS Backup. This value is optional.
Type: Long
Required: No
CopyActions
An array of CopyAction objects, which contains the details of the copy operation.
Required: No
Lifecycle
The lifecycle defines when a protected resource is transitioned to cold storage and when it expires.
AWS Backup transitions and expires backups automatically according to the lifecycle that you define.
Backups transitioned to cold storage must be stored in cold storage for a minimum of 90 days.
Therefore, the “expire after days” setting must be 90 days greater than the “transition to cold after
days” setting. The “transition to cold after days” setting cannot be changed after a backup has been
transitioned to cold.
Required: No
RecoveryPointTags
An array of key-value pair strings that are assigned to resources that are associated with this rule
when restored from backup.
Required: No
RuleId
Uniquely identifies a rule that is used to schedule the backup of a selection of resources.
Type: String
Required: No
RuleName
Type: String
Pattern: ^[a-zA-Z0-9\-\_\.]{1,50}$
Required: Yes
198
AWS Backup Developer Guide
BackupRule
ScheduleExpression
Type: String
Required: No
StartWindowMinutes
A value in minutes after a backup is scheduled before a job will be canceled if it doesn't start
successfully. This value is optional.
Type: Long
Required: No
TargetBackupVaultName
The name of a logical container where backups are stored. Backup vaults are identified by names
that are unique to the account used to create them and the AWS Region where they are created.
They consist of lowercase letters, numbers, and hyphens.
Type: String
Pattern: ^[a-zA-Z0-9\-\_\.]{1,50}$
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
199
AWS Backup Developer Guide
BackupRuleInput
BackupRuleInput
Specifies a scheduled task used to back up a selection of resources.
Contents
CompletionWindowMinutes
A value in minutes after a backup job is successfully started before it must be completed or it will be
canceled by AWS Backup. This value is optional.
Type: Long
Required: No
CopyActions
An array of CopyAction objects, which contains the details of the copy operation.
Required: No
Lifecycle
The lifecycle defines when a protected resource is transitioned to cold storage and when it expires.
AWS Backup will transition and expire backups automatically according to the lifecycle that you
define.
Backups transitioned to cold storage must be stored in cold storage for a minimum of 90 days.
Therefore, the “expire after days” setting must be 90 days greater than the “transition to cold after
days” setting. The “transition to cold after days” setting cannot be changed after a backup has been
transitioned to cold.
Required: No
RecoveryPointTags
To help organize your resources, you can assign your own metadata to the resources that you create.
Each tag is a key-value pair.
Required: No
RuleName
Type: String
Pattern: ^[a-zA-Z0-9\-\_\.]{1,50}$
Required: Yes
ScheduleExpression
Type: String
Required: No
200
AWS Backup Developer Guide
BackupRuleInput
StartWindowMinutes
A value in minutes after a backup is scheduled before a job will be canceled if it doesn't start
successfully. This value is optional.
Type: Long
Required: No
TargetBackupVaultName
The name of a logical container where backups are stored. Backup vaults are identified by names
that are unique to the account used to create them and the AWS Region where they are created.
They consist of lowercase letters, numbers, and hyphens.
Type: String
Pattern: ^[a-zA-Z0-9\-\_\.]{1,50}$
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
201
AWS Backup Developer Guide
BackupSelection
BackupSelection
Used to specify a set of resources to a backup plan.
Contents
IamRoleArn
The ARN of the IAM role that AWS Backup uses to authenticate when restoring the target resource;
for example, arn:aws:iam::123456789012:role/S3Access.
Type: String
Required: Yes
ListOfTags
An array of conditions used to specify a set of resources to assign to a backup plan; for example,
"STRINGEQUALS": {"ec2:ResourceTag/Department": "accounting".
Required: No
Resources
An array of strings that contain Amazon Resource Names (ARNs) of resources to assign to a backup
plan.
Required: No
SelectionName
Type: String
Pattern: ^[a-zA-Z0-9\-\_\.]{1,50}$
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
202
AWS Backup Developer Guide
BackupSelectionsListMember
BackupSelectionsListMember
Contains metadata about a BackupSelection object.
Contents
BackupPlanId
Type: String
Required: No
CreationDate
The date and time a backup plan is created, in Unix format and Coordinated Universal Time (UTC).
The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087
represents Friday, January 26, 2018 12:11:30.087 AM.
Type: Timestamp
Required: No
CreatorRequestId
A unique string that identifies the request and allows failed requests to be retried without the risk of
executing the operation twice.
Type: String
Required: No
IamRoleArn
Specifies the IAM role Amazon Resource Name (ARN) to create the target recovery point; for
example, arn:aws:iam::123456789012:role/S3Access.
Type: String
Required: No
SelectionId
Type: String
Required: No
SelectionName
Type: String
Pattern: ^[a-zA-Z0-9\-\_\.]{1,50}$
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
203
AWS Backup Developer Guide
BackupSelectionsListMember
204
AWS Backup Developer Guide
BackupVaultListMember
BackupVaultListMember
Contains metadata about a backup vault.
Contents
BackupVaultArn
An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for example,
arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.
Type: String
Required: No
BackupVaultName
The name of a logical container where backups are stored. Backup vaults are identified by names
that are unique to the account used to create them and the AWS Region where they are created.
They consist of lowercase letters, numbers, and hyphens.
Type: String
Pattern: ^[a-zA-Z0-9\-\_\.]{1,50}$
Required: No
CreationDate
The date and time a resource backup is created, in Unix format and Coordinated Universal
Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value
1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
Type: Timestamp
Required: No
CreatorRequestId
A unique string that identifies the request and allows failed requests to be retried without the risk of
executing the operation twice.
Type: String
Required: No
EncryptionKeyArn
The server-side encryption key that is used to protect your backups; for example,
arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.
Type: String
Required: No
NumberOfRecoveryPoints
Type: Long
Required: No
205
AWS Backup Developer Guide
BackupVaultListMember
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
206
AWS Backup Developer Guide
CalculatedLifecycle
CalculatedLifecycle
Contains DeleteAt and MoveToColdStorageAt timestamps, which are used to specify a lifecycle for a
recovery point.
The lifecycle defines when a protected resource is transitioned to cold storage and when it expires. AWS
Backup transitions and expires backups automatically according to the lifecycle that you define.
Backups transitioned to cold storage must be stored in cold storage for a minimum of 90 days.
Therefore, the “expire after days” setting must be 90 days greater than the “transition to cold after
days” setting. The “transition to cold after days” setting cannot be changed after a backup has been
transitioned to cold.
Contents
DeleteAt
Type: Timestamp
Required: No
MoveToColdStorageAt
Type: Timestamp
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
207
AWS Backup Developer Guide
Condition
Condition
Contains an array of triplets made up of a condition type (such as STRINGEQUALS), a key, and a value.
Conditions are used to filter resources in a selection that is assigned to a backup plan.
Contents
ConditionKey
Type: String
Required: Yes
ConditionType
An operation, such as STRINGEQUALS, that is applied to a key-value pair used to filter resources in a
selection.
Type: String
Required: Yes
ConditionValue
Type: String
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
208
AWS Backup Developer Guide
CopyAction
CopyAction
The details of the copy operation.
Contents
DestinationBackupVaultArn
Type: String
Required: Yes
Lifecycle
Contains an array of Transition objects specifying how long in days before a recovery point
transitions to cold storage or is deleted.
Backups transitioned to cold storage must be stored in cold storage for a minimum of 90 days.
Therefore, on the console, the “expire after days” setting must be 90 days greater than the
“transition to cold after days” setting. The “transition to cold after days” setting cannot be changed
after a backup has been transitioned to cold.
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
209
AWS Backup Developer Guide
CopyJob
CopyJob
Contains detailed information about a copy job.
Contents
BackupSizeInBytes
Type: Long
Required: No
CompletionDate
The date and time a copy job is completed, in Unix format and Coordinated Universal Time (UTC).
The value of CompletionDate is accurate to milliseconds. For example, the value 1516925490.087
represents Friday, January 26, 2018 12:11:30.087 AM.
Type: Timestamp
Required: No
CopyJobId
Type: String
Required: No
CreatedBy
Contains information about the backup plan and rule that AWS Backup used to initiate the recovery
point backup.
Required: No
CreationDate
The date and time a copy job is created, in Unix format and Coordinated Universal Time (UTC).
The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087
represents Friday, January 26, 2018 12:11:30.087 AM.
Type: Timestamp
Required: No
DestinationBackupVaultArn
An Amazon Resource Name (ARN) that uniquely identifies a destination copy vault; for example,
arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.
Type: String
Required: No
DestinationRecoveryPointArn
An ARN that uniquely identifies a destination recovery point; for example, arn:aws:backup:us-
east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.
210
AWS Backup Developer Guide
CopyJob
Type: String
Required: No
IamRoleArn
Specifies the IAM role ARN used to copy the target recovery point; for example,
arn:aws:iam::123456789012:role/S3Access.
Type: String
Required: No
ResourceArn
The AWS resource to be copied; for example, an Amazon Elastic Block Store (Amazon EBS) volume or
an Amazon Relational Database Service (Amazon RDS) database.
Type: String
Required: No
ResourceType
The type of AWS resource to be copied; for example, an Amazon Elastic Block Store (Amazon EBS)
volume or an Amazon Relational Database Service (Amazon RDS) database.
Type: String
Pattern: ^[a-zA-Z0-9\-\_\.]{1,50}$
Required: No
SourceBackupVaultArn
An Amazon Resource Name (ARN) that uniquely identifies a source copy vault; for example,
arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.
Type: String
Required: No
SourceRecoveryPointArn
An ARN that uniquely identifies a source recovery point; for example, arn:aws:backup:us-
east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.
Type: String
Required: No
State
Type: String
Required: No
StatusMessage
Type: String
211
AWS Backup Developer Guide
CopyJob
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
212
AWS Backup Developer Guide
Lifecycle
Lifecycle
Contains an array of Transition objects specifying how long in days before a recovery point transitions
to cold storage or is deleted.
Backups transitioned to cold storage must be stored in cold storage for a minimum of 90 days.
Therefore, on the console, the “expire after days” setting must be 90 days greater than the “transition to
cold after days” setting. The “transition to cold after days” setting cannot be changed after a backup has
been transitioned to cold.
Contents
DeleteAfterDays
Specifies the number of days after creation that a recovery point is deleted. Must be greater than 90
days plus MoveToColdStorageAfterDays.
Type: Long
Required: No
MoveToColdStorageAfterDays
Specifies the number of days after creation that a recovery point is moved to cold storage.
Type: Long
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
213
AWS Backup Developer Guide
ProtectedResource
ProtectedResource
A structure that contains information about a backed-up resource.
Contents
LastBackupTime
The date and time a resource was last backed up, in Unix format and Coordinated Universal
Time (UTC). The value of LastBackupTime is accurate to milliseconds. For example, the value
1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
Type: Timestamp
Required: No
ResourceArn
An Amazon Resource Name (ARN) that uniquely identifies a resource. The format of the ARN
depends on the resource type.
Type: String
Required: No
ResourceType
The type of AWS resource; for example, an Amazon Elastic Block Store (Amazon EBS) volume or an
Amazon Relational Database Service (Amazon RDS) database.
Type: String
Pattern: ^[a-zA-Z0-9\-\_\.]{1,50}$
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
214
AWS Backup Developer Guide
RecoveryPointByBackupVault
RecoveryPointByBackupVault
Contains detailed information about the recovery points stored in a backup vault.
Contents
BackupSizeInBytes
Type: Long
Required: No
BackupVaultArn
Type: String
Required: No
BackupVaultName
The name of a logical container where backups are stored. Backup vaults are identified by names
that are unique to the account used to create them and the AWS Region where they are created.
They consist of lowercase letters, numbers, and hyphens.
Type: String
Pattern: ^[a-zA-Z0-9\-\_\.]{1,50}$
Required: No
CalculatedLifecycle
Required: No
CompletionDate
The date and time a job to restore a recovery point is completed, in Unix format and Coordinated
Universal Time (UTC). The value of CompletionDate is accurate to milliseconds. For example, the
value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
Type: Timestamp
Required: No
CreatedBy
Contains identifying information about the creation of a recovery point, including the
BackupPlanArn, BackupPlanId, BackupPlanVersion, and BackupRuleId of the backup plan
that is used to create it.
Required: No
215
AWS Backup Developer Guide
RecoveryPointByBackupVault
CreationDate
The date and time a recovery point is created, in Unix format and Coordinated Universal Time (UTC).
The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087
represents Friday, January 26, 2018 12:11:30.087 AM.
Type: Timestamp
Required: No
EncryptionKeyArn
The server-side encryption key that is used to protect your backups; for example,
arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.
Type: String
Required: No
IamRoleArn
Specifies the IAM role ARN used to create the target recovery point; for example,
arn:aws:iam::123456789012:role/S3Access.
Type: String
Required: No
IsEncrypted
A Boolean value that is returned as TRUE if the specified recovery point is encrypted, or FALSE if the
recovery point is not encrypted.
Type: Boolean
Required: No
LastRestoreTime
The date and time a recovery point was last restored, in Unix format and Coordinated Universal
Time (UTC). The value of LastRestoreTime is accurate to milliseconds. For example, the value
1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
Type: Timestamp
Required: No
Lifecycle
The lifecycle defines when a protected resource is transitioned to cold storage and when it expires.
AWS Backup transitions and expires backups automatically according to the lifecycle that you define.
Backups transitioned to cold storage must be stored in cold storage for a minimum of 90 days.
Therefore, the “expire after days” setting must be 90 days greater than the “transition to cold after
days” setting. The “transition to cold after days” setting cannot be changed after a backup has been
transitioned to cold.
Required: No
RecoveryPointArn
An Amazon Resource Name (ARN) that uniquely identifies a recovery point; for example,
arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-
A80B-108B488B0D45.
216
AWS Backup Developer Guide
RecoveryPointByBackupVault
Type: String
Required: No
ResourceArn
An ARN that uniquely identifies a resource. The format of the ARN depends on the resource type.
Type: String
Required: No
ResourceType
The type of AWS resource saved as a recovery point; for example, an Amazon Elastic Block Store
(Amazon EBS) volume or an Amazon Relational Database Service (Amazon RDS) database.
Type: String
Pattern: ^[a-zA-Z0-9\-\_\.]{1,50}$
Required: No
Status
Type: String
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
217
AWS Backup Developer Guide
RecoveryPointByResource
RecoveryPointByResource
Contains detailed information about a saved recovery point.
Contents
BackupSizeBytes
Type: Long
Required: No
BackupVaultName
The name of a logical container where backups are stored. Backup vaults are identified by names
that are unique to the account used to create them and the AWS Region where they are created.
They consist of lowercase letters, numbers, and hyphens.
Type: String
Pattern: ^[a-zA-Z0-9\-\_\.]{1,50}$
Required: No
CreationDate
The date and time a recovery point is created, in Unix format and Coordinated Universal Time (UTC).
The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087
represents Friday, January 26, 2018 12:11:30.087 AM.
Type: Timestamp
Required: No
EncryptionKeyArn
The server-side encryption key that is used to protect your backups; for example,
arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.
Type: String
Required: No
RecoveryPointArn
An Amazon Resource Name (ARN) that uniquely identifies a recovery point; for example,
arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-
A80B-108B488B0D45.
Type: String
Required: No
Status
Type: String
Required: No
218
AWS Backup Developer Guide
RecoveryPointByResource
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
219
AWS Backup Developer Guide
RecoveryPointCreator
RecoveryPointCreator
Contains information about the backup plan and rule that AWS Backup used to initiate the recovery
point backup.
Contents
BackupPlanArn
An Amazon Resource Name (ARN) that uniquely identifies a backup plan; for example,
arn:aws:backup:us-east-1:123456789012:plan:8F81F553-3A74-4A3F-B93D-
B3360DC80C50.
Type: String
Required: No
BackupPlanId
Type: String
Required: No
BackupPlanVersion
Version IDs are unique, randomly generated, Unicode, UTF-8 encoded strings that are at most 1,024
bytes long. They cannot be edited.
Type: String
Required: No
BackupRuleId
Type: String
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
220
AWS Backup Developer Guide
RestoreJobsListMember
RestoreJobsListMember
Contains metadata about a restore job.
Contents
BackupSizeInBytes
Type: Long
Required: No
CompletionDate
The date and time a job to restore a recovery point is completed, in Unix format and Coordinated
Universal Time (UTC). The value of CompletionDate is accurate to milliseconds. For example, the
value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
Type: Timestamp
Required: No
CreatedResourceArn
An Amazon Resource Name (ARN) that uniquely identifies a resource. The format of the ARN
depends on the resource type.
Type: String
Required: No
CreationDate
The date and time a restore job is created, in Unix format and Coordinated Universal Time (UTC).
The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087
represents Friday, January 26, 2018 12:11:30.087 AM.
Type: Timestamp
Required: No
ExpectedCompletionTimeMinutes
The amount of time in minutes that a job restoring a recovery point is expected to take.
Type: Long
Required: No
IamRoleArn
Specifies the IAM role ARN used to create the target recovery point; for example,
arn:aws:iam::123456789012:role/S3Access.
Type: String
Required: No
PercentDone
Contains an estimated percentage complete of a job at the time the job status was queried.
221
AWS Backup Developer Guide
Common Errors
Type: String
Required: No
RecoveryPointArn
Type: String
Required: No
RestoreJobId
Type: String
Required: No
Status
A status code specifying the state of the job initiated by AWS Backup to restore a recovery point.
Type: String
Required: No
StatusMessage
A detailed message explaining the status of the job to restore a recovery point.
Type: String
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
Common Errors
This section lists the errors common to the API actions of all AWS services. For errors specific to an API
action for this service, see the topic for that API action.
AccessDeniedException
222
AWS Backup Developer Guide
Common Errors
IncompleteSignature
The request processing has failed because of an unknown error, exception or failure.
The action or operation requested is invalid. Verify that the action is typed correctly.
The X.509 certificate or AWS access key ID provided does not exist in our records.
The AWS query string is malformed or does not adhere to AWS standards.
The request must contain either a valid (registered) AWS access key ID or X.509 certificate.
223
AWS Backup Developer Guide
Common Errors
The request reached the service more than 15 minutes after the date stamp on the request or more
than 15 minutes after the request expiration date (such as for pre-signed URLs), or the date stamp
on the request is more than 15 minutes in the future.
224
AWS Backup Developer Guide
AWS Glossary
For the latest AWS terminology, see the AWS Glossary in the AWS General Reference.
225
AWS Backup Developer Guide
Support for backing up Amazon You can now backup entire January 13, 2020
EC2 instances and also adds Amazon EC2 instances and
support for Cross-Region also copy resources across AWS
backups. Regions. For more information,
see Cross-Region Backups.
New guide This is the first release of the January 15, 2019
AWS Backup Developer Guide.
226