Management & FoundationsSection 129 min read8 questions

Cloud Monitoring

CloudWatch, CloudTrail, Config & Health

Cloud Monitoring บน AWS ครอบคลุม 4 บริการหลักในการดูแลระบบ: CloudWatch (metrics + logs + events), CloudTrail (audit API calls), AWS Config (compliance + config history), และ Health Dashboards (สถานะ service ของ AWS) — ใช้ร่วมกันเพื่อ visibility, troubleshoot, security audit และ cost optimization

ในหน้านี้13 sections
  1. 01ทำไมต้อง Monitor (Why Monitor?)
  2. 02CloudWatch Metrics
  3. 03CloudWatch Alarms
  4. 04CloudWatch Logs
  5. 05CloudWatch Events / EventBridge
  6. 06CloudWatch Dashboards
  7. 07AWS CloudTrail
  8. 08CloudTrail vs CloudWatch
  9. 09AWS Config
  10. 10AWS Service Health Dashboard
  11. 11AWS Personal Health Dashboard (PHD)
  12. 12Comparison Summary
  13. 13Summary
01

ทำไมต้อง Monitor (Why Monitor?)

Monitoring คือหัวใจของการดูแลระบบบน cloud — ถ้าไม่มี visibility ก็ไม่รู้ว่าระบบทำงานปกติหรือไม่ มีปัญหาตรงไหน หรือมีคนเข้ามาทำอะไรกับ account

  • Visibility: มองเห็นสถานะการทำงานของระบบทั้งหมด แบบ real-time
  • Troubleshoot issues: หาสาเหตุของปัญหาได้รวดเร็วเมื่อ application เกิด error
  • Improve performance: ระบุ bottleneck แล้วปรับปรุงประสิทธิภาพ
  • Security audit: ตรวจสอบว่ามี unauthorized access หรือ suspicious activity หรือไม่
  • Compliance: เก็บหลักฐานสำหรับ audit (PCI-DSS, HIPAA, SOC) ว่าระบบเป็นไปตามข้อกำหนด
  • Cost optimization: หาว่า resource ใดถูกใช้น้อย/ไม่ได้ใช้ เพื่อลดค่าใช้จ่าย

Amazon CloudWatch

เก็บ metrics + logs + events จาก AWS services และ application ของคุณ พร้อม alarms และ dashboards

AWS CloudTrail

บันทึกทุก API call ภายใน AWS account เพื่อ governance, compliance, และ audit

AWS Config

ตรวจสอบและบันทึกการเปลี่ยนแปลง configuration ของ resource เพื่อ compliance

Health Dashboards

Service Health Dashboard (สถานะ AWS public) + Personal Health Dashboard (resource ของคุณ)

02

CloudWatch Metrics

CloudWatch Metrics คือข้อมูลตัวเลข (variable) ที่เราต้องการ monitor เช่น CPU, network, disk — ทุก AWS service ส่ง default metrics มาให้อัตโนมัติ

  • Variable to monitor: CPU utilization, network in/out, disk read/write ฯลฯ
  • AWS services come with default metrics — ไม่ต้อง config เอง
  • Namespace: metric แต่ละตัวอยู่ใน namespace ของแต่ละ service เช่น AWS/EC2, AWS/S3, AWS/Lambda
  • Dimension: attribute ของ metric เช่น InstanceId, InstanceType — ใช้แยก metric ของแต่ละ resource
  • Metric หนึ่งตัวมีได้สูงสุด 30 dimensions
  • ทุก metric มี timestamp ติดมาด้วย
  • Custom Metrics: ส่ง metric ของเราเองได้ผ่าน PutMetricData API (เช่น active users, queue length)
  • High-resolution custom metrics: ส่งได้ละเอียดถึง 1 วินาที (StorageResolution = 1)
03

CloudWatch Alarms

CloudWatch Alarms ใช้ trigger notification หรือ action เมื่อ metric เข้าเงื่อนไข (threshold) ที่ตั้งไว้ — ใช้ตอบสนองอัตโนมัติเมื่อระบบมีปัญหา

  • Trigger notifications สำหรับ any metric ใน CloudWatch
  • Various options: sampling, percentage, max, min, average, sum ฯลฯ
  • Alarm States (3 states): OK / INSUFFICIENT_DATA / ALARM
  • Alarm Period: 10 วินาที, 30 วินาที, หรือทวีคูณของ 60 วินาที

Auto Scaling Action

Trigger ASG ให้ scale out (เพิ่ม instance) หรือ scale in (ลด instance) เมื่อ alarm เข้า ALARM state เช่น CPU > 70% → เพิ่ม instance

