หากฉันปิดอินสแตนซ์ Amazon EC2 จากนั้นเริ่มใหม่อีกครั้งทุกอย่างจะโอเคไหม


12

ฉันมีเว็บไซต์ที่ทำงานบนอินสแตนซ์ที่ใช้ Amazon EC2 Linux และแมปกับชื่อโดเมนปกติ (x.com) ไซต์นี้พูดคุยกับฐานข้อมูลในอินสแตนซ์ EC2 ที่สอง

ฉันต้องปิดอินสแตนซ์นี้และเพิ่มพลังการประมวลผลที่อยู่เบื้องหลังมัน ... ถ้าฉันทำเช่นนั้นจะใช้เวลานานเท่าใดและเมื่อฉันหมุนเครื่องอีกครั้งเว็บไซต์ของฉันจะกลับมาออนไลน์อีกครั้งหรือไม่ ที่อยู่ IP ข้อมูล DNS ฯลฯ ทั้งหมดจะถูกเก็บไว้เพื่อให้ชื่อโดเมนจะทำงานต่อไปและมันจะยังคงสามารถพูดคุยกับฐานข้อมูลได้หรือไม่

FYI นี่คือสิ่งที่ฉันเห็นในขณะนี้สำหรับเว็บเซิร์ฟเวอร์ในแผงข้อมูล AWS EC2 (ที่อยู่ IP ที่แน่นอนเปลี่ยนไปเล็กน้อย แต่คุณได้รับแนวคิด):

Public DNS: ec2-54-1-1-1.us-west-1.compute.amazonaws.com
Private DNS: ip-10-1-1-1.us-west-1.compute.internal
Private IPs: 10.1.1.1

คำตอบ:


13

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

  1. อินสแตนซ์ถูกกำหนดที่อยู่ IP ภายในใหม่

  2. อินสแตนซ์ถูกกำหนดให้เป็นที่อยู่ IP สาธารณะใหม่

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

  4. ข้อมูลทั้งหมดในที่จัดเก็บข้อมูลชั่วคราว (มักอยู่ภายใต้ / mnt) จะสูญหาย

นอกจากนี้ยังมีความเกี่ยวข้องกับการเรียกเก็บเงินและความพร้อมใช้งานซึ่งฉันได้อธิบายไว้ในบทความนี้:

การรีบูตเครื่องกับ Stop / Start ของ Amazon EC2 อินสแตนซ์
http://alestic.com/2011/09/ec2-reboot-stop-start

อินสแตนซ์ VPC มีพฤติกรรมที่แตกต่างกันเล็กน้อยรวมถึงการรักษาที่อยู่ IP แบบยืดหยุ่นผ่านการหยุด / เริ่มต้น

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

ฉันลงรายละเอียดเพิ่มเติมเกี่ยวกับวิธีการนี้ในบทความนี้:

การใช้ Elastic IP เพื่อระบุอินสแตนซ์ภายในของ Amazon EC2
http://alestic.com/2009/06/ec2-elastic-ip-internal

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

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

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


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

@bsacklett คำตอบนี้ล้าสมัยไปเล็กน้อย ฉันได้อัปเดตเพื่ออธิบายว่าอินสแตนซ์ที่ไม่ใช่ VPC เท่านั้นที่สูญเสีย IP แบบยืดหยุ่น วันนี้อินสแตนซ์ส่วนใหญ่เป็น VPC แน่นอน
Eric Hammond

4

ดังนั้นดูเหมือนว่าคุณไม่ได้ใช้ Elastic IP อย่างที่ฉันเห็นจากข้อมูลของคุณ

ฉันเชื่อว่าคุณต้องใช้ CNAME ใน DNS เพื่อชี้ไปที่อินสแตนซ์นี้ หากคุณรีสตาร์ทเครื่องจากนั้นec2-54-1-1-1.us-west-1.compute.amazonaws.comชื่อ DNS นี้จะเปลี่ยนไปและเว็บไซต์ของคุณจะหยุดทำงาน

IP ภายในที่เกี่ยวข้องนั้นจะเปลี่ยนไปถ้าคุณใช้ VPC ซึ่งคุณไม่ได้ใช้

ดังนั้นถ้าฉันเป็นคุณฉันจะระมัดระวังในการรีสตาร์ทเครื่องนี้

มากเท่าที่เวลาเป็นห่วงมันจะไม่ใช้อะไรมากไปกว่าสองสามนาที

นอกจากนี้หากคุณมี iptables ใด ๆ ที่ทำงานที่อินสแตนซ์ DB ซึ่งอนุญาตให้ IP ภายในนี้เชื่อมต่อกับฐานข้อมูลได้เท่านั้นมันจะไม่ทำงานเนื่องจาก IP ภายในของคุณจะเปลี่ยนไป

ดังนั้นโปรดระวังหากคุณต้องการเริ่มต้นอินสแตนซ์นี้อีกครั้งและคิดให้รอบคอบ


2

IP ภายใน / ชื่อโฮสต์ของคุณจะเปลี่ยนและ Elastic IP ของคุณจะแยกออก (ยกเว้นว่าคุณอยู่ใน VPC)

ติดตั้ง Elastic IP อีกครั้งหลังจากคุณรีสตาร์ทอินสแตนซ์ ฉันทำสิ่งนี้เป็นประจำเพื่อเปลี่ยนขนาดของอินสแตนซ์และคุณจะดูเพียงแค่การหยุดทำงานไม่กี่นาที

ตรวจสอบ Apache และบริการอื่น ๆ ได้รับการตั้งค่าให้เริ่มต้น ( chkconfigหากคุณใช้ amazon linux ami)


1

เท่าที่ฉันจำได้การหยุดระบบเปลี่ยนประเภทและเริ่มใหม่อีกครั้งไม่ควรใช้เวลาเกิน 5-10 นาที (มันไม่ได้บอกว่าเป็นระบบสำรอง EBS) สำหรับบริการที่จะเริ่มเมื่อระบบกลับมาตรวจสอบให้แน่ใจว่าคุณมีบริการทั้งหมดที่เปิดใช้งานเพื่อเริ่มต้นการรีบูต (เช่นหุ่นเชิดใน Ubuntu 12.04 ของฉันฉันได้เปิดใช้งานใน / etc / default / puppet) จดบันทึก IP (ฉันทำไปนานแล้วดังนั้นอย่าจำไว้อย่างชัดเจน) และ IP ส่วนใหญ่ของคุณสามารถแยกออกจากระบบได้ แต่มันจะยังคงอยู่ในบัญชีของคุณดังนั้นไปที่ส่วนยืดหยุ่น IP แล้วเชื่อมโยงอีกครั้งกับ รีสตาร์ทระบบและคุณจะไม่เป็นไร


1

ดังที่ได้กล่าวไปแล้วถ้าคุณมี IP ที่ยืดหยุ่นมันจะแนบไปกับอินสแตนซ์อีกครั้งดังนั้นการตั้งค่า DNS ของคุณไม่จำเป็นต้องแตะ อย่างไรก็ตามไม่ว่าอย่างใดอย่างหนึ่ง IP ส่วนตัวของคุณจะเปลี่ยน นี่อาจหมายความว่าคุณจะต้องอัปเดตการตั้งค่า GRANT ของคุณใน mysql เพราะคุณไม่ใช่แค่GRANT ALL PRIVILEGES ON *.* to 'somedude'@'%'... ใช่มั้ย ;)

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