Skip to main content

Amazon VPC - Advanced

Phần này sẽ đi sâu vào các khái niệm và cấu hình nâng cao của Amazon VPC, bao gồm các tùy chọn kết nối phức tạp, kiến trúc mạng enterprise, và các best practices để xây dựng hạ tầng mạng có tính mở rộng cao.

📋 Kiến thức cần có:

  • Hiểu biết cơ bản về VPC, Subnets

  • Kiến thức về networking concepts (NAT, Internet Gateway)

🎯 Mục tiêu học tập:

  • Hiểu và cấu hình các tùy chọn kết nối khác nhau

  • Áp dụng best practices cho security và cost optimization

  • Xây dựng giải pháp hybrid cloud và multi-environment

Lưu ý

Nội dung được thiết kế cho những người đã có kiến thức cơ bản về VPC và muốn tìm hiểu về các giải pháp mạng enterprise-grade.

🌐 1. Connectivity Options

AWS cung cấp nhiều cách để kết nối VPC với nhau và với hệ thống bên ngoài:

1.1. VPC Peering

🔧 Nguyên lý hoạt động:

VPC Peering tạo ra một kết nối mạng 1-1 giữa hai VPC, cho phép traffic định tuyến giữa chúng như thể chúng nằm trong cùng một mạng. Kết nối này:

  • Sử dụng cơ sở hạ tầng AWS backbone network
  • Không đi qua internet public
  • Encryption tự động cho traffic
  • Hỗ trợ kết nối cross-region và cross-account

🎯 Use Cases:

  1. Multi-tier Application: Kết nối VPC chứa web tier với VPC chứa database tier
  2. Development/Testing: Kết nối VPC production với VPC staging để test
  3. Shared Services: Kết nối các VPC với VPC chứa shared services (DNS, monitoring)
  4. Cross-Region Backup: Kết nối VPC chính với VPC backup ở region khác
  5. Partner Integration: Kết nối VPC của công ty với VPC của partner (cross-account)
  6. Microservices: Kết nối các VPC chứa các microservices khác nhau

⚠️ Giới hạn:

  1. Không có tính bắc cầu: VPC A → VPC B → VPC C, nhưng VPC A không thể kết nối trực tiếp với VPC C
  2. CIDR không được overlap: Các VPC được peering không được có CIDR block trùng lặp
  3. Giới hạn số lượng: Tối đa 125 peering connections per VPC
  4. DNS Resolution: Cần enable DNS resolution và DNS hostnames cho cross-VPC DNS

💰 Chi phí VPC Peering:

  • Same AZ: $0.01 per GB
  • Cross AZ: $0.01 per GB
  • Cross Region: $0.02 per GB

📚 Tài liệu tham khảo:

1.2. Transit Gateway

🔧 Nguyên lý hoạt động:

Transit Gateway hoạt động như một cloud router trung tâm, cho phép kết nối nhiều VPC, VPN và Direct Connect thông qua một hub duy nhất:

  • Hub-and-spoke model: Tất cả kết nối đều thông qua Transit Gateway
  • Route Tables: Kiểm soát traffic flow giữa các attachments
  • Propagation: Tự động học và propagate routes từ các attachments
  • Association: Mỗi attachment được associate với một route table
  • Cross-AZ: Tự động replicate across multiple AZs để high availability
  • BGP Support: Hỗ trợ BGP routing với on-premises networks

🎯 Use Cases:

  1. Large-scale VPC Connectivity: Kết nối hàng trăm VPC trong một organization
  2. Hybrid Cloud Architecture: Kết nối AWS với multiple on-premises data centers
  3. Network Segmentation: Tách biệt traffic giữa production, development, và shared services
  4. Multi-Region Connectivity: Kết nối VPCs across multiple AWS regions
  5. Centralized Internet Gateway: Shared internet access cho multiple VPCs
  6. Network Monitoring: Centralized monitoring và logging cho all network traffic
  7. Disaster Recovery: Simplified DR setup với centralized connectivity
  8. Partner Networks: Kết nối với partner networks qua VPN connections

⚠️ Giới hạn:

  1. Regional Resource: Chỉ hoạt động trong 1 region, cần peering cho cross-region
  2. Attachment Limits: Tối đa 5,000 attachments per Transit Gateway
  3. Propagation Delay: Route propagation có thể mất vài phút
  4. No Edge-to-Edge Routing: Không thể route từ VPN connection này sang VPN connection khác
  5. Security Group References: Không thể reference security groups across Transit Gateway
  6. Cost: Chi phí hơn VPC Peering cho simple point-to-point connections

