Synchronizing with AWS S3 Storage
Aspera Sync can be used to synchronize files when the source or destination is AWS S3 Cloud Object Storage. Each endpoint (HST Server) of the async session must be configured to support Aspera Sync and the async must include certain file system-related options.
Capabilities:
- Non-continuous PUSH, PULL, and BIDI synchronization between a local disk and AWS S3, as well as between S3 buckets.
- Continuous PUSH mode from local disk to S3 is fully supported.
- Continuous PULL and BIDI when S3 is the content source; requires the
--scan-interval
option.
Requirements:
- An IBM Aspera On Demand instance in AWS S3, or HST Server for Linux or Windows version 3.7.3 or later installed on a virtual machine instance in AWS with Trapd enabled. For instructions on setting up a HST Server in the cloud, see the High-Speed Transfer Server Admin Guide for Linux: Enabling AWS EC2/AWS S3 Using the Command Line.
- The S3 instance must have an On Demand entitlement and a Aspera Sync-enabled license.
- The async binary must be installed on both the source and destination server.
- Configure the S3 instance, or both S3 endpoints if you are running an S3-to-S3 synchronization, as described in the following steps.
Examples of Sync to or from S3
- The log directory and local database directory must be specified by
using the
-L
and-b
options. - The
--apply-local-docroot
option must be used in order to transfer content into the object storage, rather than the local disk.
The following examples include the optional arguments
--transfer-threads
,
--local-fs-threads
, and
--remote-fs-threads
, which improve performance when one
or both endpoints are in cloud storage.
A one-time (non-continuous) push that is run from a
local disk to an S3 bucket using SSH keys (for more information on using SSH
keys, see Creating SSH Keys), where ec2_user
is the
transfer
user:
# async -N sync-to-s3 -d /data/data-2017-01 -r ec2_user@192.0.4.24:/data -i /bobcat/.ssh/private_key -K push -B /mnt/ephemeral/data/db --transfer-threads=8 --remote-fs-threads=16
One-time bidi from S3 to local disk:
A one-time bidirectional sync that is run from the S3 client to a local disk:
# async -L /mnt/ephemeral/data/log --apply-local-docroot -N bidi_london -d /data -r bear@192.0.12.442:/data -K bidi -b /mnt/ephemeral/data/db -B /async/log --transfer-threads=8 --local-fs-threads=16
One-time pull from S3 to S3:
A one-time pull by ec2_user
from s3host
to /data/2017 in the client S3
storage:
# async -L /mnt/ephemeral/data/log --apply-local-docroot -N s3sync -d /data/2017 -r ec2_user@s3host:/data/2017-01 -K pull -b /tmp --transfer-threads=8 --local-fs-threads=16 --remote-fs-threads=16