Amazon EC2 - Create snapshot

Declaration

<AMAWSEC2 ACTIVITY="create_snapshot" PROVIDER="session_based" SESSION="text" ACCESSKEY="text" SECRETKEY="text (encrypted)" USERAGENT="text" MAXERRORRETRY="number" SERVICEURL="text" PROXYHOST="text" PROXYPORT="number" PROXYUSER="text" PROXYPWD="text (encrypted)" SIGNMETHOD="text" SIGNVERSION="text" VOLUMEID="text" SNAPSHOTDESC="text" RESULTDATASET="text" />

Related Topics     

Description

Creates a snapshot of an Elastic Block Store (EBS) volume and stores it in S3. Snapshots are differential backups which means that only the blocks on the device that have changed since your last snapshot will be incrementally saved. For instance, if you have a device with 100 GB of data, but only 5 GB of data has changed since your last snapshot, only the 5 additional GB of snapshot data will be stored back to Amazon S3.

IMPORTANT: All EC2 activities are performed using Amazon's EC2 engine and rely on a valid Amazon EC2 service account in order to function correctly.

Practical Usage

After writing data to an Amazon EBS volume, you can periodically create a snapshot of the volume to use as a baseline for new volumes or for data backup. You can use snapshots for backups, to make identical copies of instance devices, and to save data before shutting down an instance. When taking a snapshot of a file system, it is recommended that you un-mount it first. This ensures the file system metadata is in a consistent state, that the 'mounted' indicator is cleared, and that all applications using that file system are stopped and in a consistent state.

Parameters

Connection

Property Type Required Default Markup Description
Connection --- --- --- --- Indicates where user credentials and preferences originate from. This parameter does not contain markup and is only displayed in visual mode for task construction and configuration purposes. The available options are:
  • Host (default) - Specifies that user credentials and/or advanced preferences are configured individually for this activity. Normally chosen if only a single activity is required to complete an operation.
  • Session - Specifies that user credentials and/or advanced preferences are obtained from a pre-configured session created in an earlier step with the use of the Amazon EC2 - Create session activity. Normally chosen if a combination of activities within the same action group are required. Linking several activities to a single session eliminates redundancy and improves efficiency. Several sessions can exist in a single task. Multiple sessions can run simultaneously without interference.
Session Text Yes, if the connection is set to Session EC2Session1 SESSION="EC2Session1" The name of an existing session to attach this activity to. This parameter is active only if the Connection parameter is set to Session.
Access key Text Yes, if the connection is set to Host (Empty) ACCESSKEY="022QF06E7MXBSH9DHM02" A 20-character alphanumeric string that uniquely identifies the owner of the AWS service account, similar to a username. This key along with a corresponding secret access key forms a secure information set that AWS uses to confirm a valid user's identity. This parameter is active only if the Connection parameter is set to Host.
Secret access key Text Yes, if the connection is set to Host (Empty) SECRETKEY="kWcrlUX5JEDGM/LtmEENI/aVmYvHNif5zB+d9+ct" A 40-character string that serves the role as password to access the AWS service account. This along with an associated access key forms a secure information set that EC2 uses to confirm a valid user's identity. This parameter is active only if the Connection parameter is set to Host.
User agent Text No Automate USERAGENT="Automate" The name of the client or application initiating requests to AWS. The default value is 'Automate'. 
Maximum number of retries on error Number No (Empty) MAXERRORRETRY="4" The total amount of instances this activity should retry the request before returning an error. Network components can generate errors anytime in the life of a request, thus, implementing retries can increase reliability. 
Service URL Text No (Empty) SERVICEURL="https://ec2.eu-west-1.amazonaws.com" The URL that provides the service endpoint. To make the service call to a different region, you can pass the region-specific endpoint URL. For example, entering  https://ec2.us-west-1.amazonaws.com points to US West (Northern California) region. A complete list of EC2 regions, accompanying endpoints and valid protocols can be found below under EC2 Regions and Endpoints.
Proxy host Text No (Empty) PROXYHOST="proxy.host.com" The host name (for example, server.domain.com) or IP address (for example, xxx.xxx.xxx.xxx) of the proxy server to use when connecting to AWS.  
Proxy port Number No (Empty) PROXYPORT="1028" The port number to use to connect to the proxy server. 
Proxy username Text No (Empty) PROXYUSERNAME="Username" The username to authenticate with the proxy server.
Proxy password Text No (Empty) PROXYPWD="encrypted" The password to authenticate with the proxy server. 
Signature method Text No (Empty) SIGNMETHOD="HmacSHA256" The signature method to use for signing the request. This provides a valid hashing algorithm for signature calculation. Valid AWS signature methods are HmacSHA1 and HmacSHA256.
Signature version Number No (Empty) SIGNVERSION="2" The signature version for signing the request. Valid AWS signature versions are 2 and 4. The difference with version 4 is that it allows you to sign your message using a key that is derived from your secret access key rather than using the secret access key itself.

