내 시스템에 현재 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에서 사용할 수 있는 것보다 더 많은 CPU 또는 메모리가 필요합니다. 인스턴스 유형을 변경하려면 먼저 어떤 단계를 거쳐야 하는지 알고 싶습니다.
간략한 설명
Amazon EC2 Linux 인스턴스를 워크로드에 맞게 최적화하려면 인스턴스 유형을 변경합니다. 인스턴스 유형을 변경하면 다음과 같은 워크로드 구성을 수정할 수 있습니다.
- CPU 코어 수
- RAM 용량
- 할당된 인스턴스 스토어 스페이스 용량
- Amazon Elastic Block Store(Amazon EBS) 최적화
- 향상된 네트워킹
- GPU 코어
- FPGA
- 기계 학습 가속기
참고: 인스턴스와 데이터의 백업을 유지하는 것이 좋습니다. 인프라를 변경하기 전에 AMI를 생성하거나 EBS 볼륨의 스냅샷을 생성하세요.
해결 방법
현재 인스턴스 유형이 새 인스턴스 유형과 호환되는지 확인
인스턴스 유형 또는 인스턴스 계열을 변경하기 전에 현재 인스턴스 유형과 새 인스턴스 유형이 호환되는지 확인합니다. 호환성 문제 목록은 인스턴스 유형 변경을 위한 호환성을 참고하세요.
호환성을 확인한 후 Amazon EBS 기반 인스턴스의 인스턴스 유형을 변경할 수 있습니다.
인스턴스 중지
인스턴스 유형을 변경하려면 먼저 인스턴스를 중지해야 합니다.
중요:
- 인스턴스가 인스턴스 스토어 기반 인스턴스이거나 데이터가 포함된 인스턴스 스토어 볼륨이 있는 경우 인스턴스를 중지하면 데이터가 손실됩니다. 다른 인스턴스 스토어 기반 인스턴스로 전환하는 경우 인스턴스를 마이그레이션해야 합니다. 자세한 내용은 인스턴스 스토어 기반 인스턴스의 인스턴스 유형 변경을 참고하세요.
- 인스턴스가 Amazon EC2 Auto Scaling 그룹에 속한 경우 인스턴스를 중지하면 인스턴스가 완전히 종료될 수 있습니다. Amazon EMR, AWS CloudFormation 또는 AWS Elastic Beanstalk로 실행한 인스턴스의 경우 AWS Auto Scaling 그룹에 속합니다. 이 시나리오에서 인스턴스 종료 여부는 오토 스케일링 그룹의 인스턴스 축소 보호 설정에 따라 달라집니다. 인스턴스가 오토 스케일링 그룹에 속한 경우 문제 해결 단계를 시작하기 전에 오토 스케일링 그룹에서 인스턴스를 일시적으로 제거해야 합니다.
- 탄력적 IP 주소를 사용하지 않는 경우 인스턴스를 중지하고 시작하면 인스턴스의 공용 IP 주소가 변경됩니다. 외부 트래픽을 인스턴스로 라우팅할 때는 공용 IP 주소 대신 탄력적 IP 주소를 사용하는 것이 좋습니다. Amazon Route 53을 사용하는 경우 공용 IP가 변경될 때 Route 53 DNS 레코드를 업데이트해야 할 수 있습니다.
Amazon EC2 콘솔을 사용하여 인스턴스 중지
-
인스턴스를 중지하면 모든 인스턴스 스토어 볼륨의 데이터가 지워집니다. 인스턴스를 중지하기 전에 인스턴스 스토어 볼륨에서 Amazon EBS 또는 Amazon S3와 같은 영구 스토리지로 필요한 데이터를 복사했는지 확인합니다.
-
Amazon EC2 콘솔을 엽니다.
-
인스턴스를 선택한 다음 해당 인스턴스를 선택합니다.
-
인스턴스 상태, 인스턴스 중지를 선택합니다. 인스턴스 중지 옵션을 사용할 수 없는 경우 인스턴스가 이미 중지되었거나 해당 루트 디바이스가 인스턴스 스토어 볼륨입니다.
-
확인 메시지가 표시되면 중지를 선택합니다. 인스턴스가 중지되는 데 몇 분 정도 걸릴 수 있습니다.
명령줄 인터페이스를 사용하여 인스턴스 중지
다음 명령 중 하나를 사용할 수 있습니다. 이 같은 명령줄 인터페이스에 대한 자세한 내용은 Amazon EC2 액세스를 참고하세요.
참고: AWS CLI 명령을 실행할 때 오류가 발생하면 최신 AWS CLI 버전을 사용하고 있는지 확인하세요.
향상된 네트워킹
향상된 네트워킹을 지원하는 인스턴스로 전환하는 경우, 필요한 드라이버를 모두 설치하고 현재 인스턴스에서 향상된 네트워킹을 활성화합니다. 자세한 내용은 Linux의 향상된 네트워킹을 참고하세요.
Nitro 기반 인스턴스 유형
인스턴스를 Nitro 기반 인스턴스 유형으로 변경하려면 다음 작업을 수행합니다.
- 인스턴스에 NVMe 및 ENA 모듈을 설치했는지 확인합니다.
- /etc/fstab 목록에 있는 모든 블록 디바이스가 NVMe 블록 디바이스 이름(/dev/nvme1, /dev/nvme2 등)과 호환되는지 확인합니다.
- Amazon EBS 볼륨은 이러한 인스턴스 유형에 NVMe 디바이스로 노출되며, 디바이스 이름은 중지 또는 시작 이벤트에서 변경됩니다. 볼륨 불일치를 방지하려면 UUID 또는 레이블 파일 시스템을 사용해 파일 시스템을 마운트합니다.
이 같은 검사를 자동화하려면 NitroInstanceChecks 스크립트를 실행합니다. 자세한 내용은 Nitro 기반 인스턴스 유형으로 변경한 후 Linux 인스턴스가 부팅되지 않는 이유는 무엇인가요?를 참고하세요. NitroInstanceChecks 스크립트 실행 섹션의 지침을 따릅니다.
스크립트를 실행하고 필요한 업데이트를 적용한 후 /etc/udev/rules.d/70-persistent-net.rules의 DRIVERS 항목이 ? 또는 ENA로 설정되어 있는지 확인합니다.
텍스트 편집기를 사용하여 파일에 액세스합니다. 다음 예시에서는 vi 편집기를 사용합니다.
vi /etc/udev/rules.d/70-persistent-net.rules
올바른 항목은 다음과 같습니다.
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="01:23:45:67:89:ab", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0
현 세대 인스턴스의 네트워킹
현 세대 인스턴스는 Virtual Private Cloud(VPC)에서만 실행됩니다. 현재 인스턴스가 EC2-Classic 인스턴스인 경우 인스턴스를 VPC의 Linux 인스턴스로 마이그레이션합니다.
EC2 아키텍처 혼합
인스턴스의 소스 AMI가 특정 아키텍처용으로 구축된 경우 아키텍처가 같은 인스턴스 유형만 생성할 수 있습니다. 특정 아키텍처용으로 구축된 AMI의 예로는 32비트(i386), 64비트(x86_64) 또는 64비트 ARM(arm64)이 있습니다. 이는 인스턴스가 mac1 인스턴스 유형용으로 생성된 AMI를 실행하는 경우에도 마찬가지입니다. 이러한 이미지는 인스턴스 유형을 전환할 수 없습니다.
관련 정보
인스턴스의 상태 확인
Amazon EC2 요금
네트워크 성능을 극대화하기 위해 EC2 인스턴스를 6세대 인스턴스로 마이그레이션하려면 먼저 무엇을 해야 하나요?