AWS Systems Manager Session Manager
Truy cập Shell An toàn với AWS Systems Manager Session Manager
ℹ️ Session Manager là gì?
AWS Systems Manager Session Manager cung cấp khả năng truy cập shell tương tác an toàn, có thể kiểm toán, dựa trên trình duyệt đến các EC2 instances mà không cần SSH keys, bastion hosts, hoặc mở các cổng inbound trong security groups.
Lợi ích của Session Manager
🔒 Bảo mật Nâng cao:
- Không cần quản lý hoặc xoay vòng SSH keys
- Không cần mở các cổng inbound
- Tất cả sessions được ghi log và có thể kiểm toán
- Kiểm soát truy cập dựa trên IAM
💰 Tối ưu Chi phí:
- Loại bỏ nhu cầu bastion hosts
- Giảm chi phí truyền dữ liệu NAT Gateway
- Không cần hạ tầng bổ sung
⚡ Xuất sắc Vận hành:
- Quản lý truy cập tập trung
- Khả năng ghi lại session
- Tích hợp với CloudTrail để tuân thủ
Điều kiện tiên quyết cho Session Manager
-
IAM Role cho EC2 Instances:
- Điều hướng đến console IAM
- Chọn Roles từ menu bên trái
- Nhấp Create role
-
Cấu hình IAM role:
- Trusted entity type: Chọn AWS service
- Service: Chọn EC2
- Nhấp Next
-
Gắn policy cần thiết:
- Tìm kiếm và chọn AmazonSSMManagedInstanceCore
- Policy này cung cấp quyền tối thiểu cần thiết cho Session Manager
- Nhấp Next
-
Đặt tên và tạo role:
- Role name: Nhập
EC2-SessionManager-Role
- Description: Nhập
IAM role for EC2 instances to use Session Manager
- Nhấp Create role
Gắn IAM Role vào EC2 Instances
-
Gắn role vào EC2 instances của bạn:
- Điều hướng đến console EC2
- Chọn Instances
- Chọn instance EC2 Public của bạn
- Nhấp Actions > Security > Modify IAM role
-
Gán IAM role:
- IAM role: Chọn EC2-SessionManager-Role
- Nhấp Update IAM role
-
Lặp lại quy trình cho instance EC2 Private:
- Chọn instance EC2 Private
- Actions > Security > Modify IAM role
- Chọn EC2-SessionManager-Role
- Nhấp Update IAM role
Tạo VPC Endpoints cho Session Manager
-
Tạo VPC Endpoints cho truy cập private subnet:
- Điều hướng đến console VPC
- Chọn Endpoints từ menu bên trái
- Nhấp Create endpoint
-
Cấu hình SSM endpoint:
- Name tag: Nhập
SSM-Endpoint
- Service category: Chọn AWS services
- Service name: Tìm kiếm và chọn com.amazonaws.ap-southeast-1.ssm
- VPC: Chọn VPC ASG của bạn
- Subnets: Chọn Private Subnet 1 và Private Subnet 2
- Security groups: Chọn VPC-Endpoints-SG
- Policy: Chọn Full access (cho workshop này)
-
Cấu hình các endpoints bổ sung cần thiết:
- Tạo endpoint SSM Messages: com.amazonaws.ap-southeast-1.ssmmessages
- Tạo endpoint EC2 Messages: com.amazonaws.ap-southeast-1.ec2messages
- Cho mỗi endpoint, sử dụng cấu hình tương tự:
- VPC: Chọn VPC ASG của bạn
- Subnets: Chọn Private Subnet 1 và Private Subnet 2
- Security groups: Chọn VPC-Endpoints-SG
- Policy: Chọn Full access
Sử dụng Session Manager
-
Truy cập instances qua Session Manager:
- Điều hướng đến console Systems Manager
- Chọn Session Manager từ menu bên trái
- Nhấp Start session
-
Chọn target instance:
- Chọn instance EC2 Public hoặc EC2 Private của bạn
- Nhấp Start session
-
Session shell tương tác:
- Bây giờ bạn có một session shell an toàn mà không cần SSH keys
- Tất cả các lệnh được ghi log và có thể kiểm toán
Cập nhật Security Group
💡 Tối ưu Security Group
Với Session Manager đã được cấu hình, bây giờ bạn có thể loại bỏ các quy tắc SSH khỏi security groups:
Trước (Cần SSH):
Type: SSH (22)
Source: My IP / Security Group reference
Sau (Session Manager):
Không cần quy tắc inbound cho shell access
Outbound HTTPS (443) đến VPC endpoints
🔒 Lợi ích Bảo mật Production:
- Zero Trust Access: Không cần truy cập cấp độ mạng
- Audit Trail: Tất cả sessions được ghi vào CloudTrail
- Quyền Chi tiết: IAM policies kiểm soát truy cập
- Ghi lại Session: Ghi lại session tùy chọn để tuân thủ
💰 Lợi ích Chi phí:
- Không Bastion Hosts: Loại bỏ chi phí EC2 cho jump boxes
- Giảm Data Transfer: Truy cập trực tiếp giảm sử dụng NAT Gateway
- Không Quản lý SSH Key: Giảm overhead vận hành
⚡ Lợi ích Vận hành:
- Dựa trên Trình duyệt: Không cần phần mềm SSH client
- Đa nền tảng: Hoạt động trên bất kỳ thiết bị nào có web browser
- Quản lý Tập trung: Console duy nhất cho tất cả truy cập
- Sẵn sàng Tích hợp: Hoạt động với các IAM policies và roles hiện có