인스턴스 종료 보호 변경하기
인스턴스 종료 보호 변경하기
Amazon EC2 API로 인스턴스가 실수로 종료되는 것을 방지하려면 — TerminateInstances를 직접 호출하든 Amazon EC2 콘솔 같은 다른 인터페이스를 통하든 — 인스턴스에 termination protection(종료 보호)을 활성화하세요. 이 절에서 종료 보호를 설정·해제하는 방법을 살펴볼게요.
출처: 문서
본문
Amazon EC2 API로 인스턴스가 실수로 종료되는 것을 방지하려면 — TerminateInstances를 직접 호출하든 Amazon EC2 콘솔 같은 다른 인터페이스를 통하든 — 인스턴스에 termination protection(종료 보호)을 활성화하세요. DisableApiTermination 속성이 인스턴스를 종료할 수 있는지 여부를 제어해요. 기본적으로 인스턴스의 종료 보호는 비활성화되어 있어요. DisableApiTermination 속성 값은 인스턴스를 시작할 때나, 인스턴스가 실행 중이거나 중지된 동안 설정할 수 있어요.
DisableApiTermination 속성은 InstanceInitiatedShutdownBehavior 속성이 terminate로 설정된 경우, 인스턴스에서 종료를 시작해(예: 시스템 종료용 운영 체제 명령 사용) 인스턴스를 종료하는 것을 막지는 않아요. 자세한 내용은 Change instance initiated shutdown behavior를 참고하세요.
고려 사항
- 종료 보호를 활성화해도 인스턴스를 종료하는 예약 이벤트가 있을 때 AWS가 인스턴스를 종료하는 것을 막지는 않아요.
- 종료 보호를 활성화해도 인스턴스가 비정상이거나 축소(scale-in) 이벤트 중일 때 Amazon EC2 Auto Scaling이 인스턴스를 종료하는 것은 막지 않아요. 인스턴스 scale-in 보호로 스케일링 시 Auto Scaling 그룹이 특정 인스턴스를 종료할 수 있는지 제어할 수 있어요. ReplaceUnhealthy 스케일링 프로세스 일시 중단으로 Auto Scaling 그룹이 비정상 인스턴스를 종료할 수 있는지 제어할 수 있어요.
- Spot Instances에는 종료 보호를 활성화할 수 없어요.
Console(콘솔) —
시작 시 인스턴스에 종료 보호를 활성화하려면
- Amazon EC2 콘솔을 https://console.aws.amazon.com/ec2/에서 엽니다.
- 대시보드에서 Launch instance를 선택합니다.
- Advanced details를 펼칩니다. Termination protection에서 Enable을 선택합니다.
- 인스턴스 세부 정보 지정을 마칠 때 Launch instance를 선택합니다.
인스턴스의 종료 보호를 변경하려면
- Amazon EC2 콘솔을 https://console.aws.amazon.com/ec2/에서 엽니다.
- 탐색 창에서 Instances를 선택합니다.
- 인스턴스를 선택합니다.
- Actions, Instance settings, Change termination protection을 선택합니다.
- Termination protection에서 Enable을 선택하거나 해제합니다.
- Save를 선택합니다.
AWS CLI —
인스턴스에 종료 보호를 활성화하려면
modify-instance-attribute 명령을 사용합니다.
aws ec2 modify-instance-attribute \
--instance-id i-1234567890abcdef0 \
--disable-api-termination
인스턴스에 종료 보호를 비활성화하려면
modify-instance-attribute 명령을 사용합니다.
aws ec2 modify-instance-attribute \
--instance-id i-1234567890abcdef0 \
--no-disable-api-termination
PowerShell —
인스턴스에 종료 보호를 활성화하려면
Edit-EC2InstanceAttribute cmdlet을 사용합니다.
Edit-EC2InstanceAttribute `
-InstanceId i-1234567890abcdef0 `
-DisableApiTermination $true
인스턴스에 종료 보호를 비활성화하려면
Edit-EC2InstanceAttribute cmdlet을 사용합니다.
Edit-EC2InstanceAttribute `
-InstanceId i-1234567890abcdef0 `
-DisableApiTermination $false
종료 보호가 있는 여러 인스턴스 종료하기
같은 요청에서 여러 가용 영역에 걸쳐 여러 인스턴스를 종료할 때, 지정된 인스턴스 중 하나 이상에 종료 보호가 활성화되어 있으면 요청이 다음 결과와 함께 실패해요.
- 보호된 인스턴스와 같은 가용 영역에 있는 지정된 인스턴스는 종료되지 않아요.
- 다른 가용 영역에 있고, 다른 지정된 인스턴스 중 보호된 것이 없는 인스턴스는 성공적으로 종료돼요.
예시
두 가용 영역에 다음과 같은 네 개의 인스턴스가 있다고 가정해 봅시다.
| 인스턴스 | 가용 영역 | 종료 보호 |
|---|---|---|
| Instance 1 | AZ A | 비활성화 |
| Instance 2 | (AZ A) | 비활성화 |
| Instance 3 | AZ B | 활성화 |
| Instance 4 | (AZ B) | 비활성화 |
이 모든 인스턴스를 같은 요청에서 종료하려고 하면, 요청이 다음 결과와 함께 실패로 보고돼요.
- Instance 1과 Instance 2는 어느 쪽도 종료 보호가 활성화되어 있지 않으므로 성공적으로 종료돼요.
- Instance 3이 종료 보호로 활성화되어 있으므로 Instance 3과 Instance 4는 종료에 실패해요.