C2가 5세대로 접어들면서 AWS는 Nitro 시스템을 도입하였다는 사실은 다 알 것이다.
5세대 인스턴스의 가장 큰 특징은 Nitro hypervisor 도입, NVMe 스토리지 사용, 네트워크 모듈인 ENA를 사용한 것이다.
Nitro 시스템은 `NVMe`와 `ENA`을 도입하였고 이에 필요한 드라이버가 기존 4세대에 포함되지 않아서 과거에는 이로 인한 문제가 자주 발생했다(지금은 이전 4세대 인스턴스에 해당 드라이버를 포함시켜 놓았다고 한다).
여기서 잠깐! 주요 용어정리를 하자면,
- NVMe
NVMe는 (Non-Volatile Memory express)의 약자이며 초고속 저장장치
NVMe는 인텔, 삼성, 샌디스크, 델, 시게이트 등 포함된 산업 컨소시엄이 SSD전용으로 개발한 통신 표준/프로토콜
- ENA
ENA는 Elastic Network Adapter로 기존보다 향상된 네트워크 처리를 가능하게 해주는 네트워크 통신모듈
본론으로 돌아가자면
예를 들어 인스턴스 타입을 r4 → r5로 바꾸고 나서 부팅이 안 된다면 ENA가 정상작동하는지 체크해봐야 한다. 가장 좋은 방법은 인스턴스 타입을 바꾸기 전에 ENA 드라이버/모듈이 설치되었는지 확인하는 것이다.
만약 NVMe를 지원하지 않는 인스턴스 타입에서 NVMe를 지원하는 인스턴스 타입으로 변경하는 경우 먼저 인스턴스에 NVMe 드라이버 를 설치해야 한다.
$ aws ec2 describe-instances --instance-ids instance_id --query "Reservations[].Instances[].EnaSupport"
ㄴ TRUE 면 설정된 것, 안되어 있으면 아래 명령어로 설정
$ aws ec2 modify-instance-attribute --instance-id <INSTANCE_ID> --ena-support
ENA 뿐만 아니라 NVME, fstab도 확인해야한다. 이 부분은 NitroInstanceChecks 스크립트로 확인할 수 있고 이 작업 마치고 나서 인스턴스 타입을 변경하는 것이 좋다.
https://github.com/awslabs/aws-support-tools/tree/master/EC2/NitroInstanceChecks
ㄴ> wget이나 편한 방법으로 스크립트를 다운받고 아래 명령어를 실행한다
$ chmod +x nitro_check_script.sh
$ sudo ./nitro_check_script.sh
------------------------------------------------
OK NVMe Module is installed and available on your instance
OK ENA Module with version 2.8.0g is installed and available on your instance
OK fstab file looks fine and does not contain any device names.
ㄴ> OK 3개가 뜨면 정상동작 하는 것이다
참고하면 좋을 AWS 문서
#Amazon EC2(Amazon Elastic Compute Cloud) Linux 인스턴스를 Nitro 기반 인스턴스 유형으로 변경했는데 이제는 부팅이 되지 않습니다.
https://aws.amazon.com/ko/premiumsupport/knowledge-center/boot-error-linux-nitro-instance/
'OPS' 카테고리의 다른 글
[윈도우 OS] TreeSizeFree를 이용해 폴더별 디스크 사용량 확인하는법 (0) | 2023.02.20 |
---|---|
[AWS] VPN 정의 및 주요 용어 정리 (0) | 2023.02.09 |
[AWS] ELB를 활성화했음에도 트래픽이 분산되지 않는다면? (0) | 2023.02.07 |
[AWS] EBS 볼륨 유형을 gp2에서 gp3로 변경해야 하는 이유! (0) | 2023.02.06 |
2023-02-04 DOP 공부 #3 (0) | 2023.02.04 |