AWS CloudFormation #Chapter1
สำหรับบทความนี้จะมาแนะนำการใช้งาน AWS Service ที่ชื่อว่า CloudFormation ซึ่งอยู่ในหมวด Management Tools โดยตัวอย่างนี้จะแนะนำการสร้าง Template สำหรับใช้งาน WordPress พร้อม ทำ Auto Scaling นะครับ

CloudFormation คืออะไร
CloudFormation คือ Tools สำหรับช่วยให้เราสามารถสร้าง Services ต่างๆ ผ่าน Design Template โดยที่เราสามารถเขียน Template ขึ้นมาเอง หรือสามารถเลือกใช้จาก Template ที่ AWS ได้เตรียมไว้ให้ก็ได้
แล้วมันต่างจากวิธีการสร้างที่หน้า Console ปกติยังไง? ถ้าต้องการสร้าง Server ขึ้นมาสักเครื่องหนึ่ง โดยเครื่องนั้นสามารถทำการ Auto Scaling พร้อมทั้ง ส่งข้อความแจ้งเตือนตามเงื่อนไขที่เรากำหนด
ปกติเราก็ต้องมานั่งกดที่ EC2 เลือก Instance ที่ต้องการสร้าง พอสร้างเสร็จก็เข้าไป Config Auto Scaling … ซัดกันไปยาวๆ กว่าจะเสร็จ แล้วถ้าต้องสร้าง Server คล้ายๆ แบบเดิมๆ ล่ะ แค่คิดก็เพลียล่ะ
สุดท้ายก็เลยมาลงเอยกับ CloudFormation ส่วนวิธีการจะทำยังไงมั่งนั้นมาดูกัน
ขั้นตอนแรก เข้าไปที่ Services CloudFormation

ขั้นตอนที่สอง คลิ๊กเข้าไปที่ Create new stack

ขั้นตอนที่สาม Copy json File ตามตัวอย่างด้านล่าง มาที่เครื่อง แล้วเลือก Upload a template to Amazon S3 หลังจากนั้น Browse file เข้าไป กด Next
สำหรับบทความนี้จะยังไม่ได้อธิบายค่า paramter ต่างๆ นะครับ ขอยกยอดไปบทความหน้า
ขั้นตอนที่สี่ ทำการ Config ค่าตามที่ต้องการ หลังจากนั้นก็กด Next ไปเรื่อยๆ จนเจอคำว่า Create

DBAllocatedStorage: ขนาดความจุของ Storage
DBName: ชื่อของ Database
DBPassword: รหัสผ่าน Database
DBUser: ชื่อของ User สำหรับเข้าใช้งาน
KeyName: KeyPairs สำหรับเข้าใช้งานเครื่อง * จำเป็นต้องระบุ
OperatorEMail: อีเมล์สำหรับใช้แจ้งเตือน Notifcation
WebServerCapacity: จำนวนเริ่มต้นของ webserverขั้นตอนที่ห้า หลังจาก Create Stack เสร็จแล้ว ระบบจะพามาที่หน้า Dashboard ของ Stack

รอประมาณ 15 นาที Status แสดงคำว่า CREATE_COMPLETE

ขั้นตอนที่หก กดเข้ามาที่แถบ Outputs เพื่อเข้าสู่หน้าจัดการ WordPress
เนื่องจาก Template นี้เราได้เขียนกำหนดให้ แสดง WebsiteURL

ขั้นตอนที่เจ็ด ทำการ Config ค่า WordPress

หลังจาก Config ค่าเสร็จ กดเข้ามาดูที่หน้าหลักของเว็บไซต์

ขั้นตอนที่แปด เข้าไปที่ Services EC2 เมนู Instances

เพื่อตรวจสอบการทำงานของ Template จะพบ Instance ที่ถูกสร้างขึ้น
- Instance Type : t2.micro (vCPUs 1 Core RAM 1 G)
- Avaliablility Zone: ap-southeast-1b (Data Center อยู่ที่ ประเทศสิงคโปร์)

เข้าไปที่เมนู Auto Scaling Groups
- กำหนดเงื่อนไขการทำ Auto Scaling Up ถ้า CPU สูงกว่า 70 % ใน 5นาที
- กำหนดเงื่อนไขการทำ Auto Scaling Down ถ้า CPU ต่ำกว่า 30 % ใน 5นาที

ขั้นตอนที่เก้า เข้าไปที่ Services Application Integration เมนู Simple Notification Service
หลังจากที่เราสร้าง Stacks ที่ CloudFormation เสร็จ จะมีอีเมล์ส่งมาให้ทำการ Subscribe เพื่อคอย Monitor การทำงานของระบบ


หลังจากนั้นกดเข้าไปที่ เมนู Topic กดดูรายละเอียดของ Topic ที่เราทำการ Subscribe ระบบจะทำการส่งอีเมล์แจ้งเตือนตามเงื่อนไขที่เราได้กำหนด

สำหรับบทความนี้ก็จบประมาณนี้ล่ะกันครับ ขาดตกบกพร่องตรงไหนคอมเม้นเข้ามาติชมกันได้นะครับ ขอบคุณครับ
