Truy cập Amazon S3 từ mạng con VPC riêng


12

Nếu tôi có VPC đang chạy và một số máy chủ nằm trong phần riêng của mạng đó xử lý phụ trợ bằng cách tải xuống các tệp từ amazon s3, tôi có thể truy cập S3 nội bộ để lấy các tệp đó không? Hoặc tôi phải truy cập internet công cộng qua NAT, tải xuống các tệp s3 qua https và xử lý theo cách đó?


Xem câu trả lời của tôi cho stackoverflow.com/questions/25539057/ vì một cách để làm điều này, mặc dù câu trả lời của tôi liên quan nhiều hơn đến việc thiết lập nhóm S3 để nó chỉ có thể được truy cập từ một VPC cụ thể, vì vậy nó chỉ có thể trả lời một phần của bạn câu hỏi
Eddie

Câu trả lời:


29

Với tên người dùng như "Internet", tôi mong bạn biết điều này. Nhưng vì bạn đã hỏi ...

:)

VPC là thực sự riêng tư. Chỉ lưu lượng truy cập mà bạn cho phép rõ ràng mới có thể chuyển qua biên giới của VPC.

Vì vậy, bên trong VPC, các trường hợp cần truy cập vào tài nguyên bên ngoài cần được chỉ định EIP (trong trường hợp đó họ có thể truy cập tài nguyên bên ngoài bằng cơ sở hạ tầng của AWS) hoặc bạn cần cung cấp máy chủ NAT (trong trường hợp đó là tất cả lưu lượng truy cập VPC thông qua NAT của riêng bạn).

Nếu bạn chọn cung cấp máy chủ NAT của riêng mình, hãy nhớ rằng bạn sẽ cần phải vô hiệu hóa việc kiểm tra nguồn / mệnh trong trường hợp đó cũng như thêm tuyến đường mặc định vào mạng con riêng tư của bạn, trỏ đến máy chủ NAT.

CẬP NHẬT (2015-05-10): Kể từ ngày 11 tháng 5 năm 2015, AWS đã phát hành "Điểm cuối VPC" cho S3 , cho phép truy cập S3 trực tiếp từ VPC mà không phải thông qua máy chủ proxy hoặc phiên bản NAT. Rất may vì tôn trọng bản chất thực sự riêng tư của VPC, tính năng này bị tắt theo mặc định, nhưng có thể dễ dàng bật bằng Bảng điều khiển AWS hoặc thông qua API của họ.


Làm thế nào về kiểm soát truy cập? Khi lưu lượng truy cập thông qua NAT, các chính sách nhóm S3 hoạt động như thế nào (vì nguồn gốc là NATted, làm thế nào S3 có thể biết vai trò hoặc người dùng đang yêu cầu dữ liệu)?
Tuukka Mustonen

@TuukkaMustonen Mối quan tâm duy nhất là nếu bạn có chính sách dựa trên IP nguồn. Trong trường hợp đó, bạn sẽ cần sử dụng IP công khai của cá thể NAT làm IP nguồn.
filipenf

2

Nếu phiên bản của bạn nằm trong Mạng con công cộng của VPC thì:

  • Bạn nên có địa chỉ IP công cộng được gán cho cá thể của bạn
  • HOẶC bạn nên có IP đàn hồi được gán cho cá thể của bạn

Nếu phiên bản của bạn nằm trong mạng con riêng của VPC thì:

  • Bạn cần phải có một thiết bị NAT chạy trong mạng con công cộng. Vì vậy, ví dụ trong mạng con riêng của VPC có thể truy cập internet thông qua NAT và truy cập S3. Bạn có thể sử dụng AWS VPC NAT hoặc bạn có thể định cấu hình cho riêng mình (google cho điều này trong trường hợp bạn muốn thiết lập NAT của riêng mình)

Tóm lại, để truy cập S3, Bạn phải có thể truy cập internet.


FYI: theo cập nhật của tôi ở trên, truy cập internet không còn cần thiết.
EEAA


-3

Bạn không cần phải "ra ngoài" và quay lại "vào" hoặc thay đổi bất cứ điều gì về cách bạn chuyển dữ liệu trong các khu vực AWS. Không có phí chuyển khoản đến / từ các thùng trong cùng khu vực . Bạn phải trả tiền cho việc lưu trữ.


Điều này không trả lời câu hỏi của OP.
EEAA

Không rõ là anh ấy đang đề cập đến một mạng bên ngoài AWS. Cảm ơn các dv!
Quadruplebucky

Bạn đang thiếu điểm. Anh ta có các thể hiện EC2 trong một mạng con VPC riêng. Theo mặc định, những thứ này không có quyền truy cập vào bất cứ thứ gì bên ngoài VPC đó. Vì vậy, như tôi đã nói trong câu trả lời của mình, anh ta sẽ cần phải thực hiện một trong hai tùy chọn để cấp cho họ quyền truy cập vào S3. Nó không liên quan gì đến việc mạng có ở bên trong hay bên ngoài AWS hay không, thay vào đó, nó phải làm với việc truy cập bên ngoài VPC của mình.
EEAA

@quadruplebucky, tôi nói rõ rằng tôi đang truy cập "internet công cộng" để lấy các tệp qua HTTPS.
Internet

Tôi sẽ cúi đầu ra đây, tôi không có một con chó nào trong cuộc chiến này. EEAA đã trả lời câu hỏi của bạn. Bạn trả tiền nếu bạn qua các khu vực.
tăng gấp bốn lần
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.