ความแตกต่างระหว่างการรีบูตเครื่องและการหยุดอินสแตนซ์ amazon EC2


13

ฉันสังเกตเห็นว่าการโทรec2.rebootInstancesหาอินสแตนซ์ Amazon EC2 นั้นเร็วกว่าการหยุดและเริ่มต้นอีกครั้ง ( ec2.stopInstances ec2.startInstances)

นอกจากนี้ยังเก็บรักษาที่อยู่ IP ของอินสแตนซ์ (ฉันไม่มี IP ที่ยืดหยุ่นอยู่) ec2.rebootInstance ทำอะไรที่แตกต่างจากการหยุดและเริ่มอินสแตนซ์

คำตอบ:


23

เมื่อคุณหยุดอินสแตนซ์สำหรับเริ่มระบบ EBS คุณจะต้องละทิ้งฮาร์ดแวร์ที่มีอยู่จริง (หรือแบ่งเป็นส่วน ๆ ) ที่เซิร์ฟเวอร์ทำงานอยู่และ EC2 นั้นมีอิสระที่จะเริ่มต้นอินสแตนซ์ของคนอื่นที่นั่น

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

เมื่อคุณเริ่มต้นอินสแตนซ์อีกครั้ง EC2 จะเลือกฮาร์ดแวร์บางตัวเพื่อใช้งานโดยเชื่อมโยงกับปริมาณ EBS และบู๊ตขึ้นใหม่อีกครั้งจากปริมาณรูท

สิ่งที่เปลี่ยนแปลงเมื่อคุณหยุด / เริ่มต้นรวมถึง:

  1. ใหม่ที่อยู่ IP ภายใน (แม้ว่าจะสุ่มเหมือนกัน)

  2. ที่อยู่ IP ภายนอกใหม่ (แม้ว่าจะสุ่มเหมือนกัน)

  3. หากที่อยู่ IP แบบยืดหยุ่นถูกเชื่อมโยงกับอินสแตนซ์ก่อนที่จะหยุดคุณจะต้องเชื่อมโยงอีกครั้งหลังจากเริ่มต้น

  4. เนื้อหาใด ๆ ในที่เก็บชั่วคราวก่อนหน้าของอินสแตนซ์ถูกลบและคุณจะได้รับการจัดเก็บชั่วคราวใหม่

  5. คุณสามารถปล่อยให้อินสแตนซ์หยุดได้นานเท่าที่คุณต้องการและไม่ถูกเรียกเก็บเงินสำหรับเวลาทำงาน (แม้ว่าคุณจะถูกเรียกเก็บเงินในอัตราที่ต่ำกว่ามากสำหรับพื้นที่เก็บข้อมูลปริมาณ EBS) ดูประเด็นต่อไป

  6. ชั่วโมงการเรียกเก็บเงินใหม่จะเริ่มขึ้นสำหรับอินสแตนซ์เมื่อคุณเริ่มต้นอีกครั้ง เช่นหากคุณเริ่มต้นอินสแตนซ์ใหม่จากนั้นหยุด / เริ่ม 3 ครั้งภายใน 60 นาทีแรกคุณจะถูกเรียกเก็บเงินเป็นเวลา 4 ชั่วโมงแทน 1

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

เมื่อคุณรีบูตเครื่องมันเป็นการรีบูทที่ระดับ OS และอินสแตนซ์จะยังคงทำงานบนฮาร์ดแวร์เดียวกันด้วยที่อยู่ IP สาธารณะและสาธารณะที่เหมือนกันเก็บที่อยู่ IP แบบยืดหยุ่น (ถ้าเกี่ยวข้อง) และเก็บที่เก็บชั่วคราวแบบเดียวกันโดยไม่ได้รับ เช็ด ไม่มีชั่วโมงการเรียกเก็บเงินใหม่เริ่มต้นในการรีบูตและคุณจะไม่ละทิ้งฮาร์ดแวร์อินสแตนซ์

ในขณะที่อินสแตนซ์หยุดคุณสามารถทำสิ่งดีๆก่อนที่จะเริ่มอีกครั้ง นี่คือบทความที่ฉันเขียนเกี่ยวกับการเปลี่ยนประเภทของอินสแตนซ์ขณะที่หยุด:

การย้ายอินสแตนซ์ EC2 ไปเป็นขนาดที่ใหญ่ขึ้น
http://alestic.com/2011/02/ec2-change-type

นี่คือบทความที่ฉันเขียนถึงวิธีการเปลี่ยนขนาดของดิสก์สำหรับบูต EBS ของอินสแตนซ์ขณะที่หยุดทำงาน:

การปรับขนาดรูตดิสก์บน EBS Boot EC2 Instance ที่ทำงานอยู่
http://alestic.com/2010/02/ec2-resize-running-ebs-root

นี่คือบทความที่ฉันเขียนเกี่ยวกับวิธีตรวจสอบรูทดิสก์ของอินสแตนซ์ (ในขณะที่หยุดทำงาน) เมื่อคุณไม่สามารถเชื่อมต่อได้ในขณะที่รันอยู่:

การแก้ไขไฟล์ในปริมาณรูต EBS ของอินสแตนซ์ EC2
http://alestic.com/2011/02/ec2-fix-ebs-root

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

วิธีที่ง่ายกว่าในการเปลี่ยนฮาร์ดแวร์ของอินสแตนซ์บน EC2
http://alestic.com/2011/02/ec2-move-hardware


+1 สำหรับการสรุปที่ยอดเยี่ยม (และทำให้พร้อมใช้งานบนบล็อกของคุณซึ่งฉันพบว่ามันเป็นอันดับแรกแน่นอน) - การเพิ่ม / แก้ไขเล็กน้อยหนึ่งครั้งเกี่ยวกับหัวข้อที่ 3: ฉันเพิ่งสังเกตเห็นว่าอินสแตนซ์เริ่มต้นใน Amazon Virtual Private Cloud (VPC) แตกต่างกันที่นี่เช่นที่อยู่ IP ยืดหยุ่น (ถ้ามี) ยังคงเกี่ยวข้องแม้ในสถานะหยุด (และดูเหมือนจะไม่ถูกเรียกเก็บเงินตาม) ฉันยังไม่พบเอกสารเฉพาะเกี่ยวกับเรื่องนี้และฉันยังไม่ได้ตรวจสอบว่ามีรายละเอียดปลีกย่อยที่เกี่ยวข้องด้วยหรือไม่
Steffen Opel

ขอบคุณสำหรับการบันทึก ฉันได้เพิ่มความคิดเห็นที่ชี้ให้เห็นสิ่งนี้ในโพสต์บล็อก: alestic.com/2011/09/ec2-reboot-stop-start
Eric Hammond
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.