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ặ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/0
và::/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
.pem
trong thư mục (VD:~/Downloads
) - Lệnh SSH mẫu:
- 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 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! 🚀