Amazon EC2 AMI 사용 중단
AMI가 만료되어 사용되지 않도록 할 날짜를 지정하여 사용 중지할 수 있습니다. AMI가 만료되는 시점을 나타내는 AMI의 향후 사용 중지 날짜를 지정할 수도 있습니다. 예를 들어 더 이상 적극적으로 유지 관리되지 않는 AMI를 사용 중지하거나, 새 버전으로 대체된 AMI를 사용 중지할 수 있습니다. 기본적으로 사용 중지된 AMI는 AMI 목록에 표시되지 않으므로 새 사용자가 오래된 AMI를 사용할 수 없습니다. 그러나 기존 사용자, 그리고 시작 템플릿 및 Auto Scaling 그룹과 같은 시작 서비스는 해당 ID를 지정하여 사용 중지된 AMI 계속 사용할 수 있습니다. 사용자 및 서비스가 사용할 수 없도록 AMI 삭제하려면 등록 취소해야 합니다.
AMI I가 사용 중지된 후:
-
AMI 사용자의 경우, 해당 ID를 지정하거나 사용 중지된 AMI가 표시되도록 지정하지 않는 한 사용 중지된 AMI는 DescribeImages API 호출에 표시되지 않습니다. AMI 소유자에게는 사용 중지된 AMI가 DescribeImages API 호출에 계속 표시됩니다.
-
AMI 사용자의 경우 사용 중지된 AMI를 EC2 콘솔을 통해 선택할 수 없습니다. 예를 들어 사용 중지된 AMI는 시작 인스턴스 마법사의 AMI 카탈로그에 표시되지 않습니다. AMI 소유자는 EC2 콘솔에서 사용 중지된 AMI를 계속 볼 수 있습니다.
-
AMI 사용자의 경우 사용 중지된 AMI 의 ID를 알고 있으면 API, CLI 또는 SDK를 통해 계속 사용 중지된 AMI를 사용하여 인스턴스를 시작할 수 있습니다.
-
시작 템플릿 및 Auto Scaling 그룹과 같은 시작 서비스는 사용 중지된 AMI를 계속 참조할 수 있습니다.
-
이후에 사용 중지된 AMI 사용하여 시작된 EC2 인스턴스는 영향을 받지 않으며 중지, 시작 및 재부팅할 수 있습니다.
프라이빗 및 퍼블릭 AMI를 모두 사용 중지할 수 있습니다.
Amazon Data Lifecycle Manager EBS 지원 AMI 정책을 생성하여 EBS 지원 AMI의 사용 중단을 자동화할 수도 있습니다. 자세한 내용은 Automate AMI lifecycles를 참조하세요.
기본적으로 모든 퍼블릭 AMI의 사용 중단 날짜가 AMI 생성 날짜로부터 2년으로 설정됩니다. 사용 중단 날짜를 2년보다 짧게 설정할 수 있습니다. 사용 중단 날짜를 취소하거나 중단 날짜를 연장하려면 특정 AWS 계정과 공유만을 통해 AMI를 프라이빗으로 설정해야 합니다.
비용
AMI를 사용 중지하더라도 해당 AMI는 삭제되지 않습니다. AMI 소유자는 AMI의 스냅샷에 대한 비용을 계속 지불합니다. 스냅샷에 대한 지불을 중지하려면 AMI 소유자가 AMI를 등록 취소하여 삭제해야 합니다.
제한 사항
AMI 사용 중지
특정 날짜 및 시간에 AMI를 사용 중지할 수 있습니다. 이 절차를 수행하려면 AMI 소유자여야 합니다.
- Console
-
특정 날짜에 AMI 사용 중단
https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.
-
왼쪽 탐색기에서 AMI(AMIs)를 선택합니다.
-
필터 표시줄에서 내 소유를 선택합니다.
-
AMI를 선택하고 작업(Actions), AMI 사용 중단 관리(Manage AMI Deprecation)를 선택합니다. 여러 AMI를 선택하여 한 번에 여러 AMI의 사용 중단 날짜를 동일하게 설정할 수 있습니다.
-
활성화(Enable) 확인란을 선택한 다음 사용 중단 날짜 및 시간을 입력합니다.
사용 중단 날짜의 상한은 지금부터 10년입니다. 단, 상한이 생성 날짜로부터 2년인 퍼블릭 AMI는 예외입니다. 과거의 날짜는 지정할 수 없습니다.
-
Save(저장)를 선택합니다.
- AWS CLI
-
특정 날짜에 AMI 사용 중단
enable-image-deprecation 명령을 사용합니다. AMI의 ID와 AMI를 사용 중지할 날짜 및 시간을 지정합니다. 초 단위로 값을 지정하면 Amazon EC2가 초를 가장 가까운 분으로 반올림합니다.
deprecate-at
의 상한은 지금부터 10년입니다. 단, 상한이 생성 날짜로부터 2년인 퍼블릭 AMI는 예외입니다. 과거의 날짜는 지정할 수 없습니다.
aws ec2 enable-image-deprecation \
--image-id ami-1234567890abcdef0
\
--deprecate-at "2021-10-15T13:17:12.000Z"
예상 결과
{
"Return": "true"
}
AMI를 마지막으로 사용한 시점 확인
LastLaunchedTime
은 AMI가 인스턴스를 시작하는 데 마지막으로 사용된 시기를 나타내는 타임스탬프입니다. 최근에 인스턴스를 시작하는 데 사용된 적이 없는 AMI는 사용을 중단하거나 등록을 해제(deregistering)하는 것이 좋습니다.
- Console
-
- AWS CLI
-
AMI의 마지막 시작 시간 보기
describe-image-attribute 명령을 실행하고 --attribute
lastLaunchedTime
을 지정합니다. 이 명령을 실행하려면 AMI 소유자여야 합니다.
aws ec2 describe-image-attribute \
--image-id ami-1234567890example
\
--attribute lastLaunchedTime
출력 예시
{
"LastLaunchedTime": {
"Value": "2022-02-10T02:03:18Z"
},
"ImageId": "ami-1234567890example",
}
사용 중지된 AMI 설명
AMI의 사용 중단 날짜 및 시간을 보고 사용 중단 날짜별로 모든 AMI를 필터링할 수 있습니다. 또한 AWS CLI를 사용하여 사용 중단 날짜가 과거인 사용 중단된 모든 AMI를 설명할 수 있습니다.
- Console
-
AMI의 사용 중단 날짜 보기
https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.
-
왼쪽 탐색기에서 AMI(AMIs)를 선택한 후 AMI를 선택합니다.
-
사용 중단 시간(Deprecation time) 필드를 확인합니다(AMI 옆에 있는 확인란을 선택한 경우 세부 정보(Details) 탭에 있음). 이 필드에는 AMI의 사용 중단 날짜 및 시간이 표시됩니다. 필드가 비어 있는 경우 AMI는 사용 중단되지 않습니다.
사용 중단 날짜별로 AMI 필터링
https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.
-
왼쪽 탐색기에서 AMI(AMIs)를 선택합니다.
-
필터 표시줄에서 내 소유(Owned by me) 또는 프라이빗 이미지(Private images)를 선택합니다(프라이빗 이미지에는 사용자와 공유되는 AMI와 사용자가 소유한 AMI가 포함됨).
-
검색 창에 Deprecation time
을 입력한 다음(문자를 입력하면 사용 중단 시간(Deprecation time) 필터가 나타남) 연산자와 날짜 및 시간을 선택합니다.
- AWS CLI
-
describe-images 명령을 사용하여 모든 AMI를 설명하는 경우 AMI 사용자인지 아니면 AMI 소유자인지에 따라 결과가 달라집니다.
-
AMI 사용자인 경우:
기본적으로, describe-images 명령을 사용하여 모든 AMI를 설명하는 경우, 사용자가 소유하지 않지만 사용자와 공유되는 사용 중지된 AMI는 결과에 나타나지 않습니다. 기본값이 --no-include-deprecated
이기 때문입니다. 사용 중지된 AMI를 결과에 포함하려면 --include-deprecated
파라미터를 지정해야 합니다.
-
AMI 소유자인 경우:
describe-images 명령을 사용하여 모든 AMI를 설명하는 경우, 사용 중지된 AMI를 포함하여 소유한 모든 AMI가 결과에 표시됩니다. --include-deprecated
파라미터를 지정할 필요가 없습니다. 또한 --no-include-deprecated
를 사용하여 소유한 사용 중지된 AMI를 결과에서 제외할 수 없습니다.
AMI가 사용 중지된 경우 DeprecationTime
필드가 결과에 표시됩니다.
사용 중지된 AMI는 사용 중지 날짜가 과거인 AMI입니다. 사용 중지 날짜를 미래의 날짜로 설정한 경우 AMI는 아직 사용 중지되지 않은 상태입니다.
모든 AMI를 설명할 때 사용 중단된 AMI 모두 포함
describe-images 명령을 사용하고 --include-deprecated
파라미터를 사용하여 사용자의 소유가 아니고 사용 중단된 모든 AMI를 결과에 포함합니다.
aws ec2 describe-images \
--region us-east-1
\
--owners 123456example
--include-deprecated
AMI의 사용 중단 날짜 설명
describe-images 명령을 사용하고 AMI의 ID를 지정합니다.
--no-include-deprecated
와 AMI ID를 함께 지정하면 사용 중지된 AMI가 결과에 반환됩니다.
aws ec2 describe-images \
--region us-east-1
\
--image-ids ami-1234567890EXAMPLE
예상 결과
DeprecationTime
필드에는 AMI를 사용 중지하도록 설정된 날짜가 표시됩니다. AMI를 사용 중지하도록 설정하지 않은 경우 DeprecationTime
필드가 출력에 표시되지 않습니다.
{
"Images": [
{
"VirtualizationType": "hvm",
"Description": "Provided by Red Hat, Inc.",
"PlatformDetails": "Red Hat Enterprise Linux",
"EnaSupport": true,
"Hypervisor": "xen",
"State": "available",
"SriovNetSupport": "simple",
"ImageId": "ami-1234567890EXAMPLE",
"DeprecationTime": "2021-05-10T13:17:12.000Z"
"UsageOperation": "RunInstances:0010",
"BlockDeviceMappings": [
{
"DeviceName": "/dev/sda1",
"Ebs": {
"SnapshotId": "snap-111222333444aaabb",
"DeleteOnTermination": true,
"VolumeType": "gp2",
"VolumeSize": 10,
"Encrypted": false
}
}
],
"Architecture": "x86_64",
"ImageLocation": "123456789012/RHEL-8.0.0_HVM-20190618-x86_64-1-Hourly2-GP2",
"RootDeviceType": "ebs",
"OwnerId": "123456789012",
"RootDeviceName": "/dev/sda1",
"CreationDate": "2019-05-10T13:17:12.000Z",
"Public": true,
"ImageType": "machine",
"Name": "RHEL-8.0.0_HVM-20190618-x86_64-1-Hourly2-GP2"
}
]
}
AMI 사용 중단 취소
사용 중단 시간(Deprecation time) 필드(콘솔) 또는 describe-images 출력의 DeprecationTime
필드(AWS CLI)에서 날짜 및 시간을 제거하는 AMI의 사용 중단을 취소할 수 있습니다. 이 절차를 수행하려면 AMI 소유자여야 합니다.
- Console
-
AMI의 사용 중단 취소
https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.
-
왼쪽 탐색기에서 AMI(AMIs)를 선택합니다.
-
필터 표시줄에서 내 소유를 선택합니다.
-
AMI를 선택하고 작업(Actions), AMI 사용 중단 관리(Manage AMI Deprecation)를 선택합니다. 여러 AMI를 선택하여 여러 AMI의 사용 중단을 한 번에 취소할 수 있습니다.
-
활성화(Enable) 확인란을 선택 해제하고 저장(Save)을 선택합니다.
- AWS CLI
-
AMI의 사용 중단 취소
disable-image-deprecation 명령을 사용하고 AMI의 ID를 지정합니다.
aws ec2 disable-image-deprecation \
--image-id ami-1234567890abcdef0
예상 결과
{
"Return": "true"
}