💰 Chi phí Transit Gateway:

  • Attachment: $0.05 per hour per attachment
  • Data Processing: $0.02 per GB
  • Cross Region: Additional $0.02 per GB

📊 So sánh với VPC Peering:

Tính năngTransit GatewayVPC Peering
Scalability⭐⭐⭐⭐⭐⭐⭐⭐
Management⭐⭐⭐⭐⭐⭐⭐
Cost⭐⭐⭐⭐⭐⭐
Performance⭐⭐⭐⭐⭐⭐⭐⭐⭐
Complexity⭐⭐⭐⭐⭐⭐⭐⭐

📚 Tài liệu tham khảo:

1.3. VPN Site-to-Site

🔧 Nguyên lý hoạt động:

VPN Site-to-Site tạo ra kết nối mã hóa IPSec giữa mạng on-premises và AWS VPC thông qua internet:

  • Customer Gateway (CGW): Thiết bị VPN hoặc software ở phía on-premises
  • Virtual Private Gateway (VGW) hoặc Transit Gateway: AWS endpoint cho VPN connection
  • IPSec Tunnels: 2 tunnels redundant cho high availability
  • BGP Routing: Dynamic routing protocol để exchange routes
  • Static Routing: Alternative cho environments không hỗ trợ BGP
  • Encryption: AES-256 encryption với SHA-256 authentication

🎯 Use Cases:

  1. Kiến trúc Hybrid Cloud: Mở rộng data center on-premises lên AWS cloud
  2. Backup & Disaster Recovery: Backup dữ liệu on-premises lên AWS S3/EBS
  3. Cloud Migration: Di chuyển ứng dụng từ on-premises lên AWS từng bước
  4. Kết nối văn phòng từ xa: Kết nối các văn phòng từ xa với tài nguyên AWS
  5. Phát triển/Kiểm thử: Truy cập môi trường phát triển AWS từ on-premises
  6. Yêu cầu tuân thủ: Giữ dữ liệu on-premises đồng thời tận dụng dịch vụ AWS
  7. Sao chép cơ sở dữ liệu: Sao chép real-time giữa database on-premises và AWS
  8. Burst Computing: Mở rộng workload lên AWS khi on-premises không đủ capacity

⚠️ Giói hạn:

  1. Internet Dependency: Phụ thuộc vào internet connection quality và stability
  2. Latency: Higher latency so với Direct Connect (20-100ms typical)
  3. Single Point of Failure: Customer Gateway có thể là single point of failure
  4. NAT Traversal: Có thể gặp issues với NAT devices
  5. Security: Traffic đi qua public internet (dù đã mã hóa)
  6. Cost: Bị tính phí data transfer cho traffic qua VPN
  7. Setup Complexity: Cần kiến thức chuyên môn vê network để cấu hình hoàn chỉnh

💰 Chi phí VPN:

  • VPN Connection: $0.05 per hour
  • Data Transfer: Standard data transfer rates
  • Redundancy: Recommended 2 tunnels per connection

📚 Tài liệu tham khảo:

1.4. Direct Connect

🔧 Nguyên lý hoạt động:

Direct Connect tạo kết nối mạng vật lý dedicate giữa on-premises infrastructure và AWS, bỏ qua internet public:

  • Dedicated Connection: Kết nối vật lý trực tiếp từ customer đến AWS DX location
  • Hosted Connection: Kết nối thông qua AWS Partner (ISP/Telco)
  • Virtual Interfaces (VIFs):
    • Private VIF: Kết nối đến VPC thông qua Virtual Private Gateway
    • Public VIF: Kết nối đến AWS public services (S3, DynamoDB)
    • Transit VIF: Kết nối đến Transit Gateway
  • BGP Routing: Dynamic routing protocol để advertise routes
  • VLAN Tagging: 802.1Q VLAN để phân chia traffic
  • Cross Connect: Physical cable connection tại Co-location facility

💡 Lưu ý về Co-location Facility:

Co-location facility trong AWS Direct Connect là một trung tâm dữ liệu của bên thứ ba (third-party data center), nơi AWS có thiết bị mạng và khách hàng có thể đặt thiết bị của mình để kết nối trực tiếp với AWS

🎯 Use Cases:

  1. Kiến trúc Hybrid Cloud quy mô lớn: Kết nối data center chính với AWS với bandwidth cao
  2. Backup và Archive: Transfer dữ liệu lớn lên S3 Glacier với cost hiệu quả
  3. Big Data và Analytics: Transfer datasets lớn cho data processing trên AWS
  4. Database Migration: Di chuyển database lớn với minimal downtime
  5. Real-time Data Replication: Sync dữ liệu real-time giữa on-premises và AWS
  6. Compliance và Regulatory: Đáp ứng yêu cầu về private connectivity
  7. Disaster Recovery: Bandwidth cao cho DR scenarios và failover
  8. Video và Media Processing: Upload/download video files với bandwidth lớn
  9. Financial Services: Low-latency trading applications và real-time data feeds

