Site icon 지락문화예술공작단

[AWS] Enhanced networking with the Elastic Network Adapter (ENA) is required for the instance type. Ensure that your instance is enabled for ENA.

출처URL : https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/enhanced-networking-ena.html#enable-enhanced-networking-ena-AL

 

최근 AWS EC2 는 새로운 버전들이 출시 되었다. (뭐 최근이랄것도 없이 시간이 좀 됐지만서도 ㅎ)
예를들면, T3, C5 등등

이들의 장점은 비슷하거나 제품에 따라 오히려 낮은 가격으로
최신의 프로세서를 포함하여 향상된 환경을 제공한다는 장점이 있다.

그랬다가 구버전(예를들면 T2, C4등) 인스턴스에 대해서 무심코 “인스턴스변경”후
“시작”을 했다가는…

Enhanced networking with the Elastic Network Adapter (ENA) is required for the ‘t3.micro’ instance type. Ensure that your instance ‘i-xxxxxxxxxxxxxxxxxx’ is enabled for ENA.

이런 문구를 보게 될 것이다.

아마도 새버전의 인스턴스 환경에서는 “ENA(Elastic Network Adapter 이하 ENA or ena)”가 반드시 필요한(지원되어야 하기 때문에 필요한) 모양이다.

최신 업데이트가 되지 않은 리눅스에서는 문제가 발생하게 될것이다.

URL : https://aws.amazon.com/ko/premiumsupport/knowledge-center/install-ena-driver-rhel-ec2/

를 확인해보면 RHEL(CENTOS)의 경우 7.4 미만의 커널에서는 ena를 지원하지 않는 것으로 보임

가장 위에 설명한 URL에는 전체적인 방법이 나와있지만
AWS에서 지원하는 일반적인 배포본 도는 아마존리눅스를 사용하고 있는 경우
최신버전으로 업데이트만 진행하면 될것으로 예상된다.

그리하여 필요한 부분만 설명한다.

 

시스템이 지원하는지 확인

우선 필요한것은 인스턴스 유형을 기존대로 “복원”하고 시작을 해야 한다.

 

1. 필요한 명령어


modinfo ena
ethtool -i eth0

 

2. ENA를 지원 하지 않는 경우


root # modinfo ena
modinfo: ERROR: Module ena not found.

ena 모듈을 찾을 수 없음을 출력

 

3. ENA를 지원 하는 경우


root # modinfo ena
filename: /lib/modules/3.10.0-1062.9.1.el7.x86_64/kernel/drivers/net/ethernet/amazon/ena/ena.ko.xz
version: 2.0.3K
license: GPL
description: Elastic Network Adapter (ENA)

 

시스템 업데이트

“ENA를 지원 하지 않는” 결과가 나왔다면 시스템을 업데이트 하면 된다.


yum update

본 내용은 RHEL(CENTOS)를 기준으로 작성했지만
ubuntu, debian 등의 리눅스 역시 동일한 방법을 사용하면 된다.

레드헷 계열이 지원하는 부분이라면 ubuntu등은 대부분 가능하다고 보면 된다.

업데이트 후 리부팅을 수행하자

 

시스템이 지원하는지 “재”확인

1. 모듈 탑재 확인


root # modinfo ena
filename: /lib/modules/3.10.0-1062.9.1.el7.x86_64/kernel/drivers/net/ethernet/amazon/ena/ena.ko.xz
version: 2.0.3K
license: GPL
description: Elastic Network Adapter (ENA)
...
...

 

2. 네트워크 드라이버 확인


root # ethtool -i eth0
driver: vif
version:
firmware-version:
...

 

일단 아마존콘솔에서 해당 인스턴스의 전원을 끄자

 

인스턴스의 속성 수정

aws-cli 를 이용해서 인스턴스의 속성을 수정한다.

당연히 aws-cli 가 설치 되어 있어야 하고
이를 위해서는 사용자생성등의 사전작업이 되어 있어야 하는데
이 글에서는 설명하지 않는다.

 

1. 인스턴스 수준에서 향상된 네트워크 지원을 활성화


aws ec2 modify-instance-attribute --instance-id i-xxxxxxxxxxxxx --ena-support

명령어에 오류가 없다면 별다른 대화 메세지 없이 프롬프트가 떨어진다.

작업이 마무리 되었으면
인스턴스의 유형을 신버전으로 다시 변경해보고 인스턴스를 시작해보자.

아마도 아까 발생했던 경고창 없이 시작이 될것이다.

 

2. 네트워크 드라이버 확인


root # ethtool -i eth0
driver: ena
version: 2.0.3K
firmware-version:
...

 

끝이다.

그간 AWS를 운영하면서
타입 또는 사양을 이리저리 변경했던 사례는 많지만
지금처럼 오래된 타입의 인스턴스를 신버전으로 변경했던 적이 없어서…
살짝 당황했다 ㄷ ㄷ ㄷ

Exit mobile version