ช่องทางใช้งาน AWS: Console, CLI, SDK และ IaC
วิธีสั่งงาน AWS ทั้ง 4 ช่องทาง และแนวคิด Infrastructure as Code กับ CloudFormation
เดินไปสั่งหน้าเคาน์เตอร์ (Console), โทรสั่งด้วยเมนูที่ท่องไว้ (CLI), ให้แอปในมือถือสั่งอัตโนมัติทุกเที่ยง (SDK), หรือเขียน "สูตรจัดเลี้ยง" ไว้ให้ครัวทำตามได้เป๊ะๆ ทุกงาน (CloudFormation) — อาหารมาจากครัวเดียวกันทั้งหมด คือ AWS API
สี่ช่องทางหลัก
- AWS Management Console — หน้าเว็บ GUI เหมาะกับผู้เริ่มต้น การสำรวจบริการ และงานที่นานๆ ทำที
- AWS CLI — สั่งงานผ่าน command line เหมาะกับ automation script และงานที่ทำซ้ำบ่อย
- AWS SDK — library สำหรับภาษาโปรแกรมต่างๆ (Python, JavaScript, Java ฯลฯ) ให้แอปของเราเรียกใช้บริการ AWS ได้โดยตรง
- Infrastructure as Code (CloudFormation / CDK) — ประกาศโครงสร้างระบบเป็นโค้ด/template แล้วให้ AWS สร้างให้ตรงตามนั้น
ทำไม Infrastructure as Code ถึงสำคัญ
การคลิกสร้างทรัพยากรทีละชิ้นในหน้าเว็บทำให้เกิดปัญหาคลาสสิก: สภาพแวดล้อม dev กับ production ไม่เหมือนกัน เพราะมือคนตั้งค่าไม่เท่ากันสักครั้ง CloudFormation แก้ด้วยการให้เขียนทุกอย่างเป็น template — อยากได้ระบบชุดใหม่ก็รัน template เดิม ได้ของเหมือนเดิมเป๊ะ และเมื่อ template อยู่ใน git ก็ตรวจย้อนหลังได้ว่าใครแก้อะไรเมื่อไหร่
สรุป Key Takeaways
- สี่ช่องทาง: Console (หน้าเว็บ), CLI (คำสั่ง), SDK (ในโค้ด), IaC (template)
- CloudFormation = Infrastructure as Code — สร้างระบบซ้ำได้เหมือนเดิมทุกครั้งจากไฟล์ template
- ทุกช่องทางเรียกเข้า API เดียวกันของ AWS — ต่างแค่ interface
คำถามที่พบบ่อย
Console, CLI, SDK เลือกใช้ตอนไหน
Management Console (หน้าเว็บ) เหมาะกับเรียนรู้และงาน manual เป็นครั้งคราว · CLI (command line) เหมาะกับ script และงานซ้ำๆ · SDK เหมาะกับการเรียก AWS จาก "ในโค้ดโปรแกรม" ของเรา เช่น แอป Python ที่อัปโหลดไฟล์เข้า S3 เอง
CloudFormation คืออะไร ต่างจากการกดสร้างในหน้าเว็บอย่างไร
คือบริการ Infrastructure as Code — เขียนโครงสร้างระบบทั้งหมดเป็นไฟล์ template แล้วให้ AWS สร้างตามนั้น ได้ผลลัพธ์เหมือนเดิมทุกครั้ง ทำซ้ำได้หลาย Region หลาย environment ไม่พลาดแบบมือคลิก และเก็บเวอร์ชันใน git ได้
เห็นชื่อ Elastic Beanstalk กับ CloudFormation คู่กัน เลือกยังไง
Beanstalk = แค่อยาก deploy "แอป" โดยไม่คิดเรื่อง infrastructure — โยนโค้ดไปแล้ว AWS จัดเครื่อง, load balancer, scaling ให้ · CloudFormation = อยากควบคุม "ทุกชิ้นส่วน" ของ infrastructure ด้วย template เอง