EC2 Action

Stop, Terminate, Reboot, หรือ Recover EC2 instance อัตโนมัติเมื่อ alarm trigger เช่น StatusCheckFailed → recover

SNS Notifications

ส่ง notification ผ่าน SNS topic ไปยัง email, SMS, Lambda, SQS เมื่อ alarm state เปลี่ยน

Composite Alarms

รวมหลาย alarms เข้าด้วยกันด้วย AND / OR logic เช่น Alarm1 AND Alarm2 = ALARM → จึงจะ trigger — ลด alarm noise

04

CloudWatch Logs

CloudWatch Logs คือที่เก็บ log แบบ centralized ของ AWS สำหรับ application logs และ AWS service logs ค้นหาและวิเคราะห์ได้ในที่เดียว

  • Log Groups: มักเป็นหนึ่งกลุ่มต่อ application เช่น /aws/lambda/my-function
  • Log Streams: อยู่ภายใน log group แยกตาม instance, container, หรือ log file
  • Log Expiration Policies: กำหนดเวลาเก็บ log ได้ (never expire / 1 day / 1 year / 10 years)
  • Export to S3: ส่ง log ไป S3 สำหรับ long-term archive ราคาถูกกว่า
  • Stream to ElasticSearch (OpenSearch): ส่งต่อเพื่อ search + analytics ขั้นสูง

Sources of Logs

SDK / CloudWatch Logs Agent / Elastic Beanstalk / ECS / Lambda / VPC Flow Logs / API Gateway / CloudTrail / Route 53 — ทุก service หลักของ AWS ส่ง log มาที่ CloudWatch Logs ได้

CloudWatch Logs Insights

Search + analyze logs ด้วย custom query language — query แบบ SQL-like เพื่อหา error, นับ event, หรือ aggregate ข้อมูล

Logs → Metrics (Metric Filter)

แปลง pattern ใน log เป็น metric เช่น count คำว่า ERROR แล้วทำ alarm — ตอบสนองต่อ event ใน log อัตโนมัติ

Real-time Processing

Subscribe log ไปยัง Lambda, Kinesis Data Streams, Kinesis Firehose เพื่อ process แบบ real-time

05

CloudWatch Events / EventBridge

CloudWatch Events (ชื่อเดิม) = Amazon EventBridge (ชื่อใหม่ + features เพิ่ม) คือ event bus ที่ใช้ตอบสนองต่อเหตุการณ์ใน AWS แบบ real-time

  • Schedule (Cron): ตั้งให้ทำงานตามเวลา เช่น ทุก 1 ชั่วโมง trigger Lambda
  • Event Pattern: trigger เมื่อ AWS service ทำอะไรบางอย่าง เช่น EC2 state change, S3 object upload, CodePipeline failure
  • Targets: Lambda, SNS, SQS, Step Functions, ECS Task ฯลฯ

Default Event Bus

Bus มาตรฐานที่ AWS services ส่ง event มาให้อัตโนมัติ — ทุก account มีให้ใช้

Custom Event Bus

สร้าง bus ของเราเองสำหรับ application events ภายใน — แยก event ของแต่ละ team/service

Partner Event Bus

รับ events จาก SaaS partners เช่น Zendesk, Datadog, Auth0 เข้ามาใน AWS โดยตรง

Schema Registry

เก็บ schema ของ events ทำให้ developer รู้รูปแบบ event แล้ว generate code (SDK bindings) ได้อัตโนมัติ

06

CloudWatch Dashboards

CloudWatch Dashboards คือ custom view สำหรับแสดง metrics + alarms รวมในหน้าจอเดียว — เหมาะสำหรับ NOC / DevOps team ที่ต้อง monitor ระบบทั้งหมด

  • สูงสุด 1,000 dashboards ต่อ account
  • สูงสุด 100 widgets ต่อ dashboard
  • Cross-region + Cross-account: รวม metrics จากหลาย region และหลาย account ในหน้าเดียว
  • Dashboard เป็น Global resource — สร้างทีเดียวเข้าดูได้จากทุก region
  • Pricing: 3 dashboards แรกฟรี (50 metrics/dashboard) จากนั้น $3/dashboard/เดือน
07

AWS CloudTrail

AWS CloudTrail ให้บริการ governance, compliance และ audit สำหรับ AWS account ของคุณ — เปิดใช้งาน by default ทุก account ดู event history ย้อนหลังได้ 90 วันฟรี

  • บันทึก history of events / API calls ที่เกิดขึ้นใน AWS account
  • ครอบคลุมทุก source: Console, SDK, CLI, AWS services (เพราะทุกอย่างเรียกผ่าน API หมด)
  • Logs to: CloudWatch Logs และ/หรือ S3 (สำหรับเก็บถาวร)
  • Trail: ตั้งค่าให้ apply All Regions (default, แนะนำ) หรือ single Region

