View a markdown version of this page

AMI 허용 인스턴스 유형 - - Amazon Elastic Compute Cloud

AMI 허용 인스턴스 유형

AMI 소유자는 AMI가 지원하거나 지원하지 않는 인스턴스 유형을 지정할 수 있습니다. 이렇게 하면 호환되지 않는 인스턴스 유형이 시작되지 않습니다. Amazon EC2는 시작 시 허용되는 인스턴스 유형을 적용합니다.

예를 들어 AMI에 GPU 하드웨어가 필요한 경우 GPU 인스턴스 유형으로만 제한할 수 있습니다. AMI가 특정 인스턴스 패밀리와 호환되지 않는 경우 허용되는 인스턴스 유형에서 해당 패밀리를 제외할 수 있습니다.

허용되는 인스턴스 유형 작동 방식

AMI의 InstanceTypeSpecification 속성을 통해 허용되는 인스턴스 유형을 제어합니다. 이 속성에는 두 개의 목록이 포함되어 있습니다.

  • SupportedInstanceTypes – AMI가 지원하는 인스턴스 유형입니다. 이러한 인스턴스 유형만 AMI를 사용하여 시작할 수 있습니다.

  • UnsupportedInstanceTypes – AMI가 지원하지 않는 인스턴스 유형입니다. 다른 모든 인스턴스 유형은 AMI를 사용하여 시작할 수 있습니다.

Amazon EC2는 다음 로직을 사용하여 사양을 평가합니다.

  • InstanceTypeSpecification이 설정되지 않은 경우 Amazon EC2는 모든 인스턴스 유형을 허용합니다. 이는 기본 설정 동작입니다.

  • SupportedInstanceTypes만 설정된 경우 지정된 인스턴스 유형만 허용됩니다. Amazon EC2는 다른 모든 인스턴스 유형을 차단합니다.

  • UnsupportedInstanceTypes만 설정된 경우 Amazon EC2는 지정된 인스턴스 유형을 제외한 모든 인스턴스 유형을 허용합니다.

  • 두 목록이 모두 설정된 경우 인스턴스 유형은 SupportedInstanceTypes에 포함되어야 하고 UnsupportedInstanceTypes에 포함되지 않아야 합니다.

와일드카드 지원

두 목록 모두 * 문자를 사용하는 와일드카드 패턴을 지원합니다. 와일드카드를 사용하면 각 인스턴스 유형을 개별적으로 나열하지 않고도 여러 인스턴스 유형을 일치시킬 수 있습니다.

다음 표에는 와일드카드 패턴의 예가 나와 있습니다.

패턴 일치 항목
t3.* t3 인스턴스 패밀리 내의 모든 크기(예: t3.micro, t3.small, t3.large)
p4d.* p4d 인스턴스 패밀리 내의 모든 크기
g5.* g5 인스턴스 패밀리 내의 모든 크기
*xlarge 모든 인스턴스 패밀리에서 xlarge 이상인 모든 인스턴스 유형
*.12xlarge 모든 인스턴스 패밀리에서 모든 12xlarge 인스턴스 유형

AMI에 허용되는 인스턴스 유형 설정

Amazon EC2 콘솔 또는 AWS Command Line Interface(AWS CLI)를 사용하여 AMI에 허용되는 인스턴스 유형을 설정하거나 변경할 수 있습니다. 이 절차를 수행하려면 AMI 소유자여야 합니다.

Console
AMI에 허용되는 인스턴스 유형을 설정하려면
  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 탐색 창에서 AMI를 선택합니다.

  3. AMI를 선택한 다음 작업, 인스턴스 유형 사양 관리를 차례로 선택합니다.

  4. 지원되는 인스턴스 유형 또는 지원되지 않는 인스턴스 유형에서 추가를 선택합니다.

  5. 인스턴스 유형을 선택합니다.

  6. 저장‭‬을 선택합니다.

AWS CLI
AMI에 대해 지원되는 인스턴스 유형을 설정하려면

replace-image-instance-type-specification 명령을 사용합니다. 다음 예제에서는 t3.micro를 제외한 모든 t3 및 a2 인스턴스 유형을 허용합니다.

aws ec2 replace-image-instance-type-specification \ --image-id ami-1234567890abcdef0 \ --instance-type-specification '{"SupportedInstanceTypes": ["t3.*", "a2.*"], "UnsupportedInstanceTypes": ["t3.micro"]}'
AMI에 대해 지원되지 않는 인스턴스 유형만 설정하려면

