Tôi có một máy chủ nằm ngoài AWS. Tôi muốn có thể gắn một khối EFS vào nó, nhưng tôi không chắc nếu điều đó là có thể.
Có lẽ nếu bạn tạo VPC và bạn tạo đường hầm qua VPN?
Có ai biết nếu điều này là có thể?
Tôi có một máy chủ nằm ngoài AWS. Tôi muốn có thể gắn một khối EFS vào nó, nhưng tôi không chắc nếu điều đó là có thể.
Có lẽ nếu bạn tạo VPC và bạn tạo đường hầm qua VPN?
Có ai biết nếu điều này là có thể?
Câu trả lời:
Cập nhật quan trọng:
Vào tháng 10 năm 2018, AWS đã mở rộng khả năng của công nghệ mạng làm nền tảng cho EFS để giờ đây nó hoạt động trên các kết nối VPN được quản lý và tiên phong VPC xuyên khu vực, mà không cần dùng đến cách giải quyết proxy chi tiết bên dưới.
EFS đã thêm hỗ trợ cho kết nối thông qua các mạch Kết nối trực tiếp AWS vào cuối năm 2016.
https://aws.amazon.com/bloss/aws/amazon-efs-update-on-premises-access-via-direct-connect-vpc/
Nhận xét đã đưa ra một số vấn đề thú vị, vì trong lần đọc câu hỏi đầu tiên của tôi, tôi có thể đã giả sử quen thuộc hơn với EFS hơn bạn có thể có.
Vì vậy, đầu tiên, một chút nền tảng:
"Đàn hồi" trong Hệ thống tệp đàn hồi chủ yếu đề cập đến việc tự động mở rộng không gian lưu trữ và thông lượng - không phải là tính linh hoạt truy cập bên ngoài.
EFS dường như không có bất kỳ giới hạn có ý nghĩa nào về lượng dữ liệu bạn có thể lưu trữ. Kích thước tối đa được ghi lại của bất kỳ tệp nào trên một khối EFS là 52,673,613,135,872 byte (52 TiB) . Hầu hết các giới hạn khác đều hào phóng tương tự.
EFS đặc biệt "co giãn" theo cách nó được lập hóa đơn. Không giống như các hệ thống tập tin trên khối lượng EBS, không gian không được phân bổ trên EFS và bạn chỉ trả tiền cho những gì bạn lưu trữ trên cơ sở trung bình hàng giờ. Khoản phí của bạn tăng và thu hẹp (chúng là "co giãn") dựa trên số tiền bạn đã lưu trữ. Khi bạn xóa các tệp, bạn ngừng trả tiền cho không gian họ chiếm trong vòng một giờ. Nếu bạn lưu trữ 1 GB trong 750 giờ (≅1 tháng) và sau đó xóa nó hoặc nếu bạn lưu trữ 375 GB trong 2 giờ và sau đó xóa nó, hóa đơn hàng tháng của bạn sẽ giống ... 0,30 đô la. Điều này tất nhiên khá khác so với EBS, nó sẽ vui vẻ gửi hóa đơn cho bạn $ 37,50 để lưu trữ 375 GB0x00
cho các giờ còn lại trong tháng.
Mô hình định giá lưu trữ của S3 giống như EFS, vì thanh toán cho lưu trữ dừng ngay khi bạn xóa một đối tượng và chi phí bằng ~ 1/10 chi phí của EFS, nhưng như tôi và những người khác đã đề cập nhiều lần, S3 không phải là một hệ thống tập tin. Các tiện ích như s3fs-fuse cố gắng cung cấp "cầu trở kháng" nhưng có những khó khăn cố hữu trong việc cố gắng xử lý một cái gì đó không thực sự là một hệ thống tập tin như nó (sự nhất quán cuối cùng đối với việc ghi đè không phải là ít nhất trong số chúng). Vì vậy, nếu một "hệ thống tập tin" thực sự là những gì bạn cần và đối với một ứng dụng cần chia sẻ quyền truy cập hoặc không gian lưu trữ cần thiết thì khó xác định hoặc bạn muốn mở rộng theo yêu cầu, EFS có thể hữu ích.
Và, nó trông thật tuyệt khi bạn có 8.0 EiB không gian trống.
$ df -h | egrep '^Filesystem|efs'
Filesystem Size Used Avail Use% Mounted on
us-west-2a.fs-5ca1ab1e.efs.us-west-2.amazonaws.com:/ 8.0E 121G 8.0E 1% /srv/efs/fs-5ca1ab1e
us-west-2a.fs-acce55ed.efs.us-west-2.amazonaws.com:/ 8.0E 7.2G 8.0E 1% /srv/efs/fs-acce55ed
Nhưng tất nhiên, điều quan trọng là sử dụng dịch vụ lưu trữ phù hợp nhất với các ứng dụng của bạn. Mỗi tùy chọn có trường hợp sử dụng hợp lệ của nó. EFS có lẽ là giải pháp lưu trữ chuyên dụng nhất do AWS cung cấp, có bộ trường hợp sử dụng hẹp hơn so với EBS hoặc S3.
Nhưng bạn có thể sử dụng nó từ bên ngoài VPC không?
Câu trả lời chính thức là Không :
Việc gắn hệ thống tệp qua các cơ chế kết nối riêng của VPC như kết nối VPN, tiên phong VPC và Kết nối trực tiếp AWS không được hỗ trợ.
- http://docs.aws.amazon.com/efs/latest/ug/limits.html
EFS hiện chỉ giới hạn ở chỉ truy cập EC2 Linux. Điều đó cũng trong VPC. Nhiều tính năng sẽ được bổ sung sớm. Bạn có thể theo dõi các thông báo AWS cho các tính năng mới được đưa ra.
- https://forums.aws.amazon.com/thread.jspa?messageID=732749
Tuy nhiên, câu trả lời thực tế là Có , mặc dù đây không phải là cấu hình được hỗ trợ chính thức. Để làm cho nó hoạt động, một số bước đặc biệt được yêu cầu.
Mỗi hệ thống tệp EFS được gán địa chỉ IP điểm cuối trong VPC của bạn bằng giao diện mạng đàn hồi (ENI), thường là một địa chỉ trên mỗi vùng khả dụng và bạn muốn chắc chắn rằng bạn gắn địa chỉ trong vùng khả dụng khớp với thể hiện, không chỉ vì lý do hiệu suất, mà cũng bởi vì phí băng thông được áp dụng khi vận chuyển dữ liệu qua các ranh giới vùng khả dụng.
Điều thú vị về các ENI này là chúng dường như không sử dụng các bảng lộ trình cho các mạng con mà chúng được gắn vào. Họ dường như chỉ có thể phản hồi các trường hợp bên trong VPC, bất kể cài đặt nhóm bảo mật (mỗi hệ thống tệp EFS có nhóm bảo mật riêng để kiểm soát quyền truy cập).
Vì không có tuyến đường bên ngoài nào có thể truy cập được, tôi không thể truy cập các điểm cuối EFS trực tiếp qua VPN phần cứng của mình ... vì vậy tôi đã chuyển sang sử dụng HAProxy cũ của mình, điều thực sự (như @Tim dự đoán) là cần thiết để thực hiện công việc này. Đây là một cấu hình đơn giản, vì EFS chỉ sử dụng cổng TCP 2049.
Tôi đang sử dụng HAProxy trên t2.nano (HAProxy rất hiệu quả), với cấu hình trông giống như thế này:
listen fs-8d06f00d-us-east-1
bind :2049
mode tcp
option tcplog
timeout tunnel 300000
server fs-8d06f00d-us-east-1b us-east-1b.fs-8d06f00d.efs.us-east-1.amazonaws.com:2049 check inter 60000 fastinter 15000 downinter 5000
server fs-8d06f00d-us-east-1c us-east-1c.fs-8d06f00d.efs.us-east-1.amazonaws.com:2049 check inter 60000 fastinter 15000 downinter 5000 backup
server fs-8d06f00d-us-east-1d us-east-1d.fs-8d06f00d.efs.us-east-1.amazonaws.com:2049 check inter 60000 fastinter 15000 downinter 5000 backup
Máy chủ này ở chế độ us-East-1b, vì vậy nó sử dụng điểm cuối us-East-1b làm chính, hai cái còn lại làm bản sao lưu nếu điểm cuối trong 1b không bao giờ kiểm tra sức khỏe.
Nếu bạn có VPN vào VPC của mình, thì bạn sẽ gắn kết âm lượng bằng địa chỉ IP của phiên bản proxy này làm mục tiêu (thay vì sử dụng trực tiếp điểm cuối EFS) và voilà bạn đã gắn hệ thống tệp EFS từ bên ngoài VPC.
Tôi đã gắn kết nó thành công trên các máy Ubuntu bên ngoài cũng như các máy chủ Solaris¹ (nơi EFS đã được chứng minh là rất tiện dụng để đẩy nhanh việc ngừng hoạt động của chúng bằng cách giúp di chuyển các dịch vụ ra khỏi chúng dễ dàng hơn).
Đối với một số trường hợp nhất định, như di chuyển dữ liệu vào AWS hoặc chạy các hệ thống đám mây và di sản song song trên dữ liệu cụ thể trong quá trình di chuyển, EFS có vẻ như là một người chiến thắng.
Tất nhiên, các hệ thống cũ, có thời gian khứ hồi cao hơn, sẽ không hoạt động tốt như các trường hợp EC2, nhưng đó là điều được mong đợi - không có ngoại lệ đối với các định luật vật lý. Mặc dù vậy, EFS và cổng HAProxy dường như là một giải pháp ổn định để làm cho nó hoạt động bên ngoài.
Nếu bạn không có VPN, thì một cặp máy HAProxy, một trong AWS và một trong trung tâm dữ liệu của bạn, cũng có thể chuyển EFS qua TLS, thiết lập kết nối TCP riêng với tải trọng được bọc trong TLS để vận chuyển từng EFS riêng lẻ kết nối trên Internet. Về mặt kỹ thuật không phải là VPN, mà là đường hầm được mã hóa của các kết nối. Điều này dường như cũng thực hiện khá tốt.
Solaris 10 (không đáng ngạc nhiên) có phần bị phá vỡ theo mặc định - ban đầu, root dường như không có đặc quyền - các tệp trên ổ EFS được tạo bởi root được sở hữu bởi root nhưng không thể được chown
chuyển sang người dùng khác từ Máy Solaris ( Operation not permitted
), mặc dù mọi thứ hoạt động như mong đợi từ các máy khách Ubuntu. Giải pháp, trong trường hợp này là đánh bại trình nền ánh xạ ID NFS trên máy Solaris bằng cách sử dụng svcadm disable svc:/network/nfs/mapid:default
. Dừng dịch vụ này làm cho mọi thứ hoạt động như mong đợi. Ngoài ra, /usr/sbin/quota
cần phải vô hiệu hóa yêu cầu trên mỗi lần đăng nhập /etc/profile
. Có thể có giải pháp tốt hơn hoặc đúng hơn, nhưng đó là Solaris, vì vậy tôi không đủ tò mò để điều tra.
Kể từ ngày 20 tháng 12 năm 2016, Amazon đã công bố AWS Direct Connect có thể được sử dụng để gắn kết hệ thống tệp EFS trên các máy chủ tại chỗ. Vì vậy, về cơ bản, có một tính năng gốc cho phép bạn sử dụng AWS EFS bên ngoài VPC.
Như một điều kiện tiên quyết, bạn sẽ phải kích hoạt và thiết lập kết nối AWS Direct Connect, sau đó sử dụng nfs-utils như bạn nên sử dụng khi gắn EFS trong các phiên bản EC2.
Thông tin thêm có thể được tìm thấy tại URL theo dõi f . Tôi vừa đăng bài này, vì tôi cũng đã tìm kiếm tương lai này, để những người khác nhận thức được rằng có giải pháp riêng cho kết nối EFS bên ngoài VPC.