มีแนวคิดหลายประการที่คุณสามารถใช้ประโยชน์ได้
กุญแจสู่ความสำเร็จคือระบบอัตโนมัติ
ตัวเลือกแรกคือการให้ทำสิ่งที่คุณกำลังทำอยู่ตอนนี้คือสร้าง EC2s กับเปลี่ยนการตั้งค่าทุก ในวิธีอัตโนมัติอย่างสมบูรณ์
ในขณะที่คุณกำลังทำในขณะนี้การปรับปรุงการกำหนดค่าผ่าน Amis คุณใช้เวลานี้หนึ่งก้าวและสร้างท่อที่เมื่อมีการเปลี่ยนแปลงการตั้งค่าไฟล์ในพื้นที่เก็บข้อมูลบางอย่างจะ:
- สร้าง AMI ใหม่โดยอัตโนมัติ- หนึ่งในเครื่องมือที่ได้รับความนิยมมากที่สุดในการทำนั่นคือPacker
- สร้างกอง Nginx ของคุณใหม่โดยอัตโนมัติ- คุณควรมีเซิร์ฟเวอร์ Nginx ทั้งหมดในกลุ่มการปรับขนาดอัตโนมัติที่มีApplication Load Balancerอยู่ข้างหน้า หากคุณไม่ควรทำอย่างนั้นมันจะทำให้การอัปเดตนั้นง่ายเหมือนการอัปเดตการกำหนดค่าการเปิดตัว ASGและรอให้อินสแตนซ์สร้างขึ้นใหม่จาก AMI ใหม่
ตัวเลือกที่สองคือการเก็บอินสแตนซ์ในสถานที่และปรับใช้ไฟล์การกำหนดค่าโดยไม่ต้องสร้างใหม่ โดยทั่วไปคุณสามารถจัดการกับไฟล์การกำหนดค่าเป็นรหัสและปรับใช้การเปลี่ยนแปลงการกำหนดค่าของคุณในลักษณะเดียวกันกับที่คุณปรับใช้การวางจำหน่ายรหัส AWS มีเครื่องมือมากมายที่ช่วยได้
- AWS Elastic Beanstalkที่ใช้ Chefภายในและคุณสามารถเขียนสคริปต์ Nginx ของคุณได้ด้วยวิธีนี้
- การปรับใช้รหัส AWSซึ่งเป็นเครื่องมือการปรับใช้สคริปต์ที่ทำงานร่วมกับส่วนอื่น ๆ ของ AWS Code Suite ได้ดี :
- Code Commitที่คุณสามารถเก็บไฟล์การกำหนดค่า Nginx ไว้ใน Git
- รหัสไปป์ไลน์ที่สามารถทริกเกอร์การปรับใช้โดยอัตโนมัติเมื่อใดก็ตามที่ไฟล์การกำหนดค่าถูกอัพเดตใน Code Commit
- Ansibleหรือ Puppetซึ่งเป็นเครื่องมือที่ไม่ใช่ของ AWS ที่ได้รับความนิยมซึ่งสามารถช่วยคุณให้เซิร์ฟเวอร์ทั้งหมดได้รับการกำหนดค่าแบบเดียวกัน
เมื่อคุณพอใจกับการอัปเดตการกำหนดค่า Nginx เหล่านี้โดยอัตโนมัติคุณอาจต้องการขยายระบบอัตโนมัติไปยังส่วนที่เหลือของโครงสร้างพื้นฐานของคุณ
มีเอกสารไวท์เปเปอร์ที่ยอดเยี่ยมเกี่ยวกับตัวเลือกการปรับใช้บน AWSที่จะให้ภาพรวมที่ดี
ฉันหวังว่าจะช่วย :)