在使用Amazon Web Services (AWS)時,EC2實例的根卷(root volume)通常與實例的生命周期綁定。這意味著,當您終止一個EC2實例時,默認情況下,根卷也會被自動刪除。然而,在某些情況下,您可能希望保留根卷中的數據,即使實例被終止。本文將詳細介紹如何在終止AWS實例時保留根卷。
在AWS中,EC2實例的根卷是實例啟動時自動創建和附加的EBS(Elastic Block Store)卷。默認情況下,根卷的“刪除終止”屬性被設置為“是”(Delete on Termination: Yes)。這意味著,當您終止實例時,根卷也會被自動刪除。
在創建EC2實例時,您可以通過AWS管理控制臺、AWS CLI或AWS SDK查看和修改根卷的“刪除終止”屬性。
aws ec2 describe-instances命令可以查看實例的根卷屬性。為了在終止實例時保留根卷,您需要在實例啟動時或啟動后修改根卷的“刪除終止”屬性。
在啟動EC2實例時,您可以通過以下步驟修改根卷的“刪除終止”屬性:
AWS管理控制臺:
AWS CLI:
aws ec2 run-instances命令啟動實例時,可以通過--block-device-mappings參數指定根卷的“刪除終止”屬性。
aws ec2 run-instances --image-id ami-0abcdef1234567890 --instance-type t2.micro --block-device-mappings "[{\"DeviceName\":\"/dev/xvda\",\"Ebs\":{\"DeleteOnTermination\":false}}]"
AWS SDK:
ec2 = boto3.client(‘ec2’) response = ec2.run_instances( ImageId=‘ami-0abcdef1234567890’, InstanceType=‘t2.micro’, BlockDeviceMappings=[ { ‘DeviceName’: ‘/dev/xvda’, ‘Ebs’: { ‘DeleteOnTermination’: False } } ] ) “`
如果您已經啟動了實例,但希望保留根卷,您可以在實例運行期間修改根卷的“刪除終止”屬性。
AWS管理控制臺:
AWS CLI:
aws ec2 modify-instance-attribute命令修改根卷的“刪除終止”屬性。
aws ec2 modify-instance-attribute --instance-id i-0abcdef1234567890 --block-device-mappings "[{\"DeviceName\":\"/dev/xvda\",\"Ebs\":{\"DeleteOnTermination\":false}}]"
AWS SDK:
ec2 = boto3.client(‘ec2’) ec2.modify_instance_attribute( InstanceId=‘i-0abcdef1234567890’, BlockDeviceMappings=[ { ‘DeviceName’: ‘/dev/xvda’, ‘Ebs’: { ‘DeleteOnTermination’: False } } ] ) “`
在修改了根卷的“刪除終止”屬性后,您可以安全地終止實例,而根卷將不會被刪除。
終止實例:
驗證根卷保留:
aws ec2 describe-volumes命令查看卷的狀態。通過修改根卷的“刪除終止”屬性,您可以在終止AWS EC2實例時保留根卷。這在需要保留實例數據或進行數據備份時非常有用。無論是通過AWS管理控制臺、AWS CLI還是AWS SDK,您都可以輕松地實現這一目標。請務必注意相關成本和數據安全,以確保您的AWS資源得到有效管理。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。