Snapshot

Property Type Required Default Markup Description
Volume ID Text Yes (Empty) VOLUMEID="vol-4d826724" The unique ID of the Amazon EBS volume of which to take a snapshot.
Description Text No (Empty) SNAPSHOTDESC="Backup" An optional description (up to 255 characters) of the Amazon EBS snapshot.
Create and populate dataset with snapshot information Text No (Empty) RESULTDATASET="myDataset" The name of a dataset to create and populate with information regarding the EC2 snapshot being created. More details regarding the fields that this dataset creates can be found below under Datasets below.

Description

Error Causes

On Error

Additional Notes

EC2 Regions and Endpoints

This table contains a complete list of EC2 endpoints, accompanying regions and supported protocols.

Endpoint Region Protocol
ec2.us-east-1.amazonaws.com US East (Northern Virginia) Region HTTP and HTTPS
ec2.us-west-2.amazonaws.com US West (Oregon) Region HTTP and HTTPS
ec2.us-west-1.amazonaws.com   US West (Northern California) Region HTTP and HTTPS
ec2.eu-west-1.amazonaws.com EU (Ireland) Region HTTP and HTTPS
ec2.ap-southeast-1.amazonaws.com Asia Pacific (Singapore) Region HTTP and HTTPS
ec2.ap-southeast-2.amazonaws.com Asia Pacific (Sydney) Region HTTP and HTTPS
ec2.ap-northeast-1.amazonaws.com Asia Pacific (Tokyo) Region HTTP and HTTPS
ec2.sa-east-1.amazonaws.com   South America (Sao Paulo) Region HTTP and HTTPS

Datasets

A dataset is a multiple column, multiple row container object. This activity creates and populates a dataset containing a specific set of fields in addition to the standard dataset fields. The table below describes these fields (assuming the dataset name assigned was "theDataset").

Name Type Return Value
theDataset.Description Text Returns the description of the snapshot, if applicable.
theDataset.OwnerID Text Returns the ID of the owner. This is the AWS Access Key ID of the user who owns the snapshot.
theDataset.Progress Date The progress of the snapshot, in percentage.
theDataset.SnapshotId Number Returns the ID of the snapshot.
theDataset.StartTime Text Returns the time stamp when the snapshot was initiated.
theDataset.Status Text Returns the snapshot state (for example, pending, completed, error, etc.).
theDataset.VolumeId Text Returns the ID of the volume from which the snapshot was created.
theDataset.VolumeSize Number Returns the size of the volume from which the snapshot was created.

Example

NOTE:
  • The sample AML code below can be copied and pasted directly into the Steps Panel of the Task Builder.
  • Parameters containing user credentials, files, file paths, and/or other information specific to the task must be customized before the sample code can run successfully.

Description

This sample task creates a snapshot from an Amazon EBS volume and then stores the snapshot information into a dataset.

Copy
<AMAWSEC2 ACTIVITY="create_snapshot" VOLUMEID="vol-e94feb80" RESULTDATASET="myDataset" />