Synchronizing with AWS S3 Storage
Sync can be used to synchronize files when the source or destination is AWS S3 Cloud Object Storage. Each endpoint (HSTS) of the async session must be configured to support Sync and the async must include certain file system-related options.
About this task
Capabilities:
- Noncontinuous
PUSH
,PULL
, andBIDI
synchronization between a local disk and AWS S3, and between S3 buckets. - Continuous
PULL
andBIDI
when S3 is the content source requires the--scan-interval
option.
Requirements:
- An IBM Aspera
On-Demand instance in AWS S3, or HSTS for Linux or Windows installed on a
virtual machine instance in AWS with
Trapd
enabled. For instructions on setting up a HSTS in the cloud, see the Server Setup in Amazon EC2/Amazon S3. - 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.
Procedure
Examples of Sync to or from S3
About this task
- 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 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 (noncontinuous) push that is run from a local disk to an S3 bucket by
using SSH keys where ec2_user
is the transfer user. For more information about
using SSH keys, see Creating SSH keys).
# 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