2012-06-14 28 views
6

EC2 cung cấp cơ chế có thể mở rộng theo yêu cầu rất thuận tiện để thực thi các quy trình có thể phân phối (song song) và S3 cung cấp dịch vụ lưu trữ đáng tin cậy.Cách thiết lập kết nối S3 đến EC2 nhanh và đáng tin cậy

Tôi đã cố gắng sử dụng các nút EC2 cho quy trình phân tích ETL &, quá trình này cần lượng lớn dữ liệu (100GB - 1TB) nhập vào rất nhanh (và nhiều lần trong ngày) và tài nguyên tính toán đầy đủ một thời gian ngắn.

Thiết kế trên cần

  1. A-băng thông cao/kết nối nhanh giữa S3 và EC2.
  2. S3 -> Kết nối EC2 cũng đáng tin cậy kể từ khi bắt đầu, dữ liệu bơm, quá trình thực thi và các nút chấm dứt phải được thực hiện càng sớm càng tốt không chỉ để tiết kiệm chi phí mà còn vì SLA có liên quan.

Nhưng khi chưa

  1. Các phương tiện duy nhất kéo dữ liệu ra của S3 có vẻ là thông qua http và do đó nó bị hạn chế bởi băng thông tải về các nút EC2.
  2. Ngoài ra việc nhập dữ liệu đi qua internet và do đó có thể không đáng tin cậy đủ cho các mục đích lập kế hoạch nghiêm ngặt đòi hỏi phải đệm đầy đủ trong các công việc.

Trong thiết lập trung tâm dữ liệu riêng, người dùng có thể thiết lập đường dây chuyên dụng nhanh hơn (nói 10Gbps) giữa bộ nhớ và nút vật lý.

Có tùy chọn thay thế/dịch vụ có thể có nào trong trường hợp aws có thể giải quyết các yêu cầu trên không.

Trả lời

5

Phụ thuộc rất nhiều vào hoạt động mạng của các phiên bản EC2 khác trên cùng một máy chủ vật lý, nút S3 cụ thể mà bạn đang truy cập bất kỳ lúc nào khu vực như điểm cuối S3 của bạn, v.v.

Bạn có thể chuẩn cho mình, nhưng thậm chí sau đó nó sẽ thay đổi rất nhiều. Tôi đã nhận được nhiều megabyte mỗi giây ở lần và vài trăm kilobyte vào những lúc khác.

+0

amazon havent công bố bất cứ điều gì về vấn đề này trên website của mình, là có bất cứ nguồn nào khác để có được thông tin này? Có một mô hình định giá khác nhau cho phép sự linh hoạt để chọn tốc độ truyền không. – sandeepkunkunuru

+1

Không có thông tin như vậy, bởi vì ** nó thay đổi **.Cách duy nhất để tăng tốc độ mạng AWS là bằng cách sử dụng các thể hiện cụm, nhận được 10 kết nối Gigabit giữa các máy chủ hoặc bằng cách sử dụng các trường hợp đắt tiền của AWS (http://aws.amazon.com/dedicated-instances/) để kiểm soát các hiệu ứng của những người khác trên máy chủ của bạn. – ceejayoz

2

Ít nhất tôi đã tìm thấy điều này gần đây (mặc dù đôi khi có thể có sẵn). Cloudberry cung cấp cách thực sự nhanh chóng để chuyển dữ liệu từ S3 sang EC2. Tốc độ dao động từ 40MBPS đến 50MBPS. Đây là quá trình. tải xuống cb s/w từ http://www.cloudberrylab.com/free-amazon-s3-explorer-cloudfront-IAM.aspx. Kết nối với S3. một khi các tập tin được nhìn thấy nhấp chuột phải vào tập tin để sao chép và chọn weburl. Điều này sẽ hiển thị weburl cho tệp. Sao chép toàn bộ url và trên AWS VM wget sử dụng để có được những nội dung url (wget [sao chép url]

tôi vẫn đang tìm kiếm công cụ để sao chép dữ liệu từ máy ảo để S3. S3cmd là chậm và phá vỡ quá thường xuyên.

+0

Không chắc chắn rằng câu trả lời cho câu hỏi, nhưng có thể hữu ích cho người tôi đoán. – rainkinz

+0

điều này là thú vị ... những gì bạn đang nói là truy cập các tập tin S3 thông qua các url của họ trực tiếp là nhanh hơn nhiều (và đáng tin cậy) hơn so với sử dụng S3cmd. Điều này có thể có rất ít việc phải làm với cloudberry nhưng chỉ bản chất của truy cập native/api vs REST/htttp và thực tế là tốc độ tải xuống và tải lên của các nút EC2 và S3 không phải là phần lớn thời gian. – sandeepkunkunuru

+0

thực sự s3cmd không có bất kỳ giao diện gốc nào (nó là một công cụ nguồn mở độc lập riêng biệt). Thực tế, giao thức duy nhất có vẻ là http trong trường hợp này, thật khó để hiểu sự khác biệt giữa các công cụ, ví dụ: wget, curl, aws sdk, s3cmd, v.v.để biết khả năng một công cụ có thể không hoạt động hoặc lỗi. – sandeepkunkunuru

3

tôi nghĩ rằng đó là một câu trả lời tốt hơn bây giờ.

có một dịch vụ riêng biệt Data pipeline, cung cấp truyền dữ liệu đáng tin cậy giữa S3 và EC2

Các vấn đề liên quan