Amazon EC2
Amazon EC2 คืออะไร?
- EC2 เป็นหนึ่งในบริการยอดนิยมของ AWS และถูกใช้อย่างกว้างขวาง
- EC2 = Elastic Compute Cloud
- เป็นบริการ Infrastructure as a Service (IaaS) บน AWS
- EC2 ไม่ใช่บริการเดี่ยว ๆ แต่ประกอบไปด้วยหลายองค์ประกอบหลัก
องค์ประกอบหลัก (Core Components)
- EC2 instances → เครื่องเสมือน (VM) ที่เราสามารถเช่าใช้งานได้
- EBS volumes → ดิสก์เสมือนสำหรับเก็บข้อมูล
- Elastic Load Balancer (ELB) → กระจายโหลดระหว่างเครื่องหลายตัว
- Auto Scaling Group (ASG) → ขยายหรือลดจำนวนเครื่องอัตโนมัติตามความต้องการ
ทำไม EC2 ถึงสำคัญ?
- การเข้าใจวิธีใช้ EC2 คือพื้นฐานของการเข้าใจ Cloud
- Cloud = การเช่าทรัพยากรคอมพิวเตอร์แบบ on-demand
- EC2 ให้คุณเช่าเครื่องคอมพิวเตอร์เสมือนได้ตามต้องการ
การเลือกตัวเลือกของ Instance
เมื่อสร้าง EC2 Instance (เซิร์ฟเวอร์เสมือน) คุณสามารถเลือกได้ว่า:
- ระบบปฏิบัติการ: Linux (นิยมที่สุด), Windows, หรือ Mac OS
- ขนาดการประมวลผลและจำนวนคอร์ (CPU)
- ขนาดของหน่วยความจำ (RAM)
- พื้นที่จัดเก็บข้อมูล (Storage)
ตัวเลือก Storage
- แบบเชื่อมผ่านเครือข่าย: เช่น EBS หรือ EFS
- แบบเชื่อมตรงกับฮาร์ดแวร์: เรียกว่า EC2 instance store
เครือข่ายและความปลอดภัย (Networking & Security)
เมื่อสร้าง EC2 ต้องเลือก:
- ประเภทเครือข่าย เช่น ต้องการ network interface ที่เร็วแค่ไหน
- ต้องการ Public IP แบบใด
- ต้องตั้งค่า firewall rules ด้วย Security Group เพื่อควบคุมการเข้าถึง
การ Bootstrap Instance ด้วย EC2 User Data
- คุณสามารถใช้ EC2 User Data Script เพื่อรันคำสั่งอัตโนมัติเมื่อเครื่องเริ่มทำงาน
- Bootstrapping = การสั่งให้เครื่องทำงานบางอย่างทันทีตอนเริ่มบูท
- User Data Script จะรัน แค่ครั้งแรกที่ instance เริ่มทำงาน
สิ่งที่มักทำใน User Data:
- ติดตั้ง updates
- ติดตั้งซอฟต์แวร์
- ดาวน์โหลดไฟล์ที่จำเป็นจากอินเทอร์เน็ต
- หรือรันคำสั่งอื่น ๆ ที่ต้องการตอนเริ่มต้น
สิทธิ์ (Privileges)
- User Data Script รันในสิทธิ์ root user
- ทุกคำสั่งมีสิทธิ์ sudo โดยอัตโนมัติ
สรุป
- EC2 = Elastic Compute Cloud → IaaS สำหรับเช่าเครื่องคอมพิวเตอร์เสมือนแบบ on-demand
- EC2 ประกอบด้วย: Instances, EBS, Load Balancer, Auto Scaling
- เวลาสร้าง instance เลือก OS, CPU, RAM, Storage, Network
- EC2 User Data → ใช้ bootstrap instance อัตโนมัติ รันด้วยสิทธิ์ root