⚠️ Giới hạn:

  1. Setup Time: 2-4 tuần để provision (có thể lên đến 90 ngày)
  2. Geographic Limitation: Chỉ available tại specific DX locations
  3. High Initial Cost: Setup fee và monthly port charges cao
  4. Minimum Commitment: Thường yêu cầu contract dài hạn (12-36 tháng)
  5. Bandwidth Scaling: Không thể scale bandwidth tức thì, cần planning trước
  6. Regional Limitation: Chỉ kết nối đến 1 AWS region (cần multiple connections cho multi-region)
  7. Maintenance Windows: Scheduled maintenance có thể ảnh hưởng connectivity
  8. Limited Redundancy: Cần setup multiple connections cho high availability

⚡ Bandwidth Options:

  • Dedicated: 1 Gbps, 10 Gbps, 100 Gbps
  • Hosted: 50 Mbps - 10 Gbps

💰 Chi phí Direct Connect:

  • Port Hours: $0.30 - $2.25 per hour (tùy bandwidth)
  • Data Transfer Out: $0.02 - $0.15 per GB (tùy location)
  • Cross Connect: $0.30 per hour

📊 So sánh với VPN Site-to-Site:

Tính năngSite-to-Site VPNDirect Connect
Setup Time⭐⭐⭐⭐⭐⭐⭐
Cost⭐⭐⭐⭐⭐⭐
Bandwidth⭐⭐⭐⭐⭐⭐⭐
Latency⭐⭐⭐⭐⭐⭐⭐
Security⭐⭐⭐⭐⭐⭐⭐⭐⭐
Reliability⭐⭐⭐⭐⭐⭐⭐

📚 Tài liệu tham khảo:

🌊 2. VPC Flow Logs

VPC Flow Logs là một tính năng quan trọng cho việc giám sát và phân tích network traffic trong VPC của bạn. Nó cung cấp thông tin chi tiết về IP traffic đi đến và đi từ network interfaces trong VPC.

🔧 2.1. Nguyên lý hoạt động

VPC Flow Logs capture thông tin về IP traffic flows với các thành phần chính:

  • Network Interface Level: Capture traffic tại từng ENI (Elastic Network Interface)
  • Subnet Level: Capture traffic cho tất cả ENIs trong subnet
  • VPC Level: Capture traffic cho toàn bộ VPC
  • Real-time Processing: Gửi logs đến CloudWatch Logs hoặc S3 trong thời gian thực
  • Flexible Filtering: Có thể filter theo ACCEPT, REJECT, hoặc ALL traffic
  • Custom Format: Tùy chỉnh các fields cần capture

🎯 2.2. Use Cases

  1. Security Analysis: Phát hiện traffic bất thường và potential attacks
  2. Network Troubleshooting: Chẩn đoán connectivity issues
  3. Compliance Monitoring: Đáp ứng requirements về network monitoring
  4. Cost Optimization: Phân tích data transfer patterns
  5. Performance Analysis: Identify network bottlenecks
  6. Forensic Investigation: Thu thập evidence cho security incidents
  7. Traffic Analytics: Hiểu usage patterns và optimize architecture

⚙️ 2.3. Configuration Options

Traffic Type:

  • ALL: Capture tất cả traffic (recommended)

  • ACCEPT: Chỉ capture allowed traffic

  • REJECT: Chỉ capture rejected traffic

Log Format:

  • AWS Default: Định nghĩa sẵn các trường cần thiết

  • Custom: Chỉ định sẵn các trường mà người dùng cần sử dụng trong quá trình monitor

Destinations:

DestinationUse CaseCostLatency
CloudWatch LogsReal-time monitoringHigherLow
S3Long-term storageLowerMedium
Kinesis Data FirehoseStream processingMediumLow

🛠️ 2.4. Setup Commands

Enable VPC Flow Logs cho entire VPC:

aws ec2 create-flow-logs \
--resource-type VPC \
--resource-ids vpc-12345678 \
--traffic-type ALL \
--log-destination-type cloud-watch-logs \
--log-group-name VPCFlowLogs \
--deliver-logs-permission-arn arn:aws:iam::123456789012:role/flowlogsRole

Enable cho specific Subnet:

aws ec2 create-flow-logs \
--resource-type Subnet \
--resource-ids subnet-12345678 \
--traffic-type REJECT \
--log-destination-type s3 \
--log-destination arn:aws:s3:::my-vpc-flow-logs/subnet-logs/

