Beanstalk CLI
แนะนำ Elastic Beanstalk CLI
Elastic Beanstalk CLI หรือเรียกสั้น ๆ ว่า EB CLI เป็นเครื่องมือ CLI ที่ช่วยให้การทำงานกับ Beanstalk ผ่าน command line ง่ายขึ้นมาก
EB CLI มีคำสั่งที่ใช้บ่อย เช่น
eb createeb statuseb healtheb eventseb logseb openeb deployeb configeb terminate
คำสั่งเหล่านี้ช่วยให้คุณสามารถทำสิ่งเดียวกันกับที่ทำผ่าน Beanstalk Console ได้ แต่ทำจาก command line ได้โดยตรง
การใช้ EB CLI มีประโยชน์มากหากต้องการ ทำ automation สำหรับ development pipelines แต่สำหรับ Developer Exam ไม่จำเป็นต้องรู้ลึก เกี่ยวกับคำสั่งเหล่านี้ → ส่วนใหญ่จะเกี่ยวข้องกับ DevOps Exam มากกว่า
ถึงแม้ในคอร์สนี้จะไม่ได้มีการทำ hands-on กับ EB CLI แต่สิ่งสำคัญคือ คุณควรรู้ว่ามันมีอยู่ และช่วยเพิ่มประสิทธิภาพในการทำงานกับ Beanstalk ได้
การ Deploy แอปพลิเคชันด้วย Elastic Beanstalk CLI
การ Deploy แอปผ่าน Beanstalk ด้วย EB CLI มีขั้นตอนดังนี้:
-
อธิบาย dependencies ของแอป
- เช่น ใช้
requirements.txtสำหรับ Python - หรือ
package.jsonสำหรับ Node.js
- เช่น ใช้
-
แพ็กโค้ดทั้งหมดลงในไฟล์ zip
- รวมทั้งไฟล์ dependencies (requirements.txt / package.json)
- จากนั้นอัปโหลดไฟล์ zip เข้า Beanstalk → สิ่งนี้จะสร้าง application version ใหม่
-
Deploy application version
- ทำได้ทั้งจาก Beanstalk Console หรือ EB CLI
- EB CLI จะช่วย อัตโนมัติ ทั้งการแพ็กโค้ด, อัปโหลด, และ deploy
-
การจัดเก็บไฟล์
- ไฟล์ zip จะถูกเก็บใน Amazon S3
- Beanstalk จะอ้างอิงไฟล์ bundle นี้สำหรับการ deploy
กระบวนการเบื้องหลังการ Deploy ของ Elastic Beanstalk
เมื่อเริ่มการ Deploy → Beanstalk จะทำงานดังนี้:
- นำไฟล์ zip ที่อัปโหลดไว้ไปกระจายลงบนทุก EC2 instance
- แต่ละ instance จะติดตั้ง dependencies ที่ระบุไว้ (เช่น ใน
requirements.txtหรือpackage.json) - แอปพลิเคชันจะเริ่มรัน
นี่คือภาพรวมเชิงทฤษฎีของ backend process ที่ Beanstalk ทำงานระหว่างการ Deploy
หากอยากลองใช้งานจริง สามารถไปที่ เอกสารทางการของ AWS เพื่อติดตั้ง EB CLI และทดลองได้ แต่สำหรับคอร์สและการสอบนี้ ถือว่าเกินขอบเขต
สิ่งสำคัญที่สุดคือ รู้ว่า EB CLI มีอยู่ และเข้าใจว่ามันถูกสร้างมาเพื่อช่วยให้การ Deploy ทำได้ง่ายขึ้นและเร็วขึ้น
Key Takeaways
- EB CLI คือเครื่องมือที่ช่วยให้จัดการ Elastic Beanstalk ได้ง่ายขึ้นจาก command line
- คำสั่งที่ใช้บ่อย เช่น
eb create,eb status,eb health,eb deployฯลฯ - การ Deploy ต้องแพ็กโค้ดและ dependencies เป็นไฟล์ zip (เช่น
requirements.txt,package.json) - EB CLI จะช่วยอัตโนมัติในขั้นตอนแพ็กกิ้ง, อัปโหลด, และ deploy
- มีประโยชน์อย่างยิ่งใน DevOps workflow แม้ว่าใน Developer Exam จะไม่เน้นเรื่องนี้