ข้ามไปเนื้อหาหลัก
จัดการ & มอนิเตอร์· ~6 นาที· อัปเดตล่าสุด

ช่องทางใช้งาน AWS: Console, CLI, SDK และ IaC

วิธีสั่งงาน AWS ทั้ง 4 ช่องทาง และแนวคิด Infrastructure as Code กับ CloudFormation

สั่งอาหารร้านเดียวกัน 4 วิธี

เดินไปสั่งหน้าเคาน์เตอร์ (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 เอง

อ่านจบแล้วอย่าลืมทำเครื่องหมาย