2017-04-22 5 views
-2

EC2 인스턴스의 블록 저장소에 몇 테라 바이트 상당의 데이터 파일이 축적되어 있다고 가정합니다.AWS EC2에서 대용량 파일을 다운로드하는 가장 빠른 방법 EBS

로컬 컴퓨터로 다운로드하는 가장 효율적인 방법은 무엇입니까? scp? ftp? nfs? http? rsync? 중간의 s3 버킷을 통과합니까? 여러 대의 컴퓨터를 통한 급류? 이 특별한 문제에 대한 특별한 도구 나 스크립트가 있습니까?

+1

충분히 큰 데이터 세트의 경우, 가장 빠르고 가장 저렴한 방법은 저장 미디어를 물리적으로 제공하는 것입니다. [AWS Snowball] (https://aws.amazon.com/snowball/)을 참조하십시오. –

+0

사실, 데이터가 페타 바이트 단위가 될 때이 서비스가 더 유용하다는 느낌이 들었지 만 실제 드라이브를 운송하는 시간은 실제로 인터넷을 통해 전송할 시간과 비교됩니다. 테라 바이트 정도는 아직 그다지 많지 않습니다. 아무리 작아도 프로토콜의 선택은 며칠이나 몇 시간으로 몇 시간의 전송을 전환 할 수 있습니다. 따라서이 질문에 대한 답입니다. –

+1

여전히 10TB와 관련이 있습니다. 10TB를 전송하기위한 대역폭 비용을 살펴본 다음, 예를 들어 100Mb/s로 데이터를 이동하는 데 소요되는 시간을 확인하십시오. FedEx에서 보낸 10TB 드라이브는 놀라운 대역폭을 가지며 FedEx 청구서는 대역폭에 비해 작습니다. –

답변

3

이 규칙을 따르십시오 :

  • 이동 파일 하나로서, 하나의 아카이브 파일에 모든 타르.
  • EC2/EBS와 동일한 지역에 S3 버킷을 생성하십시오.
  • AWS CLI S3 명령을 사용하여 파일을 S3 버켓에 업로드하십시오.
  • AWS CLI를 사용하여 로컬 또는 다른 저장소에 파일을 가져옵니다.

이것은 가장 쉽고 효율적인 방법입니다.

2

이 유스 케이스에 대한 자세한 정보가 필요합니다. 빠르고 쉽게 구현하기 위해 다양하고 작은 오버 헤드가 -

  • HTTP가 : 개념 helpfull이다 이하 나는 희망한다.
  • Resilio (이전 BitTorrent Sync) - 빠르고 배포가 쉽고 분산되어 있으며 안전합니다. 전송 중단을 처리 할 수 ​​있습니다. 두 끝점 모두 NAT 뒤에 있으면 작동합니다.
  • rsync - 오래된 학교와 잘 알려진 해결책. 많은 양의 데이터를 동기화하고 전송을 재개 할 수 있습니다.
  • S3에 업로드하고 거기서부터 - S3에 업로드하는 것이 빠릅니다. 다음 HTTP (S) 또는 비트 토 런트를 사용하여 데이터를 로컬로 가져올 수 있습니다.
+0

내가 제공 할 수있는 추가 정보가 확실하지 않습니다. 질문은 시스템을 설정하는 데 몇 시간을 보낼 준비가되었다고 가정 할 때 가장 빠른 방법이 가장 빠른 방법에 관한 것입니다. 나는이 대답이 나를 도울 것이라고 생각하지 않는다. 예를 들어 HTTP를 설정하면 병렬로 다운로드해야 할 필요가 있다고 생각합니까? 병렬 또는 rsync에서 S3에서 다운로드하는 것과 어떻게 비교할 수 있습니까? BitTorrent의 경우 데이터를 다운로드하기 전에 복제하기 위해 추가 기계를 설치해야합니다. –

+0

일반적으로 2017 년에 "원격 네트워크에서 파일을 다운로드하는 방법"에 대한 질문에 대한 좋은 표준 대답이 없다고 생각하는 것이 어렵습니다. –

+0

"가장 효율적"은 명확하게 정의 된 기준이 아닙니다. 언급 된 모든 솔루션은 효율적이지만 다른 것입니다. Resilio 들어, 추가 물건, 양쪽에 그냥 클라이언트. – Janusz

1

설득력있는 답변을 얻지 못했기 때문에 스스로 작은 측정을하기로 결정했습니다.

enter image description here

자세한 내용 here : 여기에 내가 가진 결과입니다.