버킷 복제를위한 s3cmd 보다 더 나은 명령 줄 도구를 찾으려고 노력했습니다. 와이즈 비즈 각 파일을 다운로드하고 업로드하지 않고도 버킷을 복제 할 수 있습니다. s3cmd를 사용하여 버킷을 복제하기 위해 일반적으로 실행하는 명령은 다음과 같습니다.
s3cmd
이 작동하지만 API를 통해 각 파일을 한 번에 하나씩 복사하므로 속도가 매우 느립니다. 만약
s3cmd cp -r --acl-public s3://bucket1 s3://bucket2
병렬 모드로 실행할 수 있습니다. 매우 기뻤습니다.
s3cmd
보다 빠른 버킷을 복제하는 데 사용하는 명령 줄 도구 또는 코드로 사용할 수있는 다른 옵션이 있습니까?
?
편집 : s3cmd-modification 은 내가 원하는 것입니다. 작동하지 않습니다. 다른 옵션이 있습니까?
s3cmd
-
답변 # 1
-
답변 # 2
AWS 콘솔을 사용하지 않는다면 다음을 수행 할 수 있습니다.
<올>첫 번째 버킷에서 모든 파일/폴더 선택
액션>복사를 클릭
새 버킷을 만들어 선택
액션>붙여 넣기를 클릭
아직 속도가 느리지 만 혼자 내버려두면됩니다.
-
답변 # 3
s3cmd
AWS 웹 콘솔을 사용하여 두 개의 버킷을 복제하려고했습니다. 그리고 AWS CLI. 이러한 방법은 대부분 작동하지만 고통스럽게 느립니다.s3s3mirror
를 찾았습니다 : 두 개의 S3 버킷을 동기화하기위한 특수 도구입니다. 멀티 스레드이며 다른 시도 방법보다 훨씬 빠릅니다. 기가 바이트 단위의 데이터를 한 AWS 리전에서 다른 리전으로 신속하게 옮겼습니다.https://github.com/cobbzilla/s3s3mirror에서 확인하거나 https://registry.hub.docker.com/u/pmoust/s3s3mirror/
-
답변 # 4
adzoc 솔루션의 경우
aws cli
를 사용하십시오. 버킷 간 동기화 :aws s3 sync
속도는 다음에 따라 다릅니다.
-S3 엔드 포인트에 대한 API 호출 대기 시간
-동시 API 호출 횟수동기화 속도를 높이려면 :
-aws s3 sync
를 실행 AWS 인스턴스에서 (FreeBSD의 c3.large는 정상입니다 ;-))
-~/.aws/config를 다음과 같이 업데이트하십시오 :
-max_concurrent_requests = 128
-max_queue_size = 8096
다음 구성 및 인스턴스 유형으로 474 초 내에 버킷 (309GB, 72K 파일, us-east-1)을 동기화 할 수있었습니다.
보다 일반적인 솔루션은 AWS DataPipeLine 또는 S3 교차 리전 복제를 고려하십시오.
-
답변 # 5
다른 S3 명령 줄 도구는 모르지만 여기에 아무것도 나타나지 않으면 가장 쉬운 방법 일 수 있습니다 직접 작성하십시오.
원하는 언어와 Amazon SDK/Toolkit을 선택하십시오. 그런 다음 소스 버킷 내용을 나열/검색하고 각 파일을 복사해야합니다 (병렬로)
s3cmd-modification의 소스를 보면 (파이썬에 대해서는 아무것도 모른다는 것을 인정합니다), 버킷 간 코드를 병렬화하지는 않았지만 표준 업로드/다운로드 병렬 코드를 시작 지점입니다.
- amazon web services - Alexa 기술 미리 서명 된 S3 URL을 사용할 때 잘못된 SSML 출력 음성
- python - Lambda 함수에서 버킷 태그를 사용하여 s3 버킷 ACL에서 작동하는 방법
- performance - s3 접두사는 스케일과 관련하여 무엇을 의미합니까?
- amazon web services - S3에서 SQS 대기열 알림을 구성 할 수 없습니다
- Amazon으로 전체 폴더를 공개적으로 다운로드하는 가장 좋은 방법은 무엇입니까?
- amazon web services - 접두사 성능이없는 S3 객체
- hadoop - Amazon S3 객체를 분할 된 디렉토리로 이동하는 방법
- amazon web services - 폴더 (접두사)를 기준으로 S3 스토리지를 제한하는 방법은 무엇입니까?
- node.js - "요청 속도를 줄이십시오"문제를 처리하기 위해 AWS s3 사용을 최적화하는 방법
- amazon web services - AWS S3 버킷 정책에서 액세스 거부 오류가 발생 함
AWS CLI가 완벽하게 작동하는 것으로 보이며 공식적으로 지원되는 도구라는 보너스가 있습니다.
http://docs.aws.amazon.com/cli/latest/reference/s3/sync.html
기본적으로 동시 전송을 지원합니다. http://docs.aws.amazon.com/cli/latest/topic/s3-config.html#max-concurrent-requests
를 참조하십시오.많은 수의 작은 파일을 빠르게 전송하려면 EC2 인스턴스에서 스크립트를 실행하여 대기 시간을 줄이고
max_concurrent_requests
를 늘리십시오 대기 시간의 영향을 줄입니다. 예 :