Amazon Elastic Compute Cloud
Linux 인스턴스용 사용 설명서

인스턴스 종료

더 이상 필요하지 않은 인스턴스는 삭제할 수 있습니다. 이를 인스턴스 종료라고 합니다. 인스턴스 상태가 shutting-down 또는 terminated로 변경되는 즉시 해당 인스턴스에 대한 반복적인 요금 부과가 중단됩니다.

인스턴스를 종료한 후에는 인스턴스에 다시 연결하거나 재시작할 수 없습니다. 하지만 동일한 AMI를 사용해서 추가 인스턴스를 실행할 수 있습니다. 인스턴스를 중지 후 다시 시작하거나 최대 절전 모드로 전환하면 인스턴스 중지 및 시작 or 인스턴스를 최대 절전 모드로 전환 단원을 참조하십시오. 자세한 내용은 재부팅, 중지, 최대 절전 모드 및 종료의 차이 단원을 참조하십시오.

인스턴스 종료

인스턴스는 종료한 후에도 잠시 동안 콘솔에 표시되며 그 이후 항목이 자동으로 삭제됩니다. 종료된 인스턴스 항목을 사용자가 직접 삭제할 수는 없습니다. 인스턴스가 종료된 후 태그 및 볼륨과 같은 리소스는 인스턴스에서 점차 연결 해제되므로 잠시 후 종료된 인스턴스에서 더 이상 보이지 않을 수 있습니다.

인스턴스가 종료하면 해당 인스턴스와 관련된 모든 인스턴스 스토어 볼륨의 데이터는 삭제됩니다.

기본적으로 Amazon EBS 루트 디바이스 볼륨은 인스턴스 종료 시 자동으로 삭제됩니다. 하지만 시작 시 연결하는 추가 EBS 볼륨 또는 기존 인스턴스에 연결하는 EBS 볼륨은 인스턴스가 종료된 후에도 기본적으로 유지됩니다. 이런 동작은 해당 볼륨의 DeleteOnTermination 속성에 의해 제어되며, 이러한 속성은 사용자가 변경할 수 있습니다. 자세한 정보는 인스턴스 종료 시 Amazon EBS 볼륨 보존 단원을 참조하십시오.

AWS Management 콘솔, CLI, API를 사용하는 타인의 실수로 인스턴스가 종료되는 것을 방지할 수 있습니다 이 기능은 Amazon EC2 인스턴스 스토어 지원 및 Amazon EBS-지원 인스턴스에 대해 제공됩니다. 각 인스턴스는 DisableApiTermination 속성을 가지고 있으며 그 기본 값은 false로 설정되어 있습니다(해당 인스턴스는 Amazon EC2를 통해 종료할 수 있음). 인스턴스가 실행 중이거나 중단된 상태에 있을 때 이 인스턴스를 변경할 수 있습니다(Amazon EBS 지원 인스턴스의 경우). 자세한 내용은 인스턴스에 대한 종료 방지 기능 활성화 단원을 참조하십시오.

시스템 종료에 대한 운영 체제 명령을 사용해서 인스턴스에서 종료를 개시한 경우, 인스턴스가 중단 또는 종료되는 것을 사용자가 제어할 수 있습니다. 자세한 내용은 인스턴스가 개시하는 종료 동작 변경 단원을 참조하십시오.

인스턴스 종료에 대한 스크립트를 사용하는 경우 것을 보장할 방법이 없기 때문에 인스턴스가 비정상적으로 종료될 종료 스크립트를 실행합니다. Amazon EC2 가 인스턴스를 안전하게 종료하고 시스템 종료 스크립트를 실행하도록 작동하지만, 하드웨어 장애 등 특정 이벤트가 이런 시스템 종료 스크립트 실행을 방해할 수 있습니다.

인스턴스 종료 시 발생하는 상황(API)

