Bỏ qua

09.lab2 publicSubnet BastionHost

🛠️ DEMO: Launch Bastion Host vào Public Subnet + Clean-up VPC (Step-by-step cực chi tiết)


🎯 Mục tiêu

  • Thực hành launch EC2 Bastion Host vào web subnet đã public.
  • Test kết nối từ ngoài Internet vào VPC qua Bastion.
  • Hướng dẫn dọn sạch (clean-up) infrastructure về trạng thái ban đầu (không mất phí).

Phần 1: Launch EC2 Bastion Host vào Web Subnet

1.1. Vào EC2 Console

  • AWS Console → Services → EC2

1.2. Launch Instance

  • Click Launch instance
  • Name: A4L-Bastion
  • AMI: Chọn Amazon Linux (latest, Free Tier Eligible)
  • Architecture: 64-bit (x86)
  • Instance type: t2.micro hoặc t3.micro (Free Tier eligible)

1.3. Key Pair

  • Chọn: Key pair có tên A4L (nếu đã tạo)
  • Nếu chưa có, click Create new key pair:
    • Name: A4L
    • Type: RSA
    • Format: .pem
    • Download file này về máy (rất quan trọng!)

1.4. Network settings

  • VPC: Chọn A4L-VPC1
  • Subnet: Chọn SN-EN-web-A (hoặc tên subnet web-A của bạn)
  • Auto-assign public IP: Enabled
  • Auto-assign IPv6 IP: Enabled (nếu có)

1.5. Security Group

  • Chọn Create security group
    • Name: A4L-bastion-SG
    • Description: A4L bastion SG
    • Rule: SSH (port 22)
      • Source: 0.0.0.0/0::/0 (chấp nhận từ mọi IP – chỉ dùng khi học, production cần giới hạn IP)
  • Các setting còn lại: Giữ mặc định

1.6. Launch!

  • Click Launch instance
  • Vào Instances → kiểm tra instance đang khởi tạo (initializing).
    Đợi trạng thái chuyển sang 2/2 status checks.

Phần 2: Kết nối SSH vào Bastion Host

2.1. Kiểm tra thông tin

  • Chọn instance vừa launch
  • Lấy Public IPv4 address (dùng để SSH)
  • Lấy Private IPv4 address (dùng cho kiểm tra nội bộ)

2.2. Kết nối SSH (Tùy chọn 1: EC2 Instance Connect)

  • Chọn instance → ConnectEC2 Instance Connect
  • Username: ec2-user
  • Click Connect (sẽ mở web SSH terminal)

2.3. Kết nối SSH (Tùy chọn 2: Local SSH Client)

  • Đảm bảo file key pair .pem trong thư mục (VD: ~/Downloads)
  • Lệnh SSH mẫu:
    chmod 400 A4L.pem  # Sửa permission cho key (Linux/Mac)
    ssh -i A4L.pem ec2-user@<Public-IP-v4-address>
    
  • Nếu lần đầu, nhập yes khi được hỏi xác nhận fingerprint.

Tip: Nếu lỗi “WARNING: UNPROTECTED PRIVATE KEY FILE!”, dùng chmod 400 sửa lại quyền file key.


Phần 3: Clean-up (Xóa Bastion Host và toàn bộ VPC khi không dùng nữa)

3.1. Xóa Bastion Host

  • EC2 Console → Chọn A4L-Bastion
  • Right click → Instance StateTerminate instance
  • Confirm → Đợi trạng thái thành terminated

3.2. Xóa toàn bộ VPC (và các tài nguyên liên quan)

  • VPC Console → Your VPCs → Chọn A4L-VPC1
  • Actions → Delete VPC
  • delete để xác nhận → Click Delete

Khi xóa VPC: AWS tự động xóa luôn IGW, subnet, route table… liên quan, cực nhanh và sạch.


📚 Kinh nghiệm thực tế & ghi nhớ khi đi làm/thi

  • Bastion host chỉ nên dùng cho lab hoặc tạm thời – production nên dùng SSM Session Manager, EC2 Instance Connect.
  • Sau mỗi bài thực hành, nên xóa (clean-up) để tránh phát sinh phí vô ý!
  • Khi gặp lỗi SSH: kiểm tra đúng public IP, đúng username (ec2-user), đúng permission file key.

✅ Tóm tắt các bước đã thực hiện

  1. Launch EC2 Bastion Host vào public subnet
  2. Kết nối SSH từ Internet vào instance
  3. Thực hành dọn sạch (terminate + delete VPC)

Sau bài này, bạn đã thực sự làm chủ quy trình tạo public subnet, kiểm tra kết nối, clean-up AWS lab cực kỳ bài bản. Chuẩn bị cho các bài networking nâng cao tiếp theo! 🚀

Bình luận