인스턴스가 종료될 때 데이터 보존 - Amazon Elastic Compute Cloud

인스턴스가 종료될 때 데이터 보존

Amazon EC2 인스턴스가 종료될 때 인스턴스 저장소 볼륨 또는 Amazon EBS 볼륨의 데이터를 보존할 수 있습니다. 이 주제에서는 인스턴스 종료 이후에도 데이터가 유지되도록 하는 방법을 설명합니다.

인스턴스 종료가 루트 및 데이터 볼륨에 미치는 영향

인스턴스 스토어 볼륨

인스턴스가 종료될 때 인스턴스 저장소 볼륨이 자동으로 삭제되고 데이터가 손실됩니다. 인스턴스 수명 이후에도 이 데이터를 보존하려면 인스턴스를 종료하기 전에 Amazon EBS 볼륨, Amazon S3 버킷 또는 Amazon EFS 파일 시스템과 같은 영구적인 스토리지에 해당 데이터를 수동으로 복사합니다. 자세한 내용은 Amazon EC2 인스턴스의 스토리지 옵션 섹션을 참조하세요.

Amazon EBS 볼륨

인스턴스가 종료될 때 각 볼륨에 대한 DeleteOnTermination 속성 값에 따라 EBS 볼륨이 삭제되거나 유지됩니다.

  • (콘솔)/true(CLI) - 인스턴스가 종료될 때 볼륨이 삭제됩니다.

  • 아니요(콘솔)/false(CLI) - 인스턴스가 종료될 때 볼륨이 유지됩니다. 보존된 볼륨에는 계속 요금이 부과됩니다.

    참고

    인스턴스가 종료된 후에 유지된 볼륨의 스냅샷을 만들거나 다른 인스턴스에 연결할 수 있습니다. 요금이 발생하지 않도록 하려면 볼륨을 삭제해야 합니다.

EBS 볼륨의 기본 삭제 동작

기본 DeleteOnTermination 값은 볼륨 유형, 볼륨이 시작 시 연결되었는지 또는 시작 후 연결되었는지, 볼륨을 연결하는 데 사용된 방법(콘솔 또는 CLI)에 따라 달라집니다.

볼륨 유형 연결 시기 연결 방법 인스턴스 종료 시 기본 동작
루트 볼륨 시작 시 콘솔 또는 CLI 삭제
루트 볼륨 시작한 후 콘솔 또는 CLI Preserve
데이터 볼륨 시작 시 콘솔 Preserve
데이터 볼륨 시작 시 CLI 삭제
데이터 볼륨 시작한 후 콘솔 및 CLI Preserve

볼륨 지속성 설정 확인

EBS 볼륨의 시작 시 기본값은 AMI에 설정된 DeleteOnTermination 속성에 의해 결정됩니다. 인스턴스 시작 시 값을 변경하여 AMI 설정을 재정의할 수 있습니다. 인스턴스를 시작한 후에는 DeleteOnTermination 속성에 대한 기본 설정을 확인하는 것이 좋습니다.

인스턴스 종료 시 Amazon EBS 볼륨이 삭제되는지 확인하려면 다음을 수행하세요.
  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 탐색 창에서 인스턴스를 선택합니다.

  3. 인스턴스를 선택합니다.

  4. 스토리지 탭을 선택합니다.

  5. 블록 디바이스에서 오른쪽으로 스크롤하여 종료 시 삭제 열을 확인합니다.

    • 를 선택하면 인스턴스가 종료될 때 볼륨이 삭제됩니다.

    • 아니요를 선택하면 인스턴스가 종료될 때 볼륨이 삭제되지 않습니다. 삭제되지 않은 볼륨에는 계속 요금이 부과됩니다.

시작 시 루트 볼륨을 지속하도록 변경

인스턴스를 시작할 때 EBS 루트 볼륨의 DeleteOnTermination 속성을 변경할 수 있습니다. 데이터 볼륨에 대해 다음 절차를 사용할 수도 있습니다.