Management Events

Operations ที่จัดการ resource เช่น create user, set IAM policy, configure security group — logged by default ฟรี (control plane operations)

Data Events

High-volume operations เช่น S3 GetObject / PutObject / DeleteObject, Lambda Invokeopt-in เพราะปริมาณมหาศาลและเสียค่าใช้จ่าย

CloudTrail Insights

ตรวจจับ unusual activity โดยอัตโนมัติด้วย ML — anomaly detection เช่น API call spike, error rate ผิดปกติ (เสียค่าใช้จ่ายเพิ่ม)

Retention

Console ดูได้ 90 วันฟรี — ส่งไป S3 เก็บได้ตลอดไป หรือใช้ CloudTrail Lake เก็บได้ถึง 7 ปี (queryable ด้วย SQL)

08

CloudTrail vs CloudWatch

หลายคนสับสน 2 service นี้ — จำให้ขึ้นใจว่าทำงานคนละหน้าที่:

CloudWatch

Monitoring — เก็บ metrics + logs จาก application และ AWS services ตอบคำถาม "ระบบทำงานเป็นอย่างไร?" (CPU สูงไหม, มี error log ไหม)

CloudTrail

Audit — บันทึก API calls / governance / compliance ตอบคำถาม "ใครทำอะไร เมื่อไร?" (ใครลบ S3 bucket, ใคร modify IAM)

09

AWS Config

AWS Config ช่วยในด้าน auditing และบันทึก compliance ของ AWS resources — เก็บประวัติ configuration และการเปลี่ยนแปลงตลอดเวลา

  • Records configurations and changes over time — ดูได้ว่า resource เคยถูกตั้งค่าอย่างไรในอดีต
  • Stores config data in S3 (วิเคราะห์ต่อด้วย Athena ได้)
  • Per-region service — ต้องเปิดในแต่ละ region แต่สามารถ aggregate ข้าม regions และ accounts ได้
  • Alerts via SNS เมื่อมีการเปลี่ยนแปลง config
  • ใช้ร่วมกับ CloudTrail ได้ — Config บอก "resource เปลี่ยนเป็นอะไร" ส่วน CloudTrail บอก "ใครเปลี่ยน"

Q: SSH access ไหน unrestricted?

Config rule ตรวจสอบ Security Group ว่ามี 0.0.0.0/0 บน port 22 หรือไม่ — แจ้งเตือนทันทีถ้าเจอ

Q: S3 buckets ไหน public?

Config rule ตรวจสอบ bucket policy + ACL ว่าเปิด public access หรือไม่ — สำคัญสำหรับ data security

Q: ALB config เปลี่ยนอย่างไร?

ดู configuration timeline ของ ALB — เห็นทุกการเปลี่ยนแปลง listener, target group, security group

AWS Config Resource View

ดู compliance + configuration over time ของ resource หนึ่งตัว + CloudTrail API calls ที่เกี่ยวข้อง — รวมข้อมูลในที่เดียว

10

AWS Service Health Dashboard

AWS Service Health Dashboard เป็น public dashboard ที่แสดงสถานะของ AWS services ทุกตัวในทุก region — ใครก็เข้าดูได้ ไม่ต้อง login

  • URL: https://status.aws.amazon.com
  • แสดงสถานะของ ทุก AWS service ทั่วทุก region
  • แสดง service outages และ incidents ทั่วโลก
  • ดูประวัติของ events ย้อนหลังได้
  • เป็น generic view ไม่เจาะจงว่า resource ของคุณได้รับผลกระทบหรือไม่
11

AWS Personal Health Dashboard (PHD)

AWS Personal Health Dashboard (PHD) ให้ personalized view ของสุขภาพ AWS resources ที่คุณใช้งานจริง — แตกต่างจาก Service Health Dashboard ที่เป็น public แบบรวม

  • Alerts เมื่อ resource ของคุณเอง ได้รับผลกระทบ (ไม่ใช่แค่ทุก service)
  • ให้ remediation steps — บอกว่าควรทำอะไรเพื่อแก้ปัญหา
  • Proactive notifications: แจ้งล่วงหน้าเรื่อง scheduled changes เช่น EC2 ที่ underlying hardware กำลังจะถูก retire, RDS maintenance window
  • Integration กับ EventBridge — automate การตอบสนองเมื่อมี health event
  • ดูข้อมูล Open issues, Scheduled changes, Other notifications
