本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
解决跨区域传输问题
本节介绍与跨界传输文件相关的问题的可能解决方案 AWS 区域。
解决跨区域转移权限问题
描述
尝试使用 Transfer Family 工作流程在不同区域的 Amazon S3 存储桶之间传输文件时,您会遇到以下错误:
{ "type": "StepErrored", "details": { "errorType": "BAD_REQUEST", "errorMessage": "Access Denied (Service: Amazon S3; Status Code: 403; Error Code: AccessDenied)", "stepType": "COPY", "stepName": "cross_region_copy" } }
原因
跨区域传输需要源存储桶和目标存储桶的特定的 IAM 权限。您的 Transfer Family 服务器或工作流程使用的 IAM 角色可能没有足够的权限访问其他区域的存储桶。
解决方案
要解决跨区域转移权限问题,请执行以下操作:
-
确保您的 IAM 角色同时拥有源存储桶和目标存储桶的权限:
-
如果使用 KMS 加密,请为源 KMS 密钥和目标 KMS 密钥添加权限:
{ "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": [ "arn:aws:kms:source-region:account-id:key/source-key-id", "arn:aws:kms:destination-region:account-id:key/destination-key-id" ] }
-
确认两个区域的存储桶策略都允许从您的 Transfer Family 服务器的 IAM 角色进行访问
-
对于跨账户转账,请确保配置了正确的跨账户权限
解决跨区域传输性能问题
描述
跨区域传输比预期慢得多,或者在大型文件传输期间会超时。
原因
跨区域传输本质上会涉及更大的延迟,并且可能会受到网络条件、文件大小和服务限制的影响。大文件或大量的小文件可能会导致性能下降。
解决方案
要提高跨区域传输性能,请执行以下操作:
-
对于大型文件,可以考虑使用 Amazon S3 Transfer Acceleration:
aws s3 cp --source-region us-east-1 --region us-west-2 \ s3://source-bucket/large-file.zip s3://destination-bucket/large-file.zip \ --acl bucket-owner-full-control --s3-accelerate
-
对于多个小文件,请在传输之前将它们一起批处理:
-
使用压缩来合并多个文件
-
使用 Amazon S3 批量操作进行大规模传输
-
-
考虑使用具有适当超时设置的 Transfer Family SFTP 连接器进行大型传输
-
对于重复传输,请考虑使用 Amazon S3 跨区域复制 (CRR) 而不是临时传输来复制数据
-
使用 Amazon CloudWatch 指标监控传输绩效以识别瓶颈