AMI
มาต่อกันที่สิ่งที่เป็นหัวใจของการทำงานของ EC2 instances นั่นคือ AMI AMI ย่อมาจาก Amazon Machine Image ซึ่งก็คือ การปรับแต่ง (customization) ของ EC2 instance
คุณสามารถใช้ AMI ที่ AWS สร้างไว้ให้ หรือสร้างของคุณเองก็ได้
แล้วใน AMI มีอะไรบ้าง?
- การตั้งค่าซอฟต์แวร์ของคุณเอง
- ระบบปฏิบัติการ (Operating System)
- เครื่องมือ monitoring หรือเครื่องมืออื่น ๆ ที่คุณต้องการ
หากคุณสร้าง AMI เอง คุณจะได้ เวลา boot และเวลา configuration ที่เร็วขึ้น เพราะทุกอย่างที่ต้องการติดตั้งใน EC2 instance ถูกแพ็กไว้เรียบร้อยแล้วใน AMI
ดังนั้นการสร้าง AMI ของตัวเองจึงเป็นสิ่งที่ควรทำ โดยมันจะถูกสร้างขึ้นมาใน Region หนึ่ง และสามารถคัดลอก (copy) ข้าม Region อื่น ๆ ได้ เพื่อใช้ประโยชน์จากโครงสร้างพื้นฐานระดับโลกของ AWS

ประเภทของ AMI ที่สามารถใช้ได้
- Public AMI → สร้างโดย AWS เช่น Amazon Linux 2 AMI ที่เป็น AMI ยอดนิยม
- Custom AMI → สร้างโดยคุณเอง ต้องทำและดูแลเอง (แต่สามารถใช้เครื่องมือช่วย automate ได้)
- Marketplace AMI → สร้างโดยบุคคลหรือบริษัทอื่น วางขายใน AWS Marketplace คุณสามารถซื้อเพื่อประหยัดเวลาได้
แม้แต่คุณเองก็สามารถทำธุรกิจโดยการสร้าง AMI แล้วขายใน AWS Marketplace ได้ ซึ่งบางบริษัทก็ทำอยู่แล้วจริง ๆ
กระบวนการสร้าง AMI
กระบวนการสร้าง AMI จาก EC2 Instance มีดังนี้:
- เริ่มต้นจากการ launch EC2 instance
- ปรับแต่ง (customize) instance ตามที่ต้องการ
- หยุดการทำงาน (stop) ของ instance เพื่อให้แน่ใจว่าข้อมูลถูกต้องสมบูรณ์
- สร้าง AMI จาก instance นั้น (เบื้องหลัง AWS จะสร้าง EBS snapshot ให้อัตโนมัติ)
- ใช้ AMI ที่สร้างขึ้นเพื่อ launch EC2 instance อื่น ๆ ได้
ตัวอย่างเช่น:
- เริ่มต้นจาก instance ใน us-east-1a → ปรับแต่งและสร้าง AMI
- จากนั้นใน us-east-1b → ใช้ AMI นั้นในการ launch instance ใหม่
- ผลลัพธ์ก็คือ คุณสามารถสร้าง สำเนาของ EC2 instance เดิม ได้ในอีก Availability Zone
Key Takeaways
-
AMI (Amazon Machine Image) คือการปรับแต่ง EC2 instance โดยการแพ็กซอฟต์แวร์และการตั้งค่าไว้ล่วงหน้า
-
AMI มี 3 แบบ:
- สร้างโดย AWS
- สร้างเองโดยผู้ใช้
- ซื้อจาก AWS Marketplace
-
การสร้าง AMI เองช่วยให้ EC2 instance boot และ configure ได้เร็วขึ้น
-
AMI เป็นแบบ Region-specific แต่สามารถ คัดลอกข้าม Region ได้ เพื่อใช้โครงสร้างพื้นฐานระดับโลกของ AWS