Listen to this Post
AWS DataSync is a powerful managed service for transferring data between Amazon S3 buckets across different AWS accounts. It offers more features and better performance compared to S3 Cross-Account Replication, though at an additional cost based on data transfer volume.
You Should Know:
- Setting Up AWS DataSync for S3 Cross-Account Transfer
To transfer data between S3 buckets in different AWS accounts using AWS DataSync, follow these steps:
Step 1: Configure IAM Roles
Ensure both AWS accounts have the necessary IAM permissions:
aws iam create-role --role-name DataSyncS3AccessRole --assume-role-policy-document file://trust-policy.json
Example `trust-policy.json`:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "datasync.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
#### **Step 2: Create a DataSync Task**
Use the AWS CLI to set up a DataSync task:
aws datasync create-task \ --source-location-arn arn:aws:s3:::source-bucket \ --destination-location-arn arn:aws:s3:::destination-bucket \ --cloud-watch-log-group-arn arn:aws:logs:us-east-1:123456789012:log-group:/aws/datasync \ --name "S3CrossAccountTransfer" \ --options "VerifyMode=POINT_IN_TIME_CONSISTENT, OverwriteMode=ALWAYS"
#### **Step 3: Monitor the Transfer**
Check the status of your DataSync task:
aws datasync describe-task-execution --task-execution-arn <execution-arn>
### **2. Key AWS DataSync Commands**
- List DataSync Tasks:
aws datasync list-tasks
- Start a Task Manually:
aws datasync start-task-execution --task-arn <task-arn>
- Delete a DataSync Task:
aws datasync delete-task --task-arn <task-arn>
### **3. Performance Optimization**
- Adjust Bandwidth Limits:
aws datasync update-agent --agent-arn <agent-arn> --bandwidth-limit "100M"
- Enable Task Logging:
aws datasync update-task --task-arn <task-arn> --options "LogLevel=TRANSFER"
### **4. Comparing DataSync vs S3 Batch Operations**
- DataSync: Best for automated, recurring transfers with integrity checks.
- S3 Batch Operations: Better for one-time bulk operations.
## **What Undercode Say:**
AWS DataSync is a robust solution for cross-account S3 transfers, offering speed, reliability, and advanced features. For large-scale migrations, consider combining it with AWS Snow Family for physical data transfer. Always monitor transfer logs and optimize bandwidth for cost efficiency.
## **Expected Output:**
Task ARN: arn:aws:datasync:us-east-1:123456789012:task/task-0EXAMPLE8 Status: SUCCESS Transferred: 50 GB
Reference: Transfer Data Between Amazon S3 Buckets Across AWS Accounts with AWS DataSync
References:
Reported By: Darryl Ruggles – Hackers Feeds
Extra Hub: Undercode MoN
Basic Verification: Pass ✅