【发布时间】:2014-07-10 09:45:11
【问题描述】:
我在 Amazon EBS 卷上有大约 400 GB 的数据,我需要将这些数据放在 S3 存储桶中以供 Hadoop EMR 使用。
如何将数据从 EBS 卷移动/复制到 S3 存储桶(S3 存储桶和 EBS 卷位于同一 AWS 区域)?
谢谢
【问题讨论】:
标签: amazon-web-services amazon-s3 amazon-ebs
我在 Amazon EBS 卷上有大约 400 GB 的数据,我需要将这些数据放在 S3 存储桶中以供 Hadoop EMR 使用。
如何将数据从 EBS 卷移动/复制到 S3 存储桶(S3 存储桶和 EBS 卷位于同一 AWS 区域)?
谢谢
【问题讨论】:
标签: amazon-web-services amazon-s3 amazon-ebs
首先通过 IAM 在 AWS 获取您的凭证:
转到 AWS/Services/IAM 选择用户并创建管理员。之后,下载您的 credentials.csv 并在 shell 中运行:
aws configure
输入您的访问密钥 ID 和秘密访问密钥。
然后将文件和文件夹从EC2中的EBS复制到S3:
aws s3 sync /ebs-directory/ s3://your-bucket
【讨论】:
AWS Command Line Interface 同时是所有 AWS 的推荐选择:
AWS 命令行界面 (CLI) 是用于管理您的 AWS 服务的统一工具。只需下载和配置一个工具,您就可以从命令行控制多个 AWS 服务并通过脚本自动化它们。
在所有 AWS API 的统一方法之上,它还添加了一组新的简单file commands 用于在 Amazon S3 之间进行高效的文件传输,其特性类似于众所周知的 Unix命令,例如对于手头的任务:
所以cp 足以满足您的用例,但也请务必查看sync,它对于许多经常遇到的场景特别强大(并且在某种程度上暗示cp,具体取决于参数)。
【讨论】:
创建一个具有 AmazonEC2FullAccess & AdministratorAccess 权限的 IAM 用户,然后像这样下载访问密钥 ID 和秘密访问密钥。
User - ec2tos3-data-transfer
Access key ID - AKIAWTUBRTSRTHMZI4
Secret access key - 8BDArkKhkt6k7fnt9n4552mFl+PGNyOKx8
// 将数据从 EBS 复制到 S3
sudo apt install awscli
aws configure
AWS Access Key ID [None]: AKIAWTUBRTSRTHMZI4
AWS Secret Access Key [None]: 8BDArkKhkt6k7fnt9n4552mFl+PGNyOKx8
Default region name [None]: us-east-2 // Ec2 instance region
Default output format [None]: json
将数据 Ebs 同步到 S3
aws s3 sync uploads/ s3://bucketname
或供公众阅读
aws s3 sync uploads/ s3://bucketname --acl public-read
将数据 Ebs 复制到 S3
aws s3 cp uploads/ s3://bucketname
或供公众阅读
aws s3 cp uploads/ s3://bucketname --acl public-read
【讨论】: