AWSTransfer Family hỗ trợ Giao thức truyền tệp an toàn (SFTP), Giao thức truyền tệp qua SSL (FTPS) và Giao thức truyền tệp (FTP) để truyền tệp đến và đi từ AWSS3 hoặc AWS EFS (Hệ thống tệp đàn hồi). Nó hỗ trợ định tuyến DNS với Amazon Route 53. AWS Transfer Family loại bỏ chi phí mua sắm và chạy máy chủ FTP của riêng bạn, thay vào đó, nó quản lý cơ sở hạ tầng tệp cho bạn. Nó hỗ trợ khả năng tự động mở rộng quy mô và duy trì tính khả dụng cao.
AWS Transfer Family là dịch vụ được AWS quản lý hoàn toàn, có thể mở rộng theo thời gian thực và bạn không cần phải tạo
Hãy cùng tìm hiểu 3 giao thức khác nhau được AWS Transfer Family hỗ trợ.
Bạn cũng có thể kiểm soát quyền truy cập vào máy chủ bằng các chính sách AWS Identity and Access Management (IAM), các chính sách này có thể được chỉ định cho một IAM Role sau đó được đính kèm vào người dùng.
Không có chi phí trả trước và bạn chỉ cần trả tiền cho những gì bạn sử dụng và các giao thức bạn đã bật để truy cập vào điểm cuối của mình. Để biết về giá cả, hãy truy cập trang web chính thức của AWS tại đây.
Trong bài viết này, chúng ta sẽ xem các bước để tạo máy chủ hỗ trợ SFTP trên AWS và có thể truy cập công khai. Trước khi tiếp tục với bài viết này, chúng tôi cho rằng bạn đã quen thuộc với IAM Roles, EC2 instances và S3 Bucket.
Sau khi đăng nhập thành công vào tài khoản, bạn sẽ thấy bảng điều khiển quản lý AWS chính như sau và bạn có thể chọn vùng mong muốn để tạo Máy chủ SFTP.
Bạn sẽ thấy bảng điều khiển chính của AWS Transfer Family như sau. Nhấp vào nút "Create server" để tạo máy chủ SFTP đầu tiên của bạn.
Tại đây, hãy chọn giao thức mà bạn muốn bật cho máy chủ. Bạn có thể bật nhiều giao thức, nhưng ở đây chúng ta sẽ tiến hành với một giao thức SFTP duy nhất. Nhấp vào nút "Next" để tiếp tục.
Chọn loại điểm cuối dựa trên yêu cầu của bạn. Nếu bạn muốn điểm cuối của mình có thể truy cập công khai, hãy tiếp tục với nó. Nhấp vào nút "Tiếp theo".
Chọn dịch vụ lưu trữ AWS nơi bạn muốn lưu trữ dữ liệu của mình. Ở đây chúng ta sẽ tiến hành với Amazon S3. Nhấp vào nút "Tiếp theo" để tiếp tục.
Tiến hành với các tùy chọn mặc định ở đây.
Xem lại cấu hình và nhấp vào nút "Create Server". Thao tác này sẽ tạo máy chủ SFTP cho bạn, quá trình tạo sẽ mất vài phút để hoàn tất.
Đổi Dịch vụ thành "transfer.amazonaws.com", tài liệu chính sách sẽ trông như sau.
ssh-keygen
cat ~/.ssh/id_rsa.pub
Lấy khóa công khai sẽ cần trong bước tiếp theo.
Nhấp vào nút "Thêm người dùng" để tạo người dùng sẽ được sử dụng để xác thực và chuyển tệp sang S3 bằng máy chủ SFTP mà chúng ta đã tạo.
Tại đây, điểm cuối bạn thấy sẽ được sử dụng để truy cập Máy chủ SFTP để truyền dữ liệu. Hãy giữ điểm cuối này bên mình, bạn sẽ cần đến nó khi truy cập máy chủ SFTP.
Thêm tên người dùng, chọn vai trò IAM, chọn thùng S3 và một thư mục bên trong thùng này sẽ hoạt động như thư mục gốc cho người dùng mà chúng ta đang tạo. Thêm khóa công khai mà chúng ta đã sao chép từ bước trước trong phần "Khóa công khai SSH".
Cuộn xuống trang và nhấp vào nút "Thêm". Thao tác này sẽ tạo một người dùng cần có khóa riêng được liên kết với khóa công khai mà chúng ta đã thêm khi tạo người dùng.
Tại đây, bạn cần thay đổi điểm cuối bằng điểm cuối bạn có cho máy chủ SFTP của mình.
sftp -i ~/.ssh/id_rsa rahul-sftp-user@s-922b406852024d85a.server.transfer.eu-west-3.amazonaws.com
Bạn có thể thử tải tệp lên bằng lệnh sau, trong đó tệp được sử dụng trong lệnh sau thuộc về hệ thống cục bộ.
put /home/ubuntu/test-file
Lệnh trên sẽ sao chép tệp "/home/ubuntu/test-file" từ hệ thống cục bộ sang máy chủ SFTP.
Bạn có thể xác minh từ bảng điều khiển xem tệp đã được tải lên thùng S3 hay chưa bằng lệnh "put" ở trên.
Xác nhận hành động xóa của bạn và nhấp vào nút "Xóa". Sau khi xóa máy chủ SFTP, bạn không thể khôi phục lại máy chủ đó, vì vậy hãy cẩn thận khi thực hiện thao tác xóa.
AWS Transfer Family là dịch vụ được AWS quản lý hoàn toàn, có thể mở rộng theo thời gian thực và bạn không cần phải tạo
Hãy cùng tìm hiểu 3 giao thức khác nhau được AWS Transfer Family hỗ trợ.
- Giao thức SFTP: Giao thức truyền tệp Secure Shell là giao thức mạng được sử dụng để truyền dữ liệu an toàn qua internet. Giao thức hỗ trợ đầy đủ chức năng bảo mật và xác thực của SSH
- Giao thức FTP: Giao thức truyền tệp (FTP) là giao thức mạng được sử dụng để truyền dữ liệu. FTP sử dụng một kênh riêng để kiểm soát và truyền dữ liệu.
- Giao thức FTPS:Giao thức truyền tệp qua SSL là phần mở rộng của FTP. Nó sử dụng các giao thức mật mã Transport Layer Security và Secure Sockets Layer để mã hóa lưu lượng.
Bạn cũng có thể kiểm soát quyền truy cập vào máy chủ bằng các chính sách AWS Identity and Access Management (IAM), các chính sách này có thể được chỉ định cho một IAM Role sau đó được đính kèm vào người dùng.
Không có chi phí trả trước và bạn chỉ cần trả tiền cho những gì bạn sử dụng và các giao thức bạn đã bật để truy cập vào điểm cuối của mình. Để biết về giá cả, hãy truy cập trang web chính thức của AWS tại đây.
Trong bài viết này, chúng ta sẽ xem các bước để tạo máy chủ hỗ trợ SFTP trên AWS và có thể truy cập công khai. Trước khi tiếp tục với bài viết này, chúng tôi cho rằng bạn đã quen thuộc với IAM Roles, EC2 instances và S3 Bucket.
Điều kiện tiên quyết
- Tài khoản AWS (Tạo nếu bạn chưa có).
- Ubuntu EC2 Instance (Nhấp vào đây để tìm hiểu cách tạo Ubuntu EC2 instance trên AWS).
- IAM Role có quyền truy cập đầy đủ vào S3 (Nhấp vào đây để tìm hiểu cách tạo IAM Role).
- S3 Bucket (Nhấp vào đây để tìm hiểu cách tạo S3 bucket trên AWS).
Chúng ta sẽ làm gì?
- Đăng nhập vào AWS
- Tạo SFTP Máy chủ
- Sửa đổi Mối quan hệ tin cậy của Chính sách IAM
- Tạo một thư mục trong S3 Bucket.
- Tạo một Cặp khóa trong phiên bản EC2.
- Tạo một người dùng trong Máy chủ SFTP
- Kiểm tra kết nối với Máy chủ SFTP
- Xóa Máy chủ SFTP
Đăng nhập vào AWS
Nhấp vào đây để đến trang đăng nhập, tại đó bạn có thể nhập thông tin đăng nhập để vào tài khoản.Sau khi đăng nhập thành công vào tài khoản, bạn sẽ thấy bảng điều khiển quản lý AWS chính như sau và bạn có thể chọn vùng mong muốn để tạo Máy chủ SFTP.
Tạo Máy chủ SFTP
Tìm kiếm "Transfer Family" trong hộp tìm kiếm ở đầu màn hình.Bạn sẽ thấy bảng điều khiển chính của AWS Transfer Family như sau. Nhấp vào nút "Create server" để tạo máy chủ SFTP đầu tiên của bạn.
Tại đây, hãy chọn giao thức mà bạn muốn bật cho máy chủ. Bạn có thể bật nhiều giao thức, nhưng ở đây chúng ta sẽ tiến hành với một giao thức SFTP duy nhất. Nhấp vào nút "Next" để tiếp tục.
Chọn loại điểm cuối dựa trên yêu cầu của bạn. Nếu bạn muốn điểm cuối của mình có thể truy cập công khai, hãy tiếp tục với nó. Nhấp vào nút "Tiếp theo".
Chọn dịch vụ lưu trữ AWS nơi bạn muốn lưu trữ dữ liệu của mình. Ở đây chúng ta sẽ tiến hành với Amazon S3. Nhấp vào nút "Tiếp theo" để tiếp tục.
Tiến hành với các tùy chọn mặc định ở đây.
Xem lại cấu hình và nhấp vào nút "Create Server". Thao tác này sẽ tạo máy chủ SFTP cho bạn, quá trình tạo sẽ mất vài phút để hoàn tất.
Sửa đổi Trust Relationships của Chính sách IAM
Bước tiếp theo là sửa đổi chính sách IAM có quyền truy cập đầy đủ vào các thùng S3. Đi tới "Vai trò IAM -- > Mối quan hệ tin cậy" và chỉnh sửa.Đổi Dịch vụ thành "transfer.amazonaws.com", tài liệu chính sách sẽ trông như sau.
Tạo một thư mục trong S3 Bucket.
Xem bạn có một S3 bucket mà bạn muốn lưu trữ dữ liệu từ máy chủ SFTP không.Tạo một cặp khóa trong phiên bản EC2.
Bước tiếp theo là tạo một cặp khóa sẽ được sử dụng để xác thực với máy chủ SFTP. Truy cập máy chủ Linux của bạn và thực hiện lệnh sau để tạo cặp khóassh-keygen
cat ~/.ssh/id_rsa.pub
Lấy khóa công khai sẽ cần trong bước tiếp theo.
Tạo người dùng trong Máy chủ SFTP
Chúng ta hãy truy cập SFTP mà chúng ta đã tạo.Nhấp vào nút "Thêm người dùng" để tạo người dùng sẽ được sử dụng để xác thực và chuyển tệp sang S3 bằng máy chủ SFTP mà chúng ta đã tạo.
Tại đây, điểm cuối bạn thấy sẽ được sử dụng để truy cập Máy chủ SFTP để truyền dữ liệu. Hãy giữ điểm cuối này bên mình, bạn sẽ cần đến nó khi truy cập máy chủ SFTP.
Thêm tên người dùng, chọn vai trò IAM, chọn thùng S3 và một thư mục bên trong thùng này sẽ hoạt động như thư mục gốc cho người dùng mà chúng ta đang tạo. Thêm khóa công khai mà chúng ta đã sao chép từ bước trước trong phần "Khóa công khai SSH".
Cuộn xuống trang và nhấp vào nút "Thêm". Thao tác này sẽ tạo một người dùng cần có khóa riêng được liên kết với khóa công khai mà chúng ta đã thêm khi tạo người dùng.
Kiểm tra kết nối với Máy chủ SFTPKiểm tra kết nối với Máy chủ SFTP
Truy cập máy chủ Linux nơi bạn đã tạo cặp khóa và sử dụng lệnh sau để kết nối với máy chủ SFTP.Tại đây, bạn cần thay đổi điểm cuối bằng điểm cuối bạn có cho máy chủ SFTP của mình.
sftp -i ~/.ssh/id_rsa rahul-sftp-user@s-922b406852024d85a.server.transfer.eu-west-3.amazonaws.com
Bạn có thể thử tải tệp lên bằng lệnh sau, trong đó tệp được sử dụng trong lệnh sau thuộc về hệ thống cục bộ.
put /home/ubuntu/test-file
Lệnh trên sẽ sao chép tệp "/home/ubuntu/test-file" từ hệ thống cục bộ sang máy chủ SFTP.
Bạn có thể xác minh từ bảng điều khiển xem tệp đã được tải lên thùng S3 hay chưa bằng lệnh "put" ở trên.
Xóa Máy chủ SFTP
Khi bạn không còn cần máy chủ SFTP nữa, bạn có thể dễ dàng xóa nó. Để xóa máy chủ, hãy nhấp vào "Hành động --> Xóa".Xác nhận hành động xóa của bạn và nhấp vào nút "Xóa". Sau khi xóa máy chủ SFTP, bạn không thể khôi phục lại máy chủ đó, vì vậy hãy cẩn thận khi thực hiện thao tác xóa.