Enable với Custom Format:

aws ec2 create-flow-logs \
--resource-type NetworkInterface \
--resource-ids eni-12345678 \
--traffic-type ALL \
--log-destination-type cloud-watch-logs \
--log-group-name CustomFlowLogs \
--log-format '${version} ${srcaddr} ${dstaddr} ${srcport} ${dstport} ${protocol} ${action} ${bytes}'

📚 Tài liệu tham khảo:

📊 3. VPC Case Studies

Khám phá các tình huống thực tế về triển khai VPC trong doanh nghiệp, từ kiến trúc e-commerce đến hybrid cloud integration.

Case Study 1: E-commerce Platform

Yêu cầu kinh doanh:
- Ứng dụng web có tính khả dụng cao
- Lớp cơ sở dữ liệu bảo mật
- Kiến trúc có thể mở rộng
- Yêu cầu tuân thủ quy định

Giải pháp VPC:
CIDR: 10.0.0.0/16
Public Subnets:
- Tầng Web (10.0.1.0/24, 10.0.2.0/24)
- Load balancers trên 2 AZs
Private Subnets:
- Tầng App (10.0.10.0/24, 10.0.11.0/24)
- Tầng Database (10.0.20.0/24, 10.0.21.0/24)

Kết quả:
- Đạt 99.99% uptime
- Không có sự cố bảo mật
- Dễ dàng mở rộng theo chiều ngang

Case Study 2: Multi-Environment Setup

Yêu cầu doanh nghiệp:
- Tách biệt dev, staging, production
- Kết nối giữa các môi trường
- Tối ưu chi phí
- Quản lý tập trung

Kiến trúc VPC:
Production VPC: 10.1.0.0/16
Staging VPC: 10.2.0.0/16
Development VPC: 10.3.0.0/16
Shared Services VPC: 10.0.0.0/16

Transit Gateway Hub:
- Định tuyến tập trung
- Kiểm soát truy cập giữa các VPC
- Quản lý đơn giản

Case Study 3: Hybrid Cloud Integration

Kịch bản: Di chuyển hệ thống Legacy
Yêu cầu:
- Kết nối data center on-premises
- Kênh giao tiếp bảo mật
- Di chuyển cloud từng bước
- Tối ưu hiệu suất mạng

Giải pháp:
Tùy chọn kết nối:
- VPN Gateway: Tunnel IPsec mã hóa
- Direct Connect: Kết nối mạng chuyên dụng
- Transit Gateway: Hub định tuyến tập trung

Thiết kế mạng:
- On-premises: 192.168.0.0/16
- AWS VPC: 10.0.0.0/16
- Không chồng lấn CIDR
- Định tuyến BGP cho cập nhật động

📚 Tài liệu tham khảo:

✅ 4. Best Practices

Áp dụng các best practices để đảm bảo networking infrastructure an toàn, hiệu quả và có khả năng mở rộng trong môi trường AWS production.

🔧 4.1. Nguyên tắc thiết kế

  • Lập kế hoạch CIDR: Sử dụng khối CIDR không chồng lấn (10.0.0.0/16, 172.16.0.0/16)
  • Phân giải DNS: Bật DNS hostnames và DNS resolution để hoạt động đúng cách
  • Triển khai Multi-AZ: Luôn triển khai trên nhiều AZs để có tính khả dụng cao
  • Phân chia Subnet: Tách các tầng với các subnet chuyên dụng
  • Tổ chức Route Table: Sử dụng route table riêng cho từng loại subnet

🔒 4.2. Triển khai bảo mật

Cấu hình Security Groups:

  • Security Group tầng Web: Chỉ cho phép traffic HTTP/HTTPS từ Load Balancer security group
  • Tầng Application: Chỉ chấp nhận traffic từ tầng Web trên các port ứng dụng cụ thể
  • Tầng Database: Giới hạn truy cập đến port cơ sở dữ liệu (3306, 5432, ...) chỉ từ tầng Application
  • Bastion Host: Truy cập SSH từ dải IP cụ thể với xác thực dựa trên key

Network ACLs (NACLs):

  • Public Subnet NACL: Chỉ cho phép HTTP/HTTPS inbound
  • Private Subnet NACL: Từ chối truy cập internet trực tiếp, cho phép giao tiếp nội bộ
  • Database Subnet NACL: Chỉ cho phép traffic cơ sở dữ liệu

