Truy cập khi mất Key Pair EC2-Windows bằng SSM

Truy cập EC2 Windows khi mất Key Pair

Windows instance recovery workflow

ℹ️ Information
Key Pair được dùng để mã hóa và giải mã thông tin đăng nhập vào máy chủ ảo EC2. Khi bị mất Key Pair, AWS Systems Manager (SSM) cung cấp giải pháp an toàn để khôi phục quyền truy cập vào EC2 instance mà không cần tạo lại instance.

Điều kiện tiên quyết

⚠️ Warning
Để sử dụng AWS Systems Manager, EC2 instance của bạn cần đáp ứng các yêu cầu sau:

  • EC2 cần có kết nối Internet để giao tiếp với AWS Systems Manager thông qua IP public hoặc NAT Gateway
  • Hoặc EC2 cần được cấu hình với VPC Endpoint cho AWS Systems Manager
  • SSM Agent phải được cài đặt và đang chạy trên instance
  • EC2 instance phải có IAM role với quyền SSM thích hợp

ℹ️ Information
Nhiều AMI của AWS đã được cài đặt sẵn SSM Agent. Bạn có thể tham khảo danh sách đầy đủ tại tài liệu chính thức của AWS.

Tạo và gán IAM Role cho EC2

  1. Truy cập giao diện IAM

    • Chọn Roles
    • Chọn Create role

    Creating a new IAM role

  2. Cấu hình trusted entity

    • Chọn AWS service
    • Chọn EC2
    • Chọn Next

    Configuring trusted entity

  3. Thêm quyền cho role

    • Tìm kiếm AmazonSSMFullAccess
    • Tích chọn AmazonSSMFullAccess
    • Chọn Next

    Attaching SSM permissions

🔒 Security Note
Trong môi trường production, bạn nên tuân theo nguyên tắc đặc quyền tối thiểu và sử dụng policy hạn chế hơn như AmazonSSMManagedInstanceCore thay vì AmazonSSMFullAccess. Tham khảo các policy cần thiết cho runbook tại AWSSupport-RunEC2RescueForWindowsTool

  1. Đặt tên và tạo role

    • Tại mục Role name, nhập: Windows-instance

    Naming and creating the role

    • Kéo xuống cuối trang, chọn Create role

    Naming and creating the role

  2. Gán role cho EC2 instance

    • Quay lại giao diện EC2
    • Chọn Instances
    • Chọn EC2 Windows-instance
    • Chọn ActionsSecurityModify IAM role

    Naming and creating the role

  3. Chọn và cập nhật IAM role

    • Tại mục IAM role, chọn role vừa tạo: Windows-instance
    • Chọn Update IAM role

    Updating the IAM role

Cài đặt module AWSPowerShell

  1. Truy cập vào EC2 Console:

    • Chọn Instances
    • Chọn Windows-instance
    • Nhấn Connect

    Starting a Session Manager session

  2. Chọn tab Session Manager

    • Nhấn Connect

    Starting a Session Manager session

    • Kết nối thành công

    Starting a Session Manager session

  3. Cài đặt module AWSPowerShell

    • Chạy lệnh sau để cài đặt module AWSPowerShell:
    Install-Module -Name AWSPowerShell -Force -AllowClobber -SkipPublisherCheck
    
    • Kiểm tra module đã được cài đặt:
    Get-Module -ListAvailable AWSPowerShell
    

    Starting a Session Manager session

Sử dụng AWS Systems Manager để reset password

  1. Truy cập AWS Systems Manager

    • Chọn Run Command
    • Chọn Run a Command

    Accessing Run Command

  2. Cấu hình lệnh reset password

    • Tìm kiếm: AWSSupport-RunEC2RescueForWindowsTool
    • Chọn AWSSupport-RunEC2RescueForWindowsTool

    Configuring EC2Rescue command

    • Trong phần Target selection, chọn Choose instances manually
    • Chọn EC2 Windows-instance

    Configuring EC2Rescue command

    • Bỏ chọn Enable an S3 bucket
    • Chọn Run

    Configuring EC2Rescue command

💡 Pro Tip
Nếu EC2 instance chưa xuất hiện trong danh sách, hãy đợi khoảng 5 phút để SSM Agent kết nối với AWS Systems Manager. Bạn có thể kiểm tra trạng thái kết nối trong tab Fleet Manager của Systems Manager.

  1. Đợi khoảng 1 phút để quá trình hoàn tất

    • Theo dõi Status chuyển từ In Progress sang Success

    Configuring EC2Rescue command Monitoring command execution

Lấy mật khẩu mới từ Parameter Store

  1. Truy cập Parameter Store

    • Trong giao diện AWS Systems Manager, chọn Parameter Store
    • Trong mục My parameters, tìm và chọn tham số có định dạng /EC2Rescue/Passwords/[instance-id] tương ứng với EC2 instance của bạn

    Accessing Parameter Store

  2. Xem mật khẩu mới

    • Tại mục Value, chọn Show decrypted value để hiển thị mật khẩu mới
  3. Sao chép mật khẩu để chuẩn bị đăng nhập

    Revealing the password

🔒 Security Note
Mật khẩu được lưu trong Parameter Store sẽ tồn tại cho đến khi bạn xóa nó. Để tăng cường bảo mật, hãy xóa tham số này sau khi bạn đã đăng nhập thành công vào instance.

Kết nối đến EC2 Windows instance

  1. Truy cập giao diện EC2

    • Chọn Instances
    • Chọn EC2 Windows-instance
    • Chọn Connect

    Connecting to the instance

  2. Chuẩn bị kết nối RDP

    • Chọn RDP client
    • Chọn Connect using RDP client
    • Chọn Download remote desktop file

    Downloading RDP file

  3. Mở file RDP vừa tải xuống

  4. Đăng nhập với mật khẩu mới

    • Tại màn hình Remote Desktop Connection, dán mật khẩu đã sao chép
    • Chọn OK
    • Chọn Yes khi được hỏi về chứng chỉ bảo mật

    Entering credentials

  5. Xác nhận kết nối thành công

    • Kiểm tra IP public hiển thị trên màn hình Desktop khớp với IP Public của EC2 trên console

    Verifying connection

💡 Pro Tip
Sau khi đăng nhập thành công, bạn nên thay đổi mật khẩu Administrator để tăng cường bảo mật. Bạn có thể làm điều này bằng cách mở Command Prompt và sử dụng lệnh net user Administrator [NewPassword].

Chúc mừng! Bạn đã khôi phục thành công quyền truy cập vào EC2 Windows instance mà không cần Key Pair ban đầu.