- Services ต่าง ๆ ของ AWS
- 2. Compute Services
- 3. Container Services
- 4. Storage Services
- 5. Database Services
- 6. Networking & Content Delivery
- 7. Security, Identity & Compliance
- 8. Management, Monitoring & Governance
- 9. Application Integration
- 10. Analytics & Data Engineering
- 11. AI & Machine Learning
- 12. DevOps และ CI/CD
- 13. Infrastructure as Code
- 14. Migration & Transfer
- 15. IoT
- 16. ตัวอย่าง Architecture ยอดนิยม
- 17. เลือก AWS Service อย่างไร
- ต้องการ Server?
- ต้องการรัน Function โดยไม่ดูแล Server?
- ต้องการรัน Container?
- ต้องการ Kubernetes?
- ต้องการ Container แต่ไม่อยากจัดการ Server?
- ต้องการเก็บไฟล์หรือ Object?
- ต้องการ Disk สำหรับ EC2?
- ต้องการ Relational Database?
- ต้องการ NoSQL Key-Value?
- ต้องการ Cache?
- ต้องการ Queue?
- ต้องการ Pub/Sub?
- ต้องการ Event Bus?
- ต้องการ Workflow?
- ต้องการ Data Warehouse?
- ต้องการ Query Data บน S3?
- ต้องการ Generative AI?
- ต้องการสร้างและ Train ML Model?
- 18. AWS Services ที่ควรเรียนก่อน
- 19. Learning Roadmap
- 20. สรุป
#Services ต่าง ๆ ของ AWS
Amazon Web Services หรือ AWS เป็นแพลตฟอร์ม Cloud Computing ที่มีบริการจำนวนมาก ครอบคลุมตั้งแต่การสร้าง Virtual Machine, Serverless, Container, Storage, Database, Network, Security, DevOps, Data Analytics ไปจนถึง Generative AI
การเรียน AWS ไม่จำเป็นต้องจำทุก Service แต่ควรเข้าใจก่อนว่า แต่ละ Service อยู่ในหมวดใด และถูกออกแบบมาแก้ปัญหาอะไร
แนวคิดสำคัญคือ
เลือก Service ตามลักษณะของ Workload ไม่ใช่เลือกเพราะเป็น Service ที่นิยม
#1. ภาพรวมหมวดบริการของ AWS
หมวดที่ควรรู้สำหรับนักพัฒนา Software Engineer, DevOps Engineer, Data Engineer และ AI Engineer ได้แก่
| หมวด | ตัวอย่าง Service | ใช้สำหรับ |
|---|---|---|
| Compute | EC2, Lambda, Elastic Beanstalk | ประมวลผลและรัน Application |
| Containers | ECS, EKS, Fargate, ECR | รัน Container และ Kubernetes |
| Storage | S3, EBS, EFS, FSx | จัดเก็บ Object, Block และ File |
| Database | RDS, Aurora, DynamoDB, ElastiCache | ฐานข้อมูลและ Cache |
| Networking | VPC, Route 53, CloudFront, ELB | Network, DNS, CDN และ Load Balancing |
| Security | IAM, Cognito, KMS, WAF, Shield | Identity, Encryption และ Security |
| Application Integration | SQS, SNS, EventBridge, Step Functions | เชื่อมระบบและสร้าง Event-driven Architecture |
| API | API Gateway, AppSync | สร้างและจัดการ API |
| Analytics | Athena, Glue, EMR, Redshift, Kinesis | Data Analytics และ Data Engineering |
| AI/ML | Bedrock, SageMaker AI, Rekognition, Textract | Generative AI และ Machine Learning |
| DevOps | CodeBuild, CodePipeline, CodeDeploy | CI/CD |
| Management | CloudWatch, CloudTrail, Config, Systems Manager | Monitoring และ Operations |
| Infrastructure as Code | CloudFormation, CDK, SAM | สร้าง Infrastructure ด้วย Code |
| Migration | DMS, DataSync, Migration Hub | ย้ายระบบและข้อมูลขึ้น AWS |
| IoT | AWS IoT Core | เชื่อมต่ออุปกรณ์ IoT |
#2. Compute Services
Compute คือบริการที่ใช้ ประมวลผลและรัน Application
#Amazon EC2
Amazon Elastic Compute Cloud (EC2) คือ Virtual Machine บน AWS
เหมาะกับงานที่ต้องการควบคุม Operating System และ Runtime เอง เช่น
- Web Server
- Application Server
- Backend API
- Database Server
- Jenkins Server
- Docker Host
- Kubernetes Node
ตัวอย่าง Architecture
Internet
|
Route 53
|
Load Balancer
|
EC2 Auto Scaling Group
|
Application
EC2 เหมาะเมื่อเราต้องการควบคุม Server ค่อนข้างมาก
#AWS Lambda
Lambda เป็นบริการ Serverless Function
ผู้พัฒนาเขียนเฉพาะ Function โดยไม่ต้องดูแล Server
ตัวอย่าง
Client
|
API Gateway
|
Lambda
|
DynamoDB
เหมาะกับ
- REST API
- Webhook
- Scheduled Job
- Event Processing
- File Processing
- Automation
ตัวอย่าง Use Case
เมื่อมีไฟล์ Upload เข้า S3
Upload File
|
v
Amazon S3
|
v
AWS Lambda
|
v
Process Image
#AWS Elastic Beanstalk
บริการสำหรับ Deploy Application โดย AWS ช่วยจัดการ Infrastructure หลายส่วนให้
รองรับ Runtime เช่น
- Java
- Python
- Node.js
- PHP
- .NET
- Docker
เหมาะกับทีมที่ต้องการ Deploy Web Application โดยไม่ต้องจัดการ Infrastructure ทุกขั้นตอนเอง
#3. Container Services
#Amazon ECR
Elastic Container Registry
ใช้เก็บ Docker Image
ตัวอย่าง
Docker Build
|
v
Amazon ECR
|
v
ECS / EKS
คล้ายกับ
- Docker Hub
- GitHub Container Registry
แต่ทำงานร่วมกับ AWS ได้โดยตรง
#Amazon ECS
Elastic Container Service
เป็น Container Orchestration ของ AWS
เหมาะกับ
- Microservices
- REST API
- Background Worker
- Containerized Application
หากไม่จำเป็นต้องใช้ Kubernetes โดยตรง ECS มักมีความซับซ้อนในการจัดการน้อยกว่า
#Amazon EKS
Elastic Kubernetes Service
เป็น Managed Kubernetes ของ AWS
เหมาะกับองค์กรที่ใช้ Kubernetes Ecosystem เช่น
GitHub
|
CI/CD
|
ECR
|
EKS
|
Pods
เหมาะกับ
- Microservices
- Kubernetes
- Helm
- Argo CD
- GitOps
#AWS Fargate
Fargate คือ Serverless Compute สำหรับ Container
สามารถใช้กับ
- ECS
- EKS
แนวคิดคือ
Container
|
Fargate
|
AWS Managed Compute
เราไม่ต้องสร้างหรือดูแล EC2 Worker Node ด้วยตนเองในรูปแบบการใช้งานที่รองรับ
#4. Storage Services
AWS มี Storage หลายรูปแบบ โดยควรแยกให้ออกว่าเป็น
Object Storage
Block Storage
File Storage
#Amazon S3
Simple Storage Service
เป็น Object Storage
ใช้เก็บ
- Image
- Video
- Document
- Backup
- Log
- Dataset
- Static Website Assets
- Data Lake
ตัวอย่าง
Application
|
v
Amazon S3
S3 เป็นหนึ่งในบริการพื้นฐานที่ควรเรียนเป็นลำดับแรก
#Amazon EBS
Elastic Block Store
เป็น Block Storage ที่มักใช้เป็น Disk ของ EC2
EC2
|
EBS
ตัวอย่าง
EC2 Web Server
Disk = EBS Volume
#Amazon EFS
Elastic File System
เป็น Managed File System ที่หลาย EC2 Instance สามารถใช้งานร่วมกันได้
EC2 ─┐
EC2 ─┼── EFS
EC2 ─┘
เหมาะกับ Shared File Storage
#Amazon FSx
บริการ Managed File System สำหรับ Workload ที่ต้องการ File System เฉพาะทาง เช่น Windows หรือ High-performance workload บางประเภท
#5. Database Services
AWS มีแนวคิด Purpose-built Database
คือเลือก Database ให้เหมาะกับรูปแบบข้อมูลและ Access Pattern
#Amazon RDS
Relational Database Service
รองรับ Database Engine เช่น
- PostgreSQL
- MySQL
- MariaDB
- SQL Server
- Oracle
ตัวอย่าง
Laravel API
|
v
Amazon RDS PostgreSQL
AWS ช่วยจัดการงานหลายอย่าง เช่น
- Backup
- Patching
- Monitoring
- High Availability
#Amazon Aurora
Relational Database ที่ AWS พัฒนาขึ้น
รองรับความเข้ากันได้กับ
- MySQL
- PostgreSQL
เหมาะกับระบบที่ต้องการ Relational Database บน AWS พร้อมความสามารถด้าน Availability และ Scaling ที่ออกแบบมาสำหรับ Cloud
#Amazon DynamoDB
NoSQL Database แบบ Key-Value / Document
เหมาะกับ
- Serverless Application
- IoT
- Gaming
- Session
- High-scale API
ตัวอย่าง
API Gateway
|
Lambda
|
DynamoDB
เป็น Architecture ที่พบได้บ่อยใน Serverless Application
#Amazon ElastiCache
Managed Cache
ใช้ Engine เช่น Redis OSS/Valkey หรือ Memcached ตามตัวเลือกที่รองรับ
เหมาะกับ
Application
|
Cache
|
Database
ช่วยลดการ Query Database ซ้ำ ๆ
#Amazon DocumentDB
Document Database ที่รองรับ MongoDB compatibility สำหรับหลายกรณีการใช้งาน
เหมาะกับข้อมูลแบบ Document
{
"name": "Alice",
"skills": ["Java", "AWS", "Docker"]
}
#Amazon Neptune
Graph Database
เหมาะกับ
- Social Network
- Recommendation
- Fraud Detection
- Knowledge Graph
#6. Networking & Content Delivery
#Amazon VPC
Virtual Private Cloud
ใช้สร้าง Network ภายใน AWS
องค์ประกอบสำคัญ
VPC
├── Public Subnet
│ └── Load Balancer
│
└── Private Subnet
├── Application
└── Database
ควรเรียนเรื่อง
- CIDR
- Subnet
- Route Table
- Internet Gateway
- NAT Gateway
- Security Group
- Network ACL
#Elastic Load Balancing
ใช้กระจาย Traffic ไปยังหลาย Target
ตัวอย่าง
User
|
Load Balancer
|
+---- EC2
|
+---- EC2
|
+---- EC2
ชนิดสำคัญที่พบได้บ่อย ได้แก่
- Application Load Balancer
- Network Load Balancer
- Gateway Load Balancer
#Amazon Route 53
Managed DNS Service
ตัวอย่าง
www.example.com
|
v
Route 53
|
v
Load Balancer
#Amazon CloudFront
Content Delivery Network หรือ CDN
User
|
CloudFront
|
S3 / Web Server / API
ช่วยให้ผู้ใช้เข้าถึง Content จาก Edge Location ที่เหมาะสม
#Amazon API Gateway
บริการสร้างและบริหาร API
นิยมใช้ร่วมกับ Lambda
Frontend
|
API Gateway
|
Lambda
|
DynamoDB
#7. Security, Identity & Compliance
#AWS IAM
Identity and Access Management
ใช้กำหนด
Who
can do
What
on
Which Resource
แนวคิดสำคัญ
- User
- Role
- Policy
- Permission
ตัวอย่าง Policy
{
"Effect": "Allow",
"Action": "s3:GetObject",
"Resource": "*"
}
แนวทางสำคัญคือ Least Privilege
ให้ Permission เท่าที่จำเป็น
#Amazon Cognito
ใช้จัดการ Authentication สำหรับ Application
ตัวอย่าง
React
|
Cognito Login
|
JWT Token
|
API
เหมาะกับ
- Web Application
- Mobile Application
- SaaS
#AWS KMS
Key Management Service
ใช้จัดการ Encryption Keys
มักใช้ร่วมกับ
- S3
- RDS
- EBS
- Secrets Manager
#AWS Secrets Manager
ใช้เก็บ Secret เช่น
Database Password
API Key
Token
Credential
ไม่ควร Hard-code Secret ไว้ใน Source Code
#AWS WAF
Web Application Firewall
ช่วย Filter HTTP Request
เช่น
- SQL Injection
- Web Attack Patterns
- IP Rules
- Rate-based Rules
#AWS Shield
บริการป้องกัน DDoS ของ AWS
#Amazon GuardDuty
Threat Detection Service สำหรับตรวจจับกิจกรรมที่อาจผิดปกติหรือเป็นภัยคุกคามใน AWS Environment
#8. Management, Monitoring & Governance
#Amazon CloudWatch
ใช้สำหรับ
- Metrics
- Logs
- Alarm
- Dashboard
ตัวอย่าง
EC2
Lambda
ECS
RDS
|
v
CloudWatch
#AWS CloudTrail
ใช้เก็บ Audit Trail ของการเรียก AWS API และกิจกรรมใน Account
ตัวอย่างคำถามที่ CloudTrail ช่วยตอบได้ เช่น
ใครลบ EC2?
ใครแก้ Security Group?
ใครสร้าง IAM Role?
#AWS Config
ใช้ติดตาม Configuration ของ AWS Resource และช่วยประเมิน Compliance ตาม Rule ที่กำหนด
#AWS Systems Manager
ใช้บริหาร Instance และ Operations เช่น
- Run Command
- Parameter Store
- Patch Management
- Session Manager
- Automation
#9. Application Integration
บริการกลุ่มนี้สำคัญมากสำหรับ Microservices และ Event-driven Architecture
#Amazon SQS
Message Queue
Producer
|
SQS Queue
|
Consumer
ช่วยลดการผูกกันโดยตรงระหว่าง Service
#Amazon SNS
Publish / Subscribe Messaging
Application
|
SNS
/ | \
Email SQS Lambda
#Amazon EventBridge
Event Bus
เหมาะกับ Event-driven Architecture
Service A
|
EventBridge
|
+---- Lambda
|
+---- SQS
|
+---- Step Functions
#AWS Step Functions
Workflow Orchestration
ตัวอย่าง
Order
|
Validate
|
Payment
|
Shipping
|
Notification
สามารถ Orchestrate หลาย Service เป็น Workflow ได้
#10. Analytics & Data Engineering
#AWS Glue
Serverless Data Integration / ETL Service
ตัวอย่าง
S3
|
Glue
|
Transform
|
S3 / Redshift
เหมาะกับ Data Pipeline และ Data Catalog
#Amazon Athena
ใช้ Query ข้อมูลบน S3 ด้วย SQL
SELECT *
FROM logs
WHERE status = 500;
เหมาะกับ
- Log Analysis
- Data Lake Query
- Ad-hoc Analytics
#Amazon Redshift
Cloud Data Warehouse
เหมาะกับ
- Business Intelligence
- Data Warehouse
- Analytics
#Amazon EMR
Managed Platform สำหรับ Big Data Frameworks เช่น Apache Spark
เหมาะกับ
- Big Data Processing
- Spark
- Data Engineering
#Amazon Kinesis
ใช้จัดการ Streaming Data
ตัวอย่าง
IoT
Logs
Clickstream
|
Kinesis
|
Analytics
#Amazon MSK
Managed Streaming for Apache Kafka
เหมาะกับองค์กรที่ต้องการใช้ Kafka Ecosystem บน AWS
#Amazon QuickSight
Business Intelligence / Dashboard Service
ตัวอย่าง
Data Warehouse
|
QuickSight
|
Dashboard
#11. AI & Machine Learning
#Amazon Bedrock
บริการสำหรับสร้าง Generative AI Application และ Agent ด้วย Foundation Models
Architecture ตัวอย่าง
Application
|
Amazon Bedrock
|
Foundation Model
เหมาะกับ
- Chatbot
- RAG
- AI Assistant
- AI Agent
- Text Generation
- Multimodal Application
#Amazon SageMaker AI
Platform สำหรับ Machine Learning Lifecycle
รองรับงาน เช่น
Prepare Data
|
Train Model
|
Evaluate
|
Deploy
|
Monitor
เหมาะกับ
- Machine Learning
- Deep Learning
- MLOps
- Training
- Inference
#Amazon Rekognition
Computer Vision Service
ใช้วิเคราะห์
- Image
- Video
- Object
- Scene
- Text
- Face-related features ตามความสามารถและข้อกำหนดของบริการ
#Amazon Textract
ใช้ดึงข้อมูลจาก Document เช่น
- Form
- Table
- Invoice
- Scanned Document
#Amazon Transcribe
Speech-to-Text
Audio
|
Transcribe
|
Text
#Amazon Polly
Text-to-Speech
Text
|
Polly
|
Audio
#Amazon Comprehend
Natural Language Processing Service สำหรับวิเคราะห์ข้อความในงานที่บริการรองรับ
#Amazon Q Developer
AI Assistant สำหรับงานด้าน Software Development และ AWS เช่น coding, testing, troubleshooting และงานพัฒนาซอฟต์แวร์บางประเภท
#12. DevOps และ CI/CD
#AWS CodeBuild
Build Service
ตัวอย่าง
Source Code
|
CodeBuild
|
Build + Test
#AWS CodePipeline
CI/CD Pipeline Orchestration
GitHub
|
CodePipeline
|
CodeBuild
|
Deploy
#AWS CodeDeploy
ใช้ Automate Deployment ไปยัง Target ที่รองรับ เช่น EC2 หรือบริการที่เกี่ยวข้องตามรูปแบบ Deployment
#AWS CodeArtifact
Package Repository
รองรับ Package Ecosystem หลายประเภท เช่น
- Maven
- npm
- pip
- NuGet
#13. Infrastructure as Code
#AWS CloudFormation
Infrastructure as Code ของ AWS
ตัวอย่าง
Resources:
MyBucket:
Type: AWS::S3::Bucket
สามารถสร้าง Infrastructure จาก Template
#AWS CDK
Cloud Development Kit
เขียน Infrastructure ด้วย Programming Language เช่น
- TypeScript
- Python
- Java
- C#
- Go
ตัวอย่างแนวคิด
new s3.Bucket(this, "MyBucket");
CDK จะสังเคราะห์ออกมาเป็น CloudFormation Template
#AWS SAM
Serverless Application Model
เหมาะกับ
- Lambda
- API Gateway
- Serverless Application
#14. Migration & Transfer
#AWS Database Migration Service
ใช้ย้าย Database ไปยัง AWS หรือระหว่างระบบฐานข้อมูลที่รองรับ
ตัวอย่าง
On-Prem MySQL
|
AWS DMS
|
Amazon RDS
#AWS DataSync
ใช้ Transfer Data ระหว่าง
On-Prem
AWS Storage
เหมาะกับ Data Migration และ Data Transfer
#AWS Migration Hub
ใช้ช่วยติดตามและบริหาร Migration Project
#15. IoT
#AWS IoT Core
ใช้เชื่อมต่ออุปกรณ์ IoT กับ AWS
Sensor
|
MQTT
|
AWS IoT Core
|
Lambda
|
DynamoDB
เหมาะกับ
- Sensor
- Smart Device
- Industrial IoT
- Telemetry
#16. ตัวอย่าง Architecture ยอดนิยม
#Static Website
User
|
Route 53
|
CloudFront
|
S3
Services
- Route 53
- CloudFront
- S3
#Serverless API
React
|
API Gateway
|
Lambda
|
DynamoDB
Services
- API Gateway
- Lambda
- DynamoDB
#Traditional Web Application
User
|
Route 53
|
Load Balancer
|
EC2
|
RDS
Services
- Route 53
- ALB
- EC2
- RDS
#Container Microservices
User
|
ALB
|
EKS / ECS
|
Containers
|
RDS / DynamoDB
Services
- ALB
- EKS หรือ ECS
- ECR
- RDS
- DynamoDB
#Data Lake
Data Sources
|
S3
|
Glue
|
Athena
|
QuickSight
#Generative AI / RAG
User
|
Web Application
|
Backend API
|
Amazon Bedrock
|
Knowledge / Data Source
มักใช้งานร่วมกับ Service ด้าน Storage, Search, Database, Security และ Observability ตาม Architecture ที่เลือก
#17. เลือก AWS Service อย่างไร
สามารถใช้คำถามง่าย ๆ ดังนี้
#ต้องการ Server?
Virtual Machine
→ EC2
#ต้องการรัน Function โดยไม่ดูแล Server?
Serverless Function
→ Lambda
#ต้องการรัน Container?
Container
→ ECS
#ต้องการ Kubernetes?
Kubernetes
→ EKS
#ต้องการ Container แต่ไม่อยากจัดการ Server?
Serverless Container
→ Fargate
#ต้องการเก็บไฟล์หรือ Object?
Object Storage
→ S3
#ต้องการ Disk สำหรับ EC2?
Block Storage
→ EBS
#ต้องการ Relational Database?
RDS / Aurora
#ต้องการ NoSQL Key-Value?
DynamoDB
#ต้องการ Cache?
ElastiCache
#ต้องการ Queue?
SQS
#ต้องการ Pub/Sub?
SNS
#ต้องการ Event Bus?
EventBridge
#ต้องการ Workflow?
Step Functions
#ต้องการ Data Warehouse?
Redshift
#ต้องการ Query Data บน S3?
Athena
#ต้องการ Generative AI?
Amazon Bedrock
#ต้องการสร้างและ Train ML Model?
Amazon SageMaker AI
#18. AWS Services ที่ควรเรียนก่อน
สำหรับ Software Engineer หรือ DevOps Engineer แนะนำให้เริ่มจาก
1. IAM
2. VPC
3. EC2
4. S3
5. RDS
6. Route 53
7. Load Balancer
8. CloudWatch
9. Lambda
10. API Gateway
11. ECS / EKS
12. ECR
13. CloudFormation / CDK
14. SQS / SNS / EventBridge
15. CodeBuild / CodePipeline
สำหรับสาย Data Engineer เพิ่ม
S3
Glue
Athena
Redshift
EMR
Kinesis
MSK
สำหรับสาย AI / ML เพิ่ม
SageMaker AI
Bedrock
Textract
Rekognition
Transcribe
Polly
Comprehend
#19. Learning Roadmap
AWS Fundamentals
|
v
IAM + VPC
|
v
EC2 + S3
|
v
RDS + DynamoDB
|
v
Load Balancer + Route 53
|
v
CloudWatch + CloudTrail
|
v
Lambda + API Gateway
|
v
ECS / EKS + ECR
|
v
SQS + SNS + EventBridge
|
v
CloudFormation / CDK
|
v
CI/CD
|
v
Data / AI / Advanced Architecture
#20. สรุป
AWS มีบริการจำนวนมาก แต่ไม่จำเป็นต้องเรียนทุก Service พร้อมกัน
ให้เริ่มจากการเข้าใจหมวดหลัก
Compute
Storage
Database
Network
Security
Monitoring
Integration
Containers
DevOps
Data
AI
จากนั้นค่อยเลือก Service ให้ตรงกับ Workload
ตัวอย่าง
Web App
→ EC2 + RDS
Serverless
→ API Gateway + Lambda + DynamoDB
Microservices
→ ECS/EKS + ECR
Data Platform
→ S3 + Glue + Athena + Redshift
Generative AI
→ Bedrock
Machine Learning
→ SageMaker AI
หัวใจสำคัญของ AWS Architecture ไม่ใช่การใช้ Service ให้เยอะที่สุด แต่คือการเลือกบริการให้เหมาะกับ Requirement, Cost, Security, Reliability, Performance และ Operational Complexity
#แหล่งอ้างอิง
- AWS Products: https://aws.amazon.com/products/
- Overview of Amazon Web Services – Services by Category: https://docs.aws.amazon.com/whitepapers/latest/aws-overview/amazon-web-services-cloud-platform.html
- AWS Decision Guides: https://docs.aws.amazon.com/decision-guides/
- Choosing an AWS Compute Service: https://docs.aws.amazon.com/decision-guides/latest/decision-guides/choosing-aws-compute-service.html
- Choosing an AWS Storage Service: https://docs.aws.amazon.com/decision-guides/latest/decision-guides/choosing-aws-storage-service.html
- Choosing an AWS Database Service: https://docs.aws.amazon.com/decision-guides/latest/decision-guides/databases-on-aws-how-to-choose.html
- AWS Machine Learning and AI Overview: https://docs.aws.amazon.com/whitepapers/latest/aws-overview/machine-learning.html