รูปภาพเครื่องของ Amazon ทำงานอย่างไร


9

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

คำตอบ:


10

ในรูปแบบที่ง่ายที่สุด AMI คือคำอธิบายของเครื่องเสมือน - ประเภทของการจำลองเสมือนสถาปัตยกรรม (32/64 บิต) เคอร์เนลและอุปกรณ์รูท ในคำพูดของอเมซอน:

AMI เป็นเทมเพลตที่มีการกำหนดค่าซอฟต์แวร์ (ระบบปฏิบัติการเซิร์ฟเวอร์แอพพลิเคชั่นและแอพพลิเคชั่น) ที่คุณสามารถทำงานบนสภาพแวดล้อมการประมวลผลของ Amazon ที่ได้รับการพิสูจน์แล้ว

อินสแตนซ์ EC2 เป็นเครื่องเสมือนที่ทำงานบนฮาร์ดแวร์ของ Amazon เพื่อให้อินสแตนซ์เริ่มต้นมีข้อมูลจำนวนต่ำสุดที่จำเป็น นอกจากนี้ประเภทอินสแตนซ์ที่ต่างกันรองรับการกำหนดค่าที่แตกต่างกัน (เช่นบางประเภทไม่รองรับ AMI แบบ 32 บิต)

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

ในแง่ของปริมาณรูต AMIs มีการอ้างอิงถึงปริมาณที่มีอยู่ (เช่นพวกเขาอ้างอิงภาพรวมสำหรับอินสแตนซ์ที่ได้รับการสนับสนุน EBS หรือส่วนภาพในกรณีของอินสแตนซ์ S3 ที่ได้รับการสนับสนุน)

AMIs ยังมีการตรวจสอบข้อผิดพลาดในระดับหนึ่ง - โดยทั่วไปคือ user-id เพื่อระบุความเป็นเจ้าของ, คีย์เข้ารหัส (ที่เข้ารหัสภาพ) และลายเซ็น (เพื่อตรวจสอบความถูกต้องของภาพ) คุณสามารถทราบได้ว่า AMI คืออะไรโดยดูที่ไฟล์ Manifest ที่สร้างขึ้นเมื่อสร้าง S3 ที่สำรองไว้ - เป็นเพียงไฟล์ที่มีข้อมูลและการอ้างอิงถึงรายการอื่น ๆ (ที่เก็บเคอร์เนล ฯลฯ )

รูปภาพอ้างอิงเป็นการทำแผนที่อุปกรณ์บล็อก - มันระบุอุปกรณ์ (เช่น / dev / sda1) และแหล่งข้อมูล (ephemeral (และส่วน S3 หากเกี่ยวข้อง) หรือ ebs-snapshot) เนื่องจากส่วนต่าง ๆ ของ S3 ได้รับการลงนามและ ebs-snapshots ไม่สามารถเปลี่ยนแปลงได้ (ถูกลบเท่านั้น) การเรียกใช้งานอินสแตนซ์จาก AMI (โดยไม่มีการแทนที่การตั้งค่า) จะส่งผลให้เกิดอินสแตนซ์ด้วยการตั้งค่าซอฟต์แวร์เดียวกัน (โปรดทราบว่ามันยังคงเป็นไปได้สำหรับอินสแตนซ์ที่เปิดตัวจาก AMI เดียวกันเพื่อให้แตกต่างกันในสถานะการทำงานเนื่องจากข้อมูลผู้ใช้หรือการแมปอุปกรณ์บล็อกที่แตกต่างกัน (เช่นอินสแตนซ์ขนาดเล็กไม่มีที่เก็บข้อมูลชั่วคราวในขณะที่ประเภทอินสแตนซ์อื่นทำ) ที่นี่ไดรฟ์ข้อมูลที่แนบมาจะถูกจัดเก็บแยกต่างหากจาก AMI แต่การอ้างอิงโดย AMI ในลักษณะที่ไม่สามารถเปลี่ยนแปลงไดรฟ์ข้อมูลได้

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

ดังนั้นเพื่อตอบคำถามของคุณสั้น ๆ : เป็นลิงค์ไปยังอินสแตนซ์หรือมันถูกเก็บไว้และไม่เคยเปลี่ยน มันถูกเก็บไว้และไม่เคยเปลี่ยนแปลง

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


ดังนั้นพวกเขาจึงอ้างอิงถึง EBS ของอินสแตนซ์ดังนั้นหากสถานะ EBS เปลี่ยนไปหลังจากการสร้าง AMI รัฐ AMI ก็จะเปลี่ยนไปเช่นกัน?
Wiz

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

3

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

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

คำตอบของฉันที่นี่อาจช่วยได้เช่นกัน: https://stackoverflow.com/a/7895489/111286

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