terminate-instances 명령을 사용하여 EC2 인스턴스를 종료하면 OS 수준에서 다음 항목이 등록됩니다.

  • API 요청은 버튼 누름 이벤트를 게스트로 전송합니다.

  • 다양한 시스템 서비스는 버튼 누름 이벤트의 결과로 중지됩니다. systemd는 시스템의 정상 종료를 처리합니다. 정상 종료는 하이퍼바이저에서 ACPI 종료 버튼 누름 이벤트에 의해 트리거됩니다.

  • ACPI 종료가 시작됩니다.

  • 정상 종료 프로세스가 종료되면 인스턴스가 종료됩니다. 구성 가능한 OS 종료 시간은 없습니다.

인스턴스 종료

AWS Management 콘솔 또는 명령줄을 사용해서 인스턴스를 종료할 수 있습니다.

콘솔을 사용한 인스턴스 종료 방법

  1. 인스턴스를 종료하기 전에, Amazon EBS 볼륨이 종료 시 삭제되지 않는지 그리고 인스턴스 스토어 볼륨에서 Amazon EBS 또는 Amazon S3으로 필요한 데이터를 복사했는지를 확인해서 데이터 손실이 일어나지 않도록 합니다.

  2. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

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

  4. 인스턴스를 선택하고 작업, 인스턴스 상태, 종료를 선택합니다.

  5. 확인 메시지가 나타나면 예, 종료를 선택합니다.

명령줄을 사용한 인스턴스 종료 방법

다음 명령 중 하나를 사용할 수 있습니다. 명령줄 인터페이스에 대한 자세한 내용은 Amazon EC2에 액세스 단원을 참조하십시오.

인스턴스에 대한 종료 방지 기능 활성화

기본 설정상 Amazon EC2, 콘솔, 명령줄, API를 사용해서 인스턴스를 종료할 수 있습니다. Amazon EC2를 사용할 때 인스턴스가 실수로 종료되지 않도록 방지하려면, 해당 인스턴스에 대한 종료 방지 기능을 활성화할 수 있습니다. DisableApiTermination 속성은 콘솔, CLI, API를 사용해서 인스턴스가 종료될 수 있는지를 제어합니다. 기본 설정상 인스턴스에 대한 종료 보호 기능은 비활성화되어 있습니다. 인스턴스를 실행할 때 또는 인스턴스가 실행 중이거나 인스턴스가 중지되어 있을 때, 이 속성의 값을 설정할 수 있습니다(Amazon EBS 지원 인스턴스의 경우).

DisableApiTermination 속성은 InstanceInitiatedShutdownBehavior 속성이 설정된 때에는 시스템 종료에 대한 운영 체제 명령을 사용해서 인스턴스에서 종료를 개시한 경우의 인스턴스 종료를 방지하지는 않습니다. 자세한 내용은 인스턴스가 개시하는 종료 동작 변경 단원을 참조하십시오.

제한

스팟 인스턴스의 종료 방지 기능은 활성화할 수 없습니다. — 스팟 가격이 스팟 인스턴스에 대해 지불할 금액을 넘어서면 스팟 인스턴스가 종료됩니다. 하지만 스팟 인스턴스 중단을 처리할 수 있도록 애플리케이션을 준비하는 것은 가능합니다. 자세한 내용은 스팟 인스턴스 중단 단원을 참조하십시오.

DisableApiTermination 속성으로는 Amazon EC2 Auto Scaling의 인스턴스 종료를 방지할 수 없습니다. Auto Scaling 그룹에 있는 인스턴스의 경우 Amazon EC2 종료 보호 대신 다음의 Amazon EC2 Auto Scaling 기능을 사용합니다.

  • 인스턴스 보호 기능을 사용하면 확장 시 Auto Scaling 그룹에 속한 인스턴스가 종료되지 않습니다. 자세한 내용은 Amazon EC2 Auto Scaling 사용 설명서인스턴스 보호를 참조하십시오.

  • Amazon EC2 Auto Scaling의 비정상 인스턴스 종료를 방지하려면 ReplaceUnhealthy 프로세스를 일시 중단하십시오. 자세한 내용은 Amazon EC2 Auto Scaling 사용 설명서조정 프로세스 일시 중단 및 재개 단원을 참조하십시오.

  • 종료 정책을 선택하여 Amazon EC2 Auto Scaling가 어떤 인스턴스를 먼저 종료해야 할지 지정하십시오. 자세한 내용은 Amazon EC2 Auto Scaling 사용 설명서종료 정책 사용자 지정을 참조하십시오.

