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.microhoặct3.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!)
 
- Name: 
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/0và::/0(chấp nhận từ mọi IP – chỉ dùng khi học, production cần giới hạn IP)
 
- Source: 
 
- Name: 
- 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 sang2/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 → Connect→EC2 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 .pemtrong thư mục (VD:~/Downloads)
- Lệnh SSH mẫu:
- Nếu lần đầu, nhập yeskhi được hỏi xác nhận fingerprint.
Tip: Nếu lỗi “WARNING: UNPROTECTED PRIVATE KEY FILE!”, dùng
chmod 400sử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 State→Terminate 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ọnA4L-VPC1
- Actions → Delete VPC
- Gõ deleteđể xác nhận → ClickDelete
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¶
- Launch EC2 Bastion Host vào public subnet
- Kết nối SSH từ Internet vào instance
- 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! 🚀