Console
실행 시 인스턴스의 루트 볼륨이 유지되도록 변경하려면 다음을 수행하세요.
  1. 절차에 따라 인스턴스를 시작하고 다음 단계를 완료하여 지속하도록 루트 볼륨을 변경한 후에만 인스턴스를 시작합니다.

  2. 스토리지 구성 창에서 고급을 선택합니다.

  3. EBS 볼륨에서 루트 볼륨 정보를 확장합니다.

  4. 종료 시 삭제에서 를 선택합니다.

  5. Summary(요약) 패널에서 인스턴스 구성을 검토한 다음 Launch instance(인스턴스 시작)를 선택합니다. 자세한 내용은 콘솔에서 인스턴스 시작 마법사를 사용하여 EC2 인스턴스 시작 섹션을 참조하세요.

AWS CLI
실행 시 인스턴스의 루트 볼륨이 유지되도록 변경하려면 다음을 수행하세요.

run-instances 명령을 사용하여 블록 디바이스 매핑에서 DeleteOnTermination 값을 변경합니다.

--block-device-mappings 옵션을 추가합니다.

--block-device-mappings file://mapping.json

mapping.json에서 디바이스 이름(예: /dev/sda1 또는 /dev/xvda)을 지정하고 DeleteOnTermination에 대해 false를 지정합니다.

[ { "DeviceName": "device_name", "Ebs": { "DeleteOnTermination": false } } ]
PowerShell
실행 시 인스턴스의 루트 볼륨이 유지되도록 변경하려면 다음을 수행하세요.

New-EC2Instance cmdlet을 사용하여 블록 디바이스 매핑에서 DeleteOnTermination 값을 변경합니다.

-BlockDeviceMapping 옵션을 추가합니다.

-BlockDeviceMapping $bdm

bdm에서 디바이스 이름(예: /dev/sda1 또는 /dev/xvda)을 지정하고 DeleteOnTermination에 대해 false를 지정합니다.

$ebd = New-Object -TypeName Amazon.EC2.Model.EbsBlockDevice $ebd.DeleteOnTermination = false $bdm = New-Object -TypeName Amazon.EC2.Model.BlockDeviceMapping $bdm.DeviceName = "/dev/sda1" $bdm.Ebs = $ebd

실행 중인 인스턴스의 루트 볼륨이 지속되도록 변경

실행 중인 인스턴스의 EBS 루트 볼륨이 지속되도록 변경할 수 있습니다. 데이터 볼륨에 대해 다음 절차를 사용할 수도 있습니다.

AWS CLI
루트 볼륨이 지속되도록 변경하려면 다음을 수행하세요.

modify-instance-attribute 명령을 사용합니다.

aws ec2 modify-instance-attribute \ --instance-id i-1234567890abcdef0 \ --block-device-mappings file://mapping.json

mapping.json에서 디바이스 이름(예: /dev/sda1 또는 /dev/xvda)을 지정하고 --DeleteOnTermination에 대해 false를 지정합니다.

[ { "DeviceName": "device_name", "Ebs": { "DeleteOnTermination": false } } ]
PowerShell
루트 볼륨이 지속되도록 변경하려면 다음을 수행하세요.

Edit-EC2InstanceAttribute cmdlet을 사용합니다.

-BlockDeviceMapping 옵션을 추가합니다.

-BlockDeviceMapping $bdm

bdm에서 디바이스 이름(예: /dev/sda1 또는 /dev/xvda)을 지정하고 DeleteOnTermination에 대해 false를 지정합니다.

$ebd = New-Object -TypeName Amazon.EC2.Model.EbsBlockDevice $ebd.DeleteOnTermination = false $bdm = New-Object -TypeName Amazon.EC2.Model.BlockDeviceMapping $bdm.DeviceName = "/dev/sda1" $bdm.Ebs = $ebd