VPC Endpoints
VPC Endpoint ช่วยให้ Instance ใน VPC สามารถเชื่อมต่อกับ AWS Services ผ่าน Private Network ของ AWS โดยไม่ต้องออก Internet ช่วยเพิ่มความปลอดภัยและลดค่าใช้จ่าย Data Transfer
ทำไมต้องใช้ VPC Endpoints
- ปกติ AWS Services เช่น S3, DynamoDB, CloudWatch จะเข้าถึงผ่าน Public Internet
- หาก EC2 อยู่ใน Private Subnet จะต้องผ่าน NAT Gateway ก่อนถึง Public Internet ซึ่งมีค่าใช้จ่ายสูง
- VPC Endpoint ช่วยให้เข้าถึงบริการเหล่านี้ผ่าน AWS Private Network โดยตรง
- ประหยัดค่า Data Transfer และ เพิ่มความปลอดภัย
ประเภทของ VPC Endpoints
1. Gateway Endpoints (ฟรี)
- รองรับเฉพาะ Amazon S3 และ Amazon DynamoDB
- ไม่มีค่าใช้จ่าย สำหรับ endpoint
- ทำงานโดยเพิ่ม Route ใน Route Table ที่ชี้ไปยัง Gateway Endpoint
- ไม่ใช้ ENI (Elastic Network Interface)
- ต้องกำหนดใน Route Table ของ Subnet ที่ต้องการใช้
- แนะนำให้ใช้ Gateway Endpoint สำหรับ S3 เสมอ เพื่อประหยัดค่าใช้จ่ายเมื่อเทียบกับการใช้ NAT Gateway
2. Interface Endpoints (PrivateLink)
- รองรับ AWS Services ส่วนใหญ่ (เช่น CloudWatch, SNS, SQS, KMS, SSM และอื่น ๆ)
- ใช้ ENI (Elastic Network Interface) ที่สร้างขึ้นใน Subnet ของคุณ
- มี Private IP Address จาก Subnet CIDR
- มีค่าใช้จ่าย ทั้ง hourly และ data processing
- รองรับ Security Group เพื่อควบคุม traffic
- สามารถเข้าถึงได้จาก On-premises ผ่าน VPN หรือ Direct Connect
- รองรับ AWS PrivateLink สำหรับเชื่อมต่อกับบริการของ third-party หรือบริการที่สร้างเอง
เปรียบเทียบ Gateway vs Interface Endpoints
| คุณสมบัติ | Gateway Endpoint | Interface Endpoint |
|---|---|---|
| บริการที่รองรับ | S3, DynamoDB | AWS Services ส่วนใหญ่ |
| ค่าใช้จ่าย | ฟรี | มีค่า hourly + data |
| การทำงาน | Route Table entry | ENI ใน Subnet |
| Security Group | ไม่รองรับ | รองรับ |
| On-premises Access | ไม่ได้ | ได้ (ผ่าน VPN/DX) |
| Cross-Region | ไม่ได้ | ไม่ได้ |
AWS PrivateLink
- ใช้สำหรับเชื่อมต่อ VPC ของคุณกับบริการที่อยู่ใน VPC อื่น (เช่น SaaS provider)
- ฝั่งผู้ให้บริการสร้าง Network Load Balancer และเปิดเป็น Endpoint Service
- ฝั่งผู้ใช้บริการสร้าง Interface Endpoint เพื่อเชื่อมต่อ
- Traffic ไม่ผ่าน Public Internet ทั้งหมดอยู่ใน AWS Network
- ไม่ต้องใช้ VPC Peering, Internet Gateway หรือ NAT
Cost Optimization Tips
- ใช้ Gateway Endpoint (ฟรี) แทน NAT Gateway ($0.045/hr + $0.045/GB) สำหรับการเข้าถึง S3 จาก Private Subnet
- สำหรับ DynamoDB ก็เช่นเดียวกัน ควรใช้ Gateway Endpoint
- Interface Endpoint มีค่าใช้จ่าย แต่ยังถูกกว่าการส่ง traffic ผ่าน NAT Gateway ในหลายกรณี