실행 시에 인스턴스에 대한 종료 방지 기능 활성화 방법

  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 대시보드에서 인스턴스 시작을 선택하고 마법사의 지시를 따릅니다.

  3. Configure Instance Details(인스턴스 세부 정보 구성) 페이지에서 종료 방지 기능 활성화 확인란을 선택합니다.

실행 중인 또는 중단된 인스턴스에 대한 종료 방지 기능 활성화 방법

  1. 인스턴스를 선택하고 작업, 인스턴스 설정, 종료 방지 기능 변경을 차례로 선택합니다.

  2. 예, 활성화를 선택합니다.

실행 중인 또는 중단된 인스턴스에 대한 종료 방지 기능 비활성화 방법

  1. 인스턴스를 선택하고 작업, 인스턴스 설정, 종료 방지 기능 변경을 차례로 선택합니다.

  2. 예, 비활성화를 선택합니다.

명령줄을 사용한 종료 방지 기능의 활성화 또는 비활성화 방법

다음 명령 중 하나를 사용할 수 있습니다. 명령줄 인터페이스에 대한 자세한 내용은 Amazon EC2에 액세스 단원을 참조하십시오.

인스턴스가 개시하는 종료 동작 변경

기본적으로 (shutdown 또는 poweroff 등과 같은 명령을 사용하여) Amazon EBS 지원 인스턴스에서 종료를 시작하면 해당 인스턴스가 중지합니다. haltpoweroff 명령을 실행하지 않는데, 이 명령을 사용하면 인스턴스가 종료되지 않고 대신 CPU를 HLT에 배치해 인스턴스가 실행 중인 상태로 남아 있습니다. 인스턴스에 대한 InstanceInitiatedShutdownBehavior 속성을 사용해서 이런 동작을 변경해서 인스턴스가 중단되지 않고 종료되도록 할 수 있습니다. 인스턴스가 실행 중이거나 중단된 상태에 있을 때 이 속성을 업데이트할 수 있습니다.

Amazon EC2 또는 명령줄을 사용하여 InstanceInitiatedShutdownBehavior 속성을 업데이트할 수 있습니다. InstanceInitiatedShutdownBehavior 속성은 인스턴스 자체의 운영 체제에서 종료하는 경우에만 적용되며, StopInstances API 또는 Amazon EC2 콘솔을 사용하여 인스턴스를 중지하는 경우에는 적용되지 않습니다.

콘솔을 사용한 인스턴스의 종료 동작 변경 방법

  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

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

  3. 인스턴스를 선택하고 작업, 인스턴스 설정, 종료 동작 변경을 차례로 선택합니다. 현재 동작은 이미 선택된 상태입니다.

  4. 동작을 변경하려면 종료 동작 목록에서 옵션을 선택하고 적용을 선택합니다.

    
						종료 동작 변경 대화상자

명령줄을 사용한 인스턴스의 종료 동작 변경 방법

다음 명령 중 하나를 사용할 수 있습니다. 명령줄 인터페이스에 대한 자세한 내용은 Amazon EC2에 액세스 단원을 참조하십시오.

인스턴스 종료 시 Amazon EBS 볼륨 보존

인스턴스가 종료되면 Amazon EC2가 연결된 각 Amazon EBS 볼륨의 DeleteOnTermination 속성 값을 사용하여 볼륨 유지 또는 삭제 여부를 결정합니다. DeleteOnTermination 속성의 기본값은 볼륨이 인스턴스의 루트 볼륨인지 여부에 따라 다릅니다.

기본적으로 인스턴스의 루트 볼륨의 DeletionOnTermination 속성은 true로 설정됩니다. 따라서 기본값은 인스턴스가 종료될 때 인스턴스의 루트 볼륨을 삭제하는 것입니다. AMI를 생성한 사람과 인스턴스를 시작한 사람이 DeletionOnTermination 속성을 설정할 수 있습니다. AMI를 생성한 사람 또는 인스턴스를 시작한 사람이 속성을 변경하면 새로운 설정이 원래 AMI 기본 설정을 재정의합니다. AMI를 사용하여 인스턴스를 시작한 후에는 DeletionOnTermination 속성에 대한 기본 설정을 확인하는 것이 좋습니다.

