#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 เช่น

  • PDF
  • 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


#แหล่งอ้างอิง