วิธีที่แนะนำและได้รับการสนับสนุนในการอัพเกรดสภาพแวดล้อม AWS Beanstalk ของคุณได้รับการบันทึกไว้ที่นี่และมีการกล่าวถึงการอัปเดตแพลตฟอร์มที่มีการจัดการที่นี่โดยสุจริตฉันจะยึดติดกับสิ่งนั้นถ้าคุณต้องการ รับการอัปเดตที่ไม่ทำลายเท่านั้นและ AWS จะจัดการกระบวนการดังนั้นจึงไม่มีการหยุดทำงาน
ดังนั้นฉันแค่ต้องการย้ำว่าการอัปเดตแพลตฟอร์มที่มีการจัดการน่าจะเป็นสิ่งที่คุณหรือใครก็ตามที่มาที่นี่จาก Google จะต้องการ แต่ถ้าคุณต้องการทราบ AWS ล่าสุดที่ให้ AMI สำหรับสภาพแวดล้อม Beanstalk ของคุณ เพื่อจัดระเบียบการตั้งชื่ออย่างมีเหตุผลจาก Amazon ใน AMIs ของพวกเขา)
เริ่มต้นด้วยอินสแตนซ์จากสภาพแวดล้อมของคุณให้อธิบายอินสแตนซ์เพื่อรับ AMI ปัจจุบัน (ข้ามหากคุณรู้จัก AMI ปัจจุบันแล้ว)
aws ec2 describe-instances --instance-ids i-0909613f35ec0ffee --query 'Reservations[*].Instances[*].ImageId' --output text
ami-35290a56
รับ AMI ID ที่ได้และอธิบาย
aws ec2 describe-images --image-ids ami-35290a56 --query 'Images[*][Architecture, Hypervisor, Name, RootDeviceType, VirtualizationType]' --output json
[
[
"x86_64",
"xen",
"aws-elasticbeanstalk-amzn-2016.03.0.x86_64-python34-hvm-201603290718",
"ebs",
"hvm"
]
]
เราสามารถใช้เอาต์พุตด้านบนเป็นอินพุตในการเรียงลำดับใหม่describe-images
แต่คราวนี้เราแทนที่การประทับเวลาด้วย*
สัญลักษณ์ตัวแทนเช่น:
aws ec2 describe-images --filters 'Name=architecture,Values=x86_64' 'Name=virtualization-type,Values=hvm' 'Name=owner-alias,Values=amazon' 'Name=name,Values=aws-elasticbeanstalk-amzn-*.x86_64-python34-hvm-*' --query 'sort_by(Images[*], &Name)[-1].ImageId' --output text
ami-1be5de78
เนื่องจากอำนาจของการเรียงลำดับคำศัพท์และ ISO 8601 เราจบลงด้วย AMI ami-1be5de78
ใหม่ล่าสุดซึ่งในตัวอย่างของฉันคือ
aws ec2 describe-images --image-ids ami-1be5de78 --query 'Images[*].Name' --output text
aws-elasticbeanstalk-amzn-2016.09.0.x86_64-python34-hvm-201612200708
อีกครั้งฉันจะไม่แนะนำให้คุณลองเปลี่ยน AMI นี้ด้วยตัวเอง Beanstalk มีข้อกำหนดที่จะทำทุกอย่างให้คุณ!