EC2 User Data
รันสคริปต์ตอนเครื่องบูตครั้งแรกเพื่อตั้งค่าอัตโนมัติ
User Data เหมือนคุณเขียนโพยกระดาษแผ่นเล็กๆ ยัดใส่มือพนักงานใหม่ในวันแรกที่มาทำงาน ว่า "ถึงโต๊ะปุ๊บ ให้หยิบไม้กวาดมากวาดห้อง แล้วชงกาแฟ" พนักงานใหม่ก็จะทำตามคำสั่งในกระดาษนี้แค่ครั้งเดียวเท่านั้น
User Data (สคริปต์เริ่มต้นเครื่อง) คือคำสั่งสคริปต์ (เช่น Bash shell หรือ PowerShell) ที่เราป้อนให้เซิร์ฟเวอร์ EC2 นำไป รันทำงานเฉพาะแค่ตอนบูตเครื่องขึ้นมาเป็นครั้งแรกสุด (Bootstrap) เพื่อใช้ติดตั้งซอฟต์แวร์ ดึงโค้ด หรือตั้งค่าเริ่มต้นแบบอัตโนมัติ โดยที่เราไม่ต้องรีโมตเข้าไปทำเองด้วยมือ
#!/bin/bash
yum update -y
yum install -y httpd
systemctl start httpd
echo "Hello Cloud! This is my EC2." > /var/www/html/index.htmlสรุป Key Takeaways
- User Data = สคริปต์ bootstrap ที่รันตอนบูตครั้งแรก
- ใช้ตั้งค่าเครื่องอัตโนมัติ เข้าคู่กับ Auto Scaling
คำถามที่พบบ่อย
User data กับ AMI แบบไหนดีกว่ากันสำหรับตั้งค่าเครื่อง
เป็น trade-off ความเร็ว boot vs ความสด: bake ลง AMI = เครื่องพร้อมเร็ว เหมาะกับ Auto Scaling ที่ต้อง scale ไว ส่วน user data = ยืดหยุ่น แก้สคริปต์ได้โดยไม่ต้อง build AMI ใหม่ แต่ boot ช้าเพราะติดตั้งตอนเปิด — งานจริงมักผสม: ของหนัก bake ไว้ ของที่เปลี่ยนบ่อยใส่ user data
User data รันซ้ำทุกครั้งที่ restart ไหม
โดย default รันครั้งเดียวตอน launch แรกเท่านั้น — ไม่รันตอน reboot/stop-start (ทำให้คนงงว่าทำไมแก้ user data แล้วไม่มีผล) ถ้าต้องการรันทุก boot ต้องตั้งค่า cloud-init เพิ่มเอง — เป็น trivia ที่ข้อสอบหยิบมาหลอกได้
ลองทำ Quiz ท้ายบท
คำถามแนวข้อสอบของโมดูลนี้ 5 ข้อ · เฉลยทันที

