Score:1

แนวทางปฏิบัติที่ดีที่สุด: การย้าย VM และ VHost หลายรายการไปยัง Docker

ธง sg

ปัจจุบัน ฉันมีไซต์และแอปพลิเคชันประมาณ 20 แห่งที่โฮสต์ใน AWS EC2 บางตัวมี EC2 เป็นของตัวเอง ในขณะที่ตัวอื่นใช้ EC2 ร่วมกับโฮสต์เสมือนหลายตัวบน EC2 นั้น

แต่ละไซต์แยกจากกันโดยสิ้นเชิงและไม่เกี่ยวข้องกัน เซิร์ฟเวอร์ที่ใช้ EC2 ร่วมกันโดยทั่วไปจะมีขนาดเล็กกว่ามากโดยมีความต้องการทราฟฟิก/ทรัพยากรเพียงเล็กน้อย (ด้วยเหตุนี้จึงเป็นเซิร์ฟเวอร์ที่ใช้ร่วมกัน)

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

ฉันกำลังมองหาการใช้ Docker ในสภาพแวดล้อม dev > prod ทั้งหมดของฉันเพื่อการใช้ทรัพยากรเซิร์ฟเวอร์ที่ดีขึ้น และการโยกย้ายระหว่างสภาพแวดล้อมที่ง่ายขึ้น ฯลฯ

เราอยากทราบความคิดเห็นของคุณเกี่ยวกับแนวทางปฏิบัติที่ดีที่สุดสำหรับฮาร์ดแวร์เซิร์ฟเวอร์ที่ใช้งานจริง

เป็นการดีที่สุดที่จะใช้ EC2 ที่ใหญ่กว่าหนึ่งอันและให้ทุกไซต์เป็นคอนเทนเนอร์นักเทียบท่าของตัวเอง ดูเหมือนว่าจะมีผู้ดูแลเซิร์ฟเวอร์น้อยลง การตั้งค่าโดยรวมเป็นระเบียบเรียบร้อยขึ้น และจากสิ่งที่ฉันเข้าใจ แต่ละคอนเทนเนอร์นักเทียบท่ายังคงรักษาตัวเองจากมุมมองด้านความปลอดภัย แต่ปัญหาเกี่ยวกับเซิร์ฟเวอร์หรือทรัพยากรที่เพิ่มขึ้นอย่างรวดเร็วจะส่งผลกระทบต่อทุกไซต์ (ลดภาระโดยตัวจัดสรรภาระงาน)

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

การใช้ EC2 เดียวสำหรับทุกไซต์ทำให้ง่ายขึ้น (มีผู้ดูแลระบบน้อยลง) ในการตั้งค่าโหลดบาลานเซอร์และ/หรือใช้งานเซิร์ฟเวอร์มากเกินไป

บันทึก; ถ้ามันสร้างความแตกต่างได้ ฉันใช้ RDS สำหรับ MySQL; ไม่มี MySQl ที่ทำงานบน EC2 ใด ๆ โดยตรง

ขอบคุณล่วงหน้า

Score:1
ธง id
MLu

ปกติเราใช้ ECS (บริการคอนเทนเนอร์ยางยืด) ด้วยจำนวน X ของ งาน (= เว็บไซต์ของคุณ) และ Y จำนวนของ เจ้าภาพ (= EC2 อินสแตนซ์สำหรับการเรียกใช้งานเหล่านั้น) โดยที่ X >= Y จากนั้นเราปล่อยให้ ECS กระจายงานไปยังโฮสต์ต่างๆ ตามที่เห็นสมควรตามข้อกำหนด คุณสามารถระบุจำนวน RAM และพลังงาน CPU ที่แต่ละงาน/เว็บไซต์ต้องการได้

เรายังมีอินสแตนซ์ EC2 ในไฟล์ กลุ่มปรับขนาดอัตโนมัติ - หากหนึ่งในนั้นตาย มันจะถูกแทนที่โดยอัตโนมัติ จากนั้น ECS จะปรับใช้คอนเทนเนอร์ที่สูญหายอีกครั้งโดยอัตโนมัติ และลงทะเบียนคอนเทนเนอร์เหล่านั้นไปยัง Load Balancer โดยไม่ต้องมีการแทรกแซงจากมนุษย์

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

บรรทัดล่างคือการ แยกงาน (คอนเทนเนอร์) ออกจากโฮสต์ - มีกลุ่มของเว็บไซต์และไม่สนใจว่าพวกเขาจะทำงานที่ไหน และมีกลุ่มของโฮสต์และไม่สนใจว่าจะทำงานอะไรบนไซต์เหล่านั้นมันต้องการการทำงานอัตโนมัติในระดับหนึ่ง - คุณต้องให้งานลงทะเบียนโดยอัตโนมัติกับ ALB Target Groups, โฮสต์ที่เพิ่มโดยอัตโนมัติเมื่อความจุหมด / แทนที่หากงานนั้นตาย ฯลฯ แต่ระบบอัตโนมัติพื้นฐานนี้ควรได้รับอยู่แล้ว

หวังว่าจะช่วยได้ :)

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา