ข้ามไปเนื้อหาหลัก
ประมวลผล· ~8 นาที· อัปเดตล่าสุด

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
💻 ตัวอย่าง: สคริปต์ User data (Bash) สั่งให้ติดตั้งเว็บเซิร์ฟเวอร์ Nginx ตอนบูตเสร็จทันที

สรุป 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 ข้อ · เฉลยทันที

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