เรากำหนดค่าอินสแตนซ์ AWS EC2 (Ubuntu 20.04) ด้วย cloud-init โดยใช้สคริปต์ข้อมูลผู้ใช้ เราสังเกตเห็นว่าสคริปต์ข้อมูลผู้ใช้ไม่ทำงานหากรันบนอินสแตนซ์ที่เปิดใช้งานจาก AMI แบบกำหนดเองที่สร้างจากอินสแตนซ์อื่นที่เปิดใช้งาน
เราสร้าง AMI ระดับกลางซึ่งมีเครื่องมือและเฟรมเวิร์กทั่วไป และนำกลับมาใช้ใหม่สำหรับความต้องการเฉพาะ -
- อันดับแรก เราเปิดตัวอินสแตนซ์จาก AMI ที่เผยแพร่ สคริปต์ข้อมูลผู้ใช้ได้รับการดำเนินการอย่างสมบูรณ์แบบตั้งแต่การบูตครั้งแรกในอินสแตนซ์นี้
- เราสร้าง AMI ระดับกลางจากอินสแตนซ์ที่เปิดใช้งานในขั้นตอนแรก
- จากนั้นเปิดใช้อินสแตนซ์อื่นจาก AMI ระดับกลาง
เรามีสคริปต์ข้อมูลผู้ใช้ในอินสแตนซ์ที่เปิดใช้งานจาก AMI ระดับกลางเช่นกัน แต่สคริปต์ไม่ทำงาน ฉันสังเกตเห็นว่า cloud-init
บริการรวบรวมข้อมูลเมตาของ (cloud-init.service
) ไม่ทำงานในขั้นตอนที่ 3 และด้วยเหตุนี้ สคริปต์ผู้ใช้จึงไม่ถูกเรียกใช้งาน
เราได้พยายามล้างแคช cloud-init แล้วก่อนที่จะสร้าง AMI ระดับกลาง เพื่อให้ cloud-init สามารถเรียกใช้เป็นบูตครั้งแรกในอินสแตนซ์ใหม่ [อ้างอิง] -
sudo cloud-init clean --logs --seed
และฉันยังพยายามทำความสะอาด /etc/รหัสเครื่อง
ตามที่แบ่งปัน ที่นี่ แต่ไม่มีอะไรทำงาน
มีอะไรที่ฉันขาดหายไปในการทำความสะอาดสำหรับ cloud-init เพื่อให้สามารถเรียกใช้เป็นการเริ่มต้นครั้งแรกสำหรับอินสแตนซ์ใหม่ได้หรือไม่