AMI에서 EC2 인스턴스를 시작하려고 할 때 일부 인스턴스 유형이 비활성화되는 이유는 무엇입니까?

2분 분량
0

AMI(Amazon 머신 이미지)에서 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스를 시작하려고 합니다. 시작하려는 인스턴스 유형이 비활성화된 이유는 무엇입니까?

간략한 설명

인스턴스 유형 A1, T4g, M6g, C6g 및 R6g는 AWS Graviton 프로세서를 사용합니다. AWS Graviton 프로세서는 x86_64(AMD64) 대신 aarch64(ARM64) 아키텍처를 사용합니다.

ARM64 아키텍처는 x86_64 아키텍처 제품군에서 사용하는 명령과 다른 CPU 명령어 집합을 사용합니다. 이러한 명령 세트는 프로세서로 명령을 보내는 메커니즘을 제공합니다. 소프트웨어 컴파일 중에 사람이 읽을 수 있는 소프트웨어 코드는 CPU 아키텍처와 관련된 CPU 명령어로 변환됩니다. 해당 아키텍처 유형의 모든 CPU는 이러한 CPU 명령을 사용할 수 있습니다. 그러나 한 아키텍처 유형의 CPU는 다른 유형의 명령 집합을 이해할 수 없습니다. 따라서 하나의 아키텍처에서 컴파일된 AMI는 해당 아키텍처 유형의 CPU에서만 실행됩니다.

ARM64 및 x86_64 아키텍처는 다른 명령어 세트를 사용합니다. 즉, x86_64 아키텍처를 사용하여 생성된 EC2 인스턴스 및 AMI는 ARM64 아키텍처를 사용하는 인스턴스와 호환되지 않습니다. 이러한 비호환성으로 인해 인스턴스 유형을 시작하거나 변경할 때 다음 중 하나가 발생합니다.

  • 선택한 EC2 AMI로 Graviton 인스턴스 유형을 시작할 때 시작 마법사에서 새 인스턴스 유형을 비활성화됨으로 표시할 수 있습니다.
  • 현재 새 아키텍처 유형을 사용하고 있지 않은 이미 배포된 EC2 인스턴스의 인스턴스 유형을 변경하면 오류가 발생할 수 있습니다. 다음과 유사한 오류 메시지가 표시됩니다.
    “'m6g.large'는 아키텍처 'x86_64'의 인스턴스 'i-xyz'에 대한 유효한 인스턴스 유형이 아닙니다”.

다른 아키텍처를 사용하려면 먼저 새 EC2 인스턴스 또는 AMI를 생성합니다.

참고: 향상된 네트워킹을 활성화하지 않으면 AMI가 인스턴스 유형과 호환되지 않을 수 있습니다. 자세한 내용은 EC2 인스턴스에서 향상된 네트워킹을 활성화하고 구성하려면 어떻게 해야 하나요?를 참고하십시오.

해결 방법

새 인스턴스 시작

모든 주요 Linux 배포판은 ARM 아키텍처에서 사용할 수 있습니다. ARM 아키텍처를 사용하여 인스턴스를 시작하려면 다음을 수행합니다.

  1. Amazon EC2 콘솔을 엽니다.
  2. 인스턴스 시작, 인스턴스 시작을 선택합니다.
  3. 자주 사용하는 배포판의 ARM 버전에 해당하는 AMI 옆에 있는 **64비트(ARM)**를 선택한 다음 [선택]을 선택합니다.
  4. 인스턴스 시작을 완료합니다.

인스턴스를 시작한 후에는 EC2 인스턴스처럼 작동합니다.

인스턴스 유형 변경

명령 세트가 다르기 때문에 아키텍처 유형 간에 직접 인스턴스 유형을 변경할 수 없습니다. 시스템을 새 아키텍처로 마이그레이션하려면 다음을 수행합니다.

  1. 원하는 구성의 새 EC2 인스턴스를 시작합니다.
  2. 애플리케이션을 새 EC2 인스턴스로 마이그레이션합니다.

관련 정보

AWS Graviton 프로세서

AWS 공식
AWS 공식업데이트됨 2년 전
댓글 없음

관련 콘텐츠