다음 명령을 사용하여 다른 모든 인스턴스 유형을 허용하면서 특정 인스턴스 유형을 차단합니다.

aws ec2 replace-image-instance-type-specification \ --image-id ami-1234567890abcdef0 \ --instance-type-specification '{"UnsupportedInstanceTypes": ["t3.micro", "t3.nano"]}'
AMI에서 인스턴스 유형 사양을 제거하려면

--instance-type-specification을 지정하지 않고 다음 명령을 사용하여 제한을 제거하고 모든 인스턴스 유형을 허용합니다.

aws ec2 replace-image-instance-type-specification \ --image-id ami-1234567890abcdef0

AMI에 허용되는 인스턴스 유형 보기

Amazon EC2 콘솔 또는 AWS CLI를 사용하여 AMI의 인스턴스 유형 사양을 볼 수 있습니다.

Console
AMI에 허용되는 인스턴스 유형을 보려면
  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 탐색 창에서 AMI를 선택합니다.

  3. AMI를 선택합니다.

  4. 세부 정보 탭에서 지원되는 인스턴스 유형과 지원되지 않는 인스턴스 유형을 확인합니다.

AWS CLI
AMI의 인스턴스 유형 사양을 보려면

describe-images 명령을 사용합니다. AMI에 인스턴스 유형 사양이 있는 경우 응답에 InstanceTypeSpecification 필드가 포함됩니다.

aws ec2 describe-images \ --image-ids ami-1234567890abcdef0

다음은 인스턴스 유형 사양이 있는 AMI의 예제 출력입니다.

{ "Images": [ { "ImageId": "ami-1234567890abcdef0", ... "InstanceTypeSpecification": { "SupportedInstanceTypes": [ { "InstanceType": "t3.*" }, { "InstanceType": "a2.*" } ], "UnsupportedInstanceTypes": [ { "InstanceType": "t3.micro" } ] } } ] }

허용되는 인스턴스 유형을 사용한 시작 동작

인스턴스를 시작할 때 Amazon EC2는 지정된 인스턴스 유형이 AMI의 인스턴스 유형 사양과 호환되는지 확인합니다. 인스턴스 유형이 허용되지 않는 경우 Amazon EC2는 시작을 차단하고 오류를 반환합니다.

예: 차단된 시작

다음 명령은 t3.micro를 지원하지 않는 AMI를 사용하여 t3.micro 인스턴스를 시작하려고 시도합니다.

aws ec2 run-instances \ --image-id ami-1234567890abcdef0 \ --instance-type t3.micro

Amazon EC2는 다음 오류를 반환합니다.

An error occurred (InvalidParameterCombination) when calling the RunInstances operation: This AMI does not support the specified instance type. Check DescribeImages for InstanceTypeSpecification, and try again.

이 오류를 해결하려면 AMI가 지원하는 인스턴스 유형을 선택합니다. describe-images 명령을 사용하여 AMI의 인스턴스 유형 사양을 봅니다.

고려 사항

허용되는 인스턴스 유형을 사용할 때는 다음 정보를 염두에 두세요.

  • 기본적으로 AMI에는 인스턴스 유형 사양이 없습니다. 사양을 명시적으로 설정할 때까지 Amazon EC2는 모든 인스턴스 유형을 허용합니다.

  • AMI 소유자만 인스턴스 유형 사양을 설정하거나 변경할 수 있습니다.

  • CopyImage를 사용하여 AMI를 복사하면 Amazon EC2는 새 AMI에 인스턴스 유형 사양을 유지합니다.

  • Amazon EC2는 인스턴스 유형 사양을 하드 블록으로 적용합니다. 해당 인스턴스 유형이 허용되지 않으면 시작이 실패하고 InvalidParameterCombination 오류가 발생합니다.

  • 사양은 기존 인스턴스에 영향을 주지 않습니다. 새로 시작하는 인스턴스에만 적용됩니다.

  • 인스턴스 유형 사양이 있는 AMI를 참조하는 시작 템플릿 및 Auto Scaling 그룹은 구성된 인스턴스 유형이 허용되지 않는 경우 실패할 수 있습니다. 공유 AMI에서 사양을 설정하기 전에 호환성을 확인하는 것이 좋습니다.

  • ReplaceImageInstanceTypeSpecification 작업은 전체 사양을 대체합니다. 개별 인스턴스 유형을 추가 또는 제거하려면 요청에 업데이트된 전체 사양을 포함해야 합니다.