ตั้งค่าอัตโนมัติใน EC2


0

ฉันยังใหม่ต่อการพัฒนาและออกแบบเว็บไซต์ (ฉันย้ายจากการก่อสร้างที่มีคำตอบใหญ่กว่า) และฉันพยายามสร้างสถาปัตยกรรม AWS ที่ปรับขนาดได้สำหรับไซต์ Wordpress ที่อาศัยอยู่ในระดับฟรี แต่จะเพิ่มขึ้นตามความต้องการ . มีวิธีแก้ปัญหาอินสแตนซ์ EC2 เดียวที่ให้เว็บเซิร์ฟเวอร์ของฉันทำการปรับขนาดอัตโนมัติและการโคลนเพื่อให้การเปลี่ยนแปลงแพร่กระจายไปทั่วทั้งชั้นโดยไม่จำเป็นต้องอัพเดตแต่ละอินสแตนซ์ด้วยตนเอง?

การค้นหาของฉันทำให้ฉันสนใจในโซลูชันซอฟต์แวร์ที่เป็นไปได้ของ nginx และ heartbeat หรือ corosync แต่ฉันไม่รู้ว่าจะใช้งานที่ไหนในราคาถูก

แก้ไข : ตอนนี้กำลังมองหา rsync และ incron แต่การมีอินสแตนซ์ของเซิร์ฟเวอร์ทั้งหมดจะทำให้เกิดการเปลี่ยนแปลงทำให้วงวนไม่สิ้นสุดในการเปลี่ยนแปลงหรือไม่


นี่เป็นโครงการที่ยิ่งใหญ่สำหรับคนที่เพิ่งรู้จักกับ webdev
ceejayoz

คำตอบ:


1

ให้อินสแตนซ์ "Gold" ด้วยตัวคุณเองซึ่งมีจุดประสงค์เพื่อปรับปรุงเว็บไซต์ของคุณ เมื่อคุณอัปเดตไซต์ให้เรียกใช้อินสแตนซ์อัปเดตไซต์ของคุณหยุดอินสแตนซ์จากนั้นสร้างอิมเมจ AMI ใหม่ของอินสแตนซ์

เมื่อคุณทำเช่นนั้นให้อัปเดตกลุ่มการหมุนอัตโนมัติของคุณเพื่อเปิดใช้งานสำเนาของภาพ AMI ใหม่นั้น ยุติอินสแตนซ์ที่ใช้อิมเมจ AMI เก่า

ด้วยวิธีนี้คุณจะอัปเดตอินสแตนซ์เดียวเท่านั้น


ฐานข้อมูลจัดเก็บอยู่ที่ไหน และมันจะขยายได้อย่างไร?
Ladadadada

ฐานข้อมูลจะให้บริการจาก RDS และวัตถุแคชใน Elasticache ปรับขนาดด้วยปลั๊กอิน Wordpress และตั้งค่า master / slave ตามความจำเป็น
crockett95

หากคุณกำลังทำการวิเคราะห์ข้อมูลอัตโนมัติฐานข้อมูลของเราควรอยู่ในที่ที่ไม่ได้รับการปรับอัตโนมัติ ฐานข้อมูลการขยายต้องใช้กลไกในตัวของมันเอง (การทำคลัสเตอร์การจำลองแบบ ฯลฯ ) และไม่ควรทำโดยใช้การปรับอัตโนมัติ
Matt Houser

ขอบคุณฉันคาดหวังว่าการแคชจะช่วยลดความจำเป็นในการขยายเซิร์ฟเวอร์ฐานข้อมูล แต่จะดำเนินการด้วยตนเองหากจำเป็น นอกจากนี้การตั้งค่าที่ทำงานได้จะเป็นการสร้าง (ทั้งหมดอยู่ด้านหลังตัวโหลดบาลานเซอร์ของฉัน) อินสแตนซ์เซิร์ฟเวอร์ "หลัก" ตลอดเวลาที่อยู่นอกกลุ่มปรับขนาดอัตโนมัติและอินสแตนซ์ปรับขนาดอัตโนมัติ (0 ถึงจำนวนมาก ผลักดันการเปลี่ยนแปลงไปยังต้นแบบและใช้ cron และ rsync เพื่อดึงการเปลี่ยนแปลงจากต้นแบบหรือไม่
crockett95

0

มีวิธีแก้ปัญหาอินสแตนซ์ EC2 เดียวที่ให้เว็บเซิร์ฟเวอร์ของฉันทำการปรับขนาดอัตโนมัติและการโคลนเพื่อให้การเปลี่ยนแปลงแพร่กระจายไปทั่วทั้งชั้นโดยไม่จำเป็นต้องอัพเดตแต่ละอินสแตนซ์ด้วยตนเอง?

มีตัวเลือกให้เลือกมากมาย แต่ก็ยากที่จะให้คำตอบที่ 'ถูกต้อง' โดยไม่มีข้อมูลมากขึ้น

คุณสามารถใช้เครื่องมือระดับมืออาชีพเพื่อจัดการระบบปฏิบัติการแต่ละระบบเช่น Puppet หรือ Chef สิ่งเหล่านี้ช่วยให้คุณสามารถเก็บการกำหนดค่าเซิร์ฟเวอร์ทั้งหมดไว้ในรหัสและปรับใช้การเปลี่ยนแปลงกับเครื่องหนึ่งเครื่องหรือมากกว่า

สำหรับรหัสแอปพลิเคชันของคุณคุณสามารถเก็บไว้ในที่เก็บ (git หรือ svn) และขึ้นอยู่กับว่าคุณต้องการจัดการกระบวนการปรับใช้ของคุณอย่างไรคุณสามารถทำให้เซิร์ฟเวอร์ของคุณเป็นอัตโนมัติในลักษณะที่เมื่อคุณเช็คอินด้วยรหัส เซิร์ฟเวอร์ที่จะอัปเดต คำสั่งใน SVN จะเป็น 'svn up'

แน่นอนว่าตัวเลือกเหล่านี้อาจไม่เหมาะสมที่สุดสำหรับคุณทุกอย่างขึ้นอยู่กับสิ่งที่คุณพยายามทำและวิธีที่คุณต้องการบรรลุ

ด้วยโซลูชันประเภทนี้คุณสามารถทำสำเนาเซิร์ฟเวอร์ได้ตลอดเวลาลงทะเบียนกับ AUTO-SCALE และเมื่อเครื่องเกิดขึ้นมันจะทำให้ตัวเองทันสมัย คุณสามารถอัปเดตสแน็ปช็อตเป็นครั้งคราวเพื่อทำให้สิ่งต่าง ๆ เร็วขึ้น แต่ก็ไม่จำเป็นที่จะต้องทำการอัพเดทให้ทันสมัยด้วยการเปลี่ยนแปลงทุกครั้ง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.