본문 바로가기
CSP (Cloud Service Provider)/AWS

5세대 인스턴스 타입 변경 -ENA 비활성화 트러블슈팅

by BTC_홍대동무 2023. 9. 6.

하 안녕하세요 ~~! BTC_현상수배범입니다.

이번 시간에는 5세대(m5, c5, r5) large 사이즈로 인스턴스를 마이그레이션 시에 발생하는 트러블 슈팅 및 실습 day를 진행 해보도록 하겠습니다.

 

요구사항

  1. AMI: bongkeun-test-pre-gen-ami(2016년 3월에 출시한 리눅스 배포판) →t2.micro 로 복원해서 정상적으로 올라오는지 확인
  2. 정상적으로 올라오면, 5세대(m5, c5, r5) large 사이즈로 마이그레이션

 

작업 이력 및 트러블 슈팅

  1. AMI로 인스턴스 시작, EIP 할당
  2. 인스턴스 상태 → 중지인스턴스 유형 변경(c5 or m5 or r5.large ) →인스턴스 상태 → 시작
  3. 콘솔 에러 확인
    • Enhanced networking with the Elastic Network Adapter (ENA) is required for the 'c5.large' instance type. Ensure that your instance 'i-029f811366374cf98' is enabled for ENA. - > 인스턴스 계속 중지되어 있는 상태
  4. ENA 지원 활성화
    • aws ec2 modify-instance-attribute --instance-id i-05f063ee28571d32f --ena-support
  5. 상태검사 통과 X → 시스템 로그 확인
Checking filesystems
**/dev/xvda1: nonexistent device** ("nofail" fstab option may be used to skip this device)
Checking all file systems.

6. t2.micro로 원복

 

7.Nitro 기반 인스턴스 모듈 및 파일 시스템 탑재 요구 사항을 미충족 →NitroInstanceChecks 스크립트 실행

인스턴스에 스크립트(nitro_check_script.sh)를 다운로드하고 실행 가능하도록 권한을 변경

  • chmod +x nitro_check_script.sh

루트 사용자 또는 sudo로 스크립트를 실행

  • sudo ./nitro_check_script.sh

→프롬프트에서 y 입력. /etc/fstab 파일 재생성하고 수정하여 각 파티션의 디바이스 이름을 UUID로 대체. 원본 fstab 파일은 /etc/fstab.backup.$(date +%F-%H:%M:%S)로 저장

 

8. 인스턴스 상태 → 중지인스턴스 유형 변경(c5 or m5 or r5.large ) →인스턴스 상태 → 시작

9. modinfo ena : ena모듈이 설치되었는지 확인

10. lsblk,df -h : NVMe EBS(Nitro 기반 인스턴스에서 연결된 볼륨) 정보 확인

 

Key point

  1. AWS 5세대 인스턴스 : Nitro system을 도입 따라서 5세대 이전에 만들어진 ami 이미지를 사용하는 관리자들은 ena driver를 설치하고 향상된 네트워크 기능을 활성화해야 함.
  2. 인스턴스 유형을 변경하려면 인스턴스가 반드시 stopped상태여야 함.
  3. Nitro(c5, m5, r5)를 실행하는 인스턴스에 들어가면 vxd[x]장치가 전혀 없고 nvme[x] 장치(사용 가능한 디바이스 이름 자체가 다름)사용.
  4. bongkeun-test-pre-gen-ami 커널 정보 및 배포판 버전 확인
  • grep . /etc/*-release 명령어로 확인하였을 시 2016년 3월에 출시한 리눅스 배포판 사용 중(VERSION="2016.03”)이라 ENA 지원이 활성화되어 있지 않음.
  • cat /proc/version 명령어로 확인하였을 시 Linux version 4.14.123-111.109.amzn2.x86_64 커널 4버전을 사용 중이라 커널 버전과는 상관 없음.
  • 따라서 ENA가 지원되는 배포판에 문제가 있기 때문에 ENA활성화가 반드시 필요함.

ENA가 지원되는 커널 및 배포판

🔒 Supported Kernel Versions and Distributions

ENA driver is supported on kernels 3.2 and above with an addition of kernel 2.6.32.

RedHat:

RedHat Enterprise Linux 6.7 or newer

Ubuntu:

Ubuntu Trusty 14.04 amd64 server

Ubuntu Xenial 16.04 amd64 server

Ubuntu Yakkety 16.10 amd64 server

Ubuntu Zesty 17.04 amd64 server

Ubuntu Bionic Beaver 18.04 server or newer

 

Amazon Linux:

Amazon Linux AMI 2016.09.1

Amazon Linux AMI 2017.03

Amazon Linux AMI 2017.09

Amazon Linux AMI 2018.03

Amazon Linux AMI 2 or newer

 

CentOS:

CentOS 6.7 or newer

 

SUSE:

SUSE Linux Enterprise Server 12 SP2

SUSE Linux Enterprise Server 12 SP3

SUSE Linux Enterprise Server 15 or newer

 

참고자료 https://github.com/amzn/amzn-drivers/blob/master/kernel/linux/ena/RELEASENOTES.md https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/enhanced-networking-ena.html

 

 

이렇게 이번 시간에는 5세대(m5, c5, r5) large 사이즈로 인스턴스를 마이그레이션 시에 발생하는 트러블 슈팅 및 실습 day를 진행 해보았습니다.

다음번에는 더 신선한 주제로 찾아뵐게요~~ 모두들 베빠~

'CSP (Cloud Service Provider) > AWS' 카테고리의 다른 글

[AWS] 로드밸런서 Connection Draining  (0) 2023.09.13
AWS WAF & Shield  (0) 2023.09.07
VPC Endpoint와 S3  (0) 2023.09.05
[AWS] AWS CodeStar Connections  (0) 2023.09.01
[AWS] RDS CA 인증서 교체  (0) 2023.09.01

댓글