Chiến lược bảo mật và kiểm soát truy cập:

  • Triển khai nguyên tắc quyền tối thiểu cho tất cả Security groups
  • Sử dụng tham chiếu Security group thay vì khối CIDR cho giao tiếp nội bộ
  • Kiểm tra Security group định kỳ để loại bỏ quy tắc không sử dụng
  • Bật VPC Flow Logs để giám sát traffic và phân tích bảo mật
  • Sử dụng Bastion host để truy cập bảo mật
  • VPN hoặc Direct Connect cho kết nối On-premises
  • IAM roles cho giao tiếp service-to-service
  • Mã hóa trong quá trình truyền và khi lưu trữ

📊 4.3. Thiết lập giám sát

🎯 Monitoring Strategy:

Network Performance Monitoring:

  • CloudWatch Metrics: NetworkIn/Out, PacketsIn/Out cho EC2 instances

  • NAT Gateway Metrics: ConnectionEstablished, ErrorPortAllocation

  • Load Balancer Metrics: RequestCount, TargetResponseTime, HealthyHostCount

Security & Traffic Monitoring:

  • VPC Flow Logs: Enable cho toàn bộ VPC để monitor traffic patterns (chi tiết ở section 2)

  • GuardDuty: Automated threat detection dựa trên Flow Logs

  • Security Group Analytics: Track rejected connections

Cost & Usage Monitoring:

  • Data Transfer Metrics: Track inter-AZ và inter-region transfers

  • VPC Endpoint Usage: Monitor cost savings từ private connectivity

  • NAT Gateway Cost: Optimize data processing charges

📈 Key Metrics & Alarms:

Đối tượngMetric CategoryMetricThresholdAction
EC2PerformanceNetworkUtilization> 80%Scale resources
Security GroupsSecurityRejectedConnections> 100/5minSecurity alert
NAT GatewayCostDataTransfer> 100GB/dayCost review
ALB/NLBAvailabilityHealthyHosts< 1Emergency alert

📋 Essential Monitoring Checklist:

  • Enable VPC Flow Logs cho production VPCs
  • Configure critical network alarms
  • Setup SNS notifications cho security events
  • Implement automated cost alerts
  • Regular security review từ Flow Logs

📚 Tài liệu tham khảo:

💰 5. Tối ưu chi phí

Đối với từng môi trường sẽ có cách triển khai riêng, giúp tối ưu chi phí cho hệ thống.

Môi trường Development:
- Triển khai single AZ cho workload không quan trọng
- Instance types nhỏ hơn
- Tự động hóa start/stop theo lịch

Môi trường Production:
- Multi-AZ với NAT Gateway để có tính khả dụng cao
- VPC Endpoints cho dịch vụ AWS (S3, DynamoDB)
- Tối ưu hóa data transfer

Giám sát chi phí:
- Cảnh báo billing CloudWatch sử dụng AWS Budgets
- AWS Cost Explorer để phân tích xu hướng
- VPC Flow Logs để phân tích traffic
- Đánh giá và tối ưu chi phí định kỳ

📚 Tài liệu tham khảo:

📈 6. Tối ưu hiệu suất

Để đạt được hiệu suất mạng tối ưu trong AWS, cần áp dụng các chiến lược và best practices phù hợp với workload cụ thể.

  • Triển khai cùng AZ: Giảm thiểu chi phí data transfer giữa các AZ
  • VPC Endpoints: Sử dụng cho S3, DynamoDB, và các dịch vụ AWS khác
  • Giám sát mạng: Sử dụng VPC Flow Logs và CloudWatch metrics
  • Load Balancing: Phân phối traffic trên nhiều AZs

📚 Tài liệu tham khảo:

🔍 7. Checklist khắc phục sự cố

Tùy vào từng trường hợp mà sẽ có các bước để track root cause và khắc phục sự cố

# Instance không thể truy cập internet:
1. Kiểm tra route table: 0.0.0.0/0 -> Internet Gateway
2. Xác minh Security Group outbound rules
3. Xác nhận Network ACL cho phép traffic
4. Đảm bảo đã có public IP

# Database connection timeout:
1. Kiểm tra database Security Group inbound rules
2. Test connectivity: telnet db-endpoint 3306
3. Kiểm tra cài đặt VPC DNS resolution

# Chi phí NAT Gateway cao:
1. Xem xét patterns traffic outbound trong VPC Flow Logs
2. Triển khai VPC Endpoints cho dịch vụ AWS
3. Tối ưu hóa patterns data transfer

# Phân tích VPC Flow Logs:
aws logs start-query \
--log-group-name "/aws/vpc/flowlogs" \
--start-time 1609459200 \
--end-time 1609545600 \
--query-string 'fields @timestamp, srcaddr, dstaddr, action | filter action = "REJECT"'

📚 Tài liệu tham khảo: