AWS CLI로 EBS 볼륨 DeleteOnTermination 설정해 보기

AWS CLI로 EBS 볼륨의 DeleteOnTermination 옵션을 설정해 보는 명령어를 정리해 봤습니다.
2022.03.27

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

안녕하세요 클래스메소드 김재욱(Kim Jaewook) 입니다. 이번에는 AWS CLI로 EBS 볼륨의 DeleteOnTermination 옵션을 설정해 보는 명령어를 정리해 봤습니다.

CloudFomration으로 EBS 볼륨을 생성하는 과정은 아래 블로그를 참고해 주세요.

EC2 삭제 시, EBS 볼륨이 남아있는 문제

EC2에 EBS 볼륨을 attach하고 나서 EC2를 삭제해 보면 root 볼륨만 삭제되고 attach한 볼륨은 삭제되지 않습니다.

attach하고 나서 EC2에서 EBS 볼륨을 확인해 보면「종료 시 삭제」가 아니요로 설정 되어 있는 것을 확인할 수 있습니다.

Management Conole로 EC2를 생성할 때, 스토리지 추가에서「종료 시 삭제」를 설정할 수 있지만, EC2를 생성한 뒤 EBS 볼륨을 추가할 시 별도로 설정을 해줘야 합니다.

DeleteOnTermination 설정

target=instanceID
aws ec2 describe-instances --instance-ids ${target} | jq '.Reservations[].Instances[] | {Tags, InstanceId, BlockDeviceMappings}'

다음 명령어로 EC2에 attach된 EBS 볼륨을 확인해 보면 DeleteOnTermination 옵션이 false로 설정 되어 있습니다. false로 되어 있을 경우 EC2 삭제 시 EBS 볼륨은 삭제 하지 않는다는 의미이므로 true로 바꿔줄 필요가 있습니다.

DeviceName=xvdf
VolumeId=EBS VolumeID

aws ec2 modify-instance-attribute --instance-id ${target} --block-device-mappings "{\"DeviceName\":\"${DeviceName}\",\"Ebs\":{\"DeleteOnTermination\":true,\"VolumeId\":\"${VolumeId}\"}}"

aws ec2 describe-instances --instance-ids ${target} | jq '.Reservations[].Instances[] | {Tags, InstanceId, BlockDeviceMappings}'

aws ec2 modify-instance-attribute 명령어로 DeleteOnTermination 옵션을 true로 바꿔줍니다.

aws ec2 describe-instances 명령어로 확인해 보면 xvdf 볼륨의 DeleteOnTermination 옵션이 true로 바뀐 것을 확인할 수 있습니다.

Management Conole에서 확인해 보면 root, xvdf 볼륨만 삭제 되고 DeleteOnTermination 옵션을 false로 설정한 xvdg 볼륨만 남아 있는 것을 확인할 수 있습니다.

본 블로그 게시글을 보시고 문의 사항이 있으신 분들은 클래스메소드코리아 (info@classmethod.kr)로 연락 주시면 빠른 시일 내 담당자가 회신 드릴 수 있도록 하겠습니다 !

참고