12

Comparison Summary

ตารางสรุปเครื่องมือ Cloud Monitoring แต่ละตัวและ use case:

CloudWatch Metrics

Use case: ดูสถานะ performance ของ resource (CPU, memory, network) — ตอบคำถาม "ระบบทำงานปกติไหม?"

CloudWatch Logs

Use case: เก็บและ search application logs จาก Lambda, ECS, EC2 — ตอบคำถาม "app log error อะไร?"

CloudWatch Alarms

Use case: trigger action เมื่อ metric ข้าม threshold เช่น auto scale, ส่ง SNS — ตอบสนองอัตโนมัติ

CloudWatch Events / EventBridge

Use case: schedule cron jobs + react ต่อ AWS events — automate workflow

CloudTrail

Use case: audit API calls — ตอบคำถาม "ใครทำอะไร เมื่อไร จากที่ไหน?" (governance, compliance, security)

AWS Config

Use case: track configuration changes + compliance — ตอบคำถาม "resource ถูกตั้งค่าอย่างไร และ compliant ไหม?"

Service Health Dashboard

Use case: ดูสถานะ AWS services ทั้งหมด (public) — ตอบคำถาม "AWS ล่มทั่วโลกไหม?"

Personal Health Dashboard

Use case: ดูสถานะ resource ของคุณเอง + remediation — ตอบคำถาม "resource ของฉันได้รับผลกระทบไหม?"

Decision Tree สำหรับข้อสอบ — เริ่มจากคำถามใน scenario แล้วจับคู่กับบริการที่ตอบโจทย์โดยตรง:

"ใครทำ?"

ต้อง audit API call ว่าใครเรียก เมื่อไร จากที่ไหน → CloudTrail

"ระบบทำงานอย่างไร?"

ดู performance metric, log และ alarm ของ resource → CloudWatch

"resource ตั้งค่าอย่างไร / compliant ไหม?"

ติดตาม configuration change และ compliance rule → AWS Config

"AWS service ล่มไหม?"

ดูสถานะบริการ AWS แบบ public ทั่วโลก → Service Health Dashboard

"resource ของฉัน healthy ไหม?"

ดูสถานะ resource ใน account ของคุณเอง พร้อม remediation → Personal Health Dashboard

13

Summary

Cloud Monitoring บน AWS ใช้บริการหลายตัวร่วมกัน — แต่ละตัวมีบทบาทเฉพาะ และเสริมกันเป็นภาพรวมของ visibility, governance และ compliance

Amazon CloudWatch

Monitoring แบบครบวงจร: Metrics, Alarms, Logs, Events / EventBridge และ Dashboards

AWS CloudTrail

Audit ทุก API call ใน account — ตอบคำถาม “ใครทำอะไร เมื่อไร จากที่ไหน”

AWS Config

ติดตาม configuration change ของ resource ตามเวลา และตรวจสอบ compliance rule

Health Dashboards

Service Health = สถานะ AWS แบบ public ส่วน Personal Health = สถานะ resource ใน account คุณเอง

  • CloudWatch Metrics: ตัวเลข performance ของ AWS service และ custom metric รองรับ high-resolution ถึง 1 วินาที
  • CloudWatch Alarms: มี 3 states (OK / INSUFFICIENT_DATA / ALARM) trigger ASG, EC2 action, SNS หรือ composite alarm
  • CloudWatch Logs: ใช้ log group และ stream เก็บ log จาก Lambda, ECS, VPC Flow Logs, API Gateway ฯลฯ และ query ด้วย Logs Insights
  • EventBridge: cron schedule และ event pattern → trigger Lambda / SNS / SQS รองรับ multiple event buses และ schema registry
  • CloudWatch Dashboards: สูงสุด 1000 dashboards / account และ 100 widgets / dashboard รองรับ cross-region และ cross-account
  • CloudTrail Events: แบ่งเป็น Management, Data และ Insights — เปิด default และดูย้อนหลังได้ 90 วันฟรี
  • AWS Config: ทำงาน per-region แต่สามารถ aggregate ข้าม account และข้าม region ได้
  • Personal Health Dashboard: ให้คำแนะนำ remediation เมื่อ resource ของคุณได้รับผลกระทบ
ทดสอบ

คำถามทบทวน

8 ข้อ — เลือกคำตอบเพื่อดูเฉลยและคำอธิบาย

ข้อ 1 / 8คะแนน 0

บริษัทต้องการ audit ว่าใครเป็นคนเรียก API ลบ S3 bucket ในเดือนที่แล้ว ควรใช้ service ใด?