기본적으로 EBS 볼륨을 인스턴스에 연결하면 그 DeleteOnTermination 속성이 false로 설정됩니다. 따라서 기본값은 이러한 볼륨을 유지하는 것입니다. 추가 비용이 청구되지 않도록 하려면 볼륨을 삭제해야 합니다. 자세한 내용은 Amazon EBS 볼륨 삭제 단원을 참조하십시오. 인스턴스가 종료된 후에 유지된 볼륨의 스냅샷을 만들거나 다른 인스턴스에 연결할 수 있습니다.

사용 중인 EBS 볼륨의 DeleteOnTermination 속성 값을 확인하려면 인스턴스의 블록 디바이스 매핑을 검색합니다. 자세한 내용은 인스턴스 블록 디바이스 매핑에서 EBS 볼륨 보기 단원을 참조하십시오.

인스턴스를 시작할 때 또는 인스턴스 실행 중에 볼륨의 DeleteOnTermination 속성 값을 변경할 수 있습니다.

콘솔을 사용하여 실행 시 유지할 루트 볼륨 변경

콘솔을 사용하면 인스턴스를 시작할 때 DeleteOnTermination 속성을 변경할 수 있습니다. 실행 중인 인스턴스의 속성을 변경하려면 명령줄을 사용해야 합니다.

콘솔을 사용해서 실행 시에 인스턴스의 루트 볼륨이 유지되도록 변경하는 방법

  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 콘솔 대시보드에서 인스턴스 시작을 선택합니다.

  3. Amazon 머신 이미지(AMI) 선택 페이지에서 AMI를 선택한 후 선택을 선택합니다.

  4. 마법사 안내에 따라 인스턴스 유형 선택인스턴스 세부 정보 구성 설정을 완료합니다.

  5. 스토리지 추가 페이지에서 루트 볼륨에 대한 종료 시 삭제 확인란 선택을 해제합니다.

  6. 나머지 마법사 페이지를 완료한 후 시작을 선택합니다.

인스턴스의 세부 정보 창에서 루트 디바이스 볼륨의 세부 정보를 조회하여 설정을 확인할 수 있습니다. 블록 디바이스 옆의 루트 디바이스 볼륨 항목을 클릭합니다. 종료 시 삭제의 기본 설정은 True입니다. 기본 설정을 변경하면 종료 시 삭제의 설정 값이 False가 됩니다.

명령줄을 사용하여 실행 시 유지할 루트 볼륨 변경

EBS 지원 인스턴스를 시작할 때 다음 명령 중 하나를 사용해서 루트 디바이스 볼륨이 유지되도록 변경할 수 있습니다. 명령줄 인터페이스에 대한 자세한 내용은 Amazon EC2에 액세스 단원을 참조하십시오.

예를 들어, 다음 옵션을 run-instances 명령에 추가합니다.

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

mapping.json에서 다음을 지정합니다.

[ { "DeviceName": "/dev/sda1", "Ebs": { "DeleteOnTermination": false, "SnapshotId": "snap-1234567890abcdef0", "VolumeType": "gp2" } } ]

명령줄을 사용해서 실행 중인 인스턴스의 루트 볼륨이 유지되도록 변경

다음 명령 중 하나를 사용하여 실행 중인 EBS 지원 인스턴스의 루트 디바이스 볼륨이 유지되도록 변경할 수 있습니다. 명령줄 인터페이스에 대한 자세한 내용은 Amazon EC2에 액세스 단원을 참조하십시오.

예를 들어, 다음 명령을 사용합니다.

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

mapping.json에서 다음을 지정합니다.

[ { "DeviceName": "/dev/sda1", "Ebs": { "DeleteOnTermination": false } } ]

문제 해결

인스턴스가 shutting-down 상태에 일반적인 경우보다 장기간 머물러 있는 경우, 해당 인스턴스는 Amazon EC2 서비스 내 자동화된 과정에 의해 클린업(종료)됩니다. 자세한 내용은 인스턴스 종료 문제 해결 단원을 참조하십시오.