Port Forwarding

Port Forwarding là mốt cách thức hữu ích để chuyển hướng lưu lượng mạng từ 1 địa chỉ IP - Port này sang 1 địa chỉ IP - Port khác. Với Port Forwarding chúng ta có thể truy cập một EC2 instance nằm trong private subnet từ máy trạm của chúng ta.

Chúng ta sẽ cấu hình Port Forwarding cho kết nối RDP giữa máy của mình với Private Windows Instance nằm trong private subnet mà chúng ta đã tạo cho bài thực hành này.

port-fwd

Tạo IAM User có quyền kết nối SSM

  1. Truy cập vào giao diện quản trị dịch vụ IAM

    • Click Users , sau đó click Add users. FWD
  2. Tại trang Create user.

    • Tại mục User name, điền Portfwd.
    • Click Next. FWD
  3. Tại trang Set permission

    • Chọn Attach policies directly
    • Tại thanh tìm kiếm, nhập ssm.
    • Click AmazonSSMFullAccess.
    • Click Next, click Next: Reviews.
    • Click Create user. FWD
  4. Tạo access key cho Portfwd user

    • Click Create access key FWD
    • Chọn Command Line Interface(CLI)
    • Check box confirmation
    • Click Next FWD
    • Click Download.csv file FWD Lưu lại thông tin Access key IDSecret access key để thực hiện cấu hình AWS CLI.

Cài đặt và cấu hình AWS CLI và Session Manager Plugin

Để thực hiện phần thực hành này, đảm bảo máy trạm của bạn đã cài AWS CLISession Manager Plugin

Bạn có thể tham khảo thêm bài thực hành về cài đặt và cấu hình AWS CLI tại đây.

Với Windows thì khi giải nén thư mục cài đặt Session Manager Plugin bạn hãy chạy file install.bat với quyền Administrator để thực hiện cài đặt.

Thực hiện Portforwarding

  1. Chạy command dưới đây trong Command Prompt trên máy của bạn để cấu hình Port Forwarding.
      aws ssm start-session --target (your ID windows instance) --document-name AWS-StartPortForwardingSession --parameters portNumber="3389",localPortNumber="9999" --region (your region) 
    

Thông tin Instance ID của Windows Private Instance có thể tìm được khi bạn xem chi tiết máy chủ EC2 Windows Private Instance.

  • Câu lệnh ví dụ

    C:\Windows\system32>aws ssm start-session --target i-06343d7377486760c --document-name AWS-StartPortForwardingSession --parameters portNumber="3389",localPortNumber="9999" --region ap-southeast-1
    

Nếu câu lệnh của bạn báo lỗi như dưới đây :
SessionManagerPlugin is not found. Please refer to SessionManager Documentation here: http://docs.aws.amazon.com/console/systems-manager/session-manager-plugin-not-found
Chứng tỏ bạn chưa cài Session Manager Plugin thành công. Bạn có thể cần khởi chạy lại Command Prompt sau khi cài Session Manager Plugin.

  1. Kết nối tới Private Windows Instance bạn đã tạo bằng công cụ Remote Desktop trên máy trạm của bạn.

    • Tại mục Computer: điền localhost:9999. FWD
  2. Quay trở lại giao diện quản trị của dịch vụ System Manager - Session Manager.

    • Click tab Session history.
    • Chúng ta sẽ thấy các session logs với tên Document là AWS-StartPortForwardingSession. FWD

Chúc mừng bạn đã hoàn tất bài thực hành hướng dẫn cách sử dụng Session Manager để kết nối cũng như lưu trữ các session logs trong S3 bucket. Hãy nhớ thực hiện bước dọn dẹp tài nguyên để tránh sinh chi phí ngoài ý muốn nhé.