Intel 82599 VF 인터페이스로 향상된 네트워킹 사용하기
Intel 82599 VF 인터페이스로 향상된 네트워킹 사용하기
Xen 기반 인스턴스의 경우 Intel 82599 Virtual Function(VF) 인터페이스가 향상된 네트워킹 기능을 제공해요. 이 인터페이스는 Intel ixgbevf 드라이버를 사용합니다. 아래 탭은 인스턴스 운영체제에 설치된 네트워크 어댑터 드라이버를 확인하는 방법을 보여줍니다.
출처: 문서
본문
Xen 기반 인스턴스의 경우 Intel 82599 Virtual Function(VF) 인터페이스가 향상된 네트워킹 기능을 제공합니다. 이 인터페이스는 Intel ixgbevf 드라이버를 사용합니다.
Linux
Linux 네트워크 인터페이스 드라이버
특정 인터페이스에서 모듈이 사용되고 있는지 확인하려면 다음 명령을 사용해요. 확인하려는 인터페이스 이름을 대체하세요. 단일 인터페이스(기본값)를 사용한다면 이는 eth0입니다. 운영체제가 예측 가능한 네트워크 이름을 지원한다면 ens5 같은 이름일 수 있습니다.
다음 예시에서 ixgbevf 모듈은 나열된 드라이버가 vif이므로 로드되지 않았습니다.
[ec2-user ~]$ ethtool -i eth0
driver: vif
version:
firmware-version:
bus-info: vif-0
supports-statistics: yes
supports-test: no
supports-eeprom-access: no
supports-register-dump: no
supports-priv-flags: no
이 예시에서는 ixgbevf 모듈이 로드되어 있습니다. 이 인스턴스는 향상된 네트워킹이 제대로 구성되어 있습니다.
[ec2-user ~]$ ethtool -i eth0
driver: ixgbevf
version: 4.0.3
firmware-version: N/A
bus-info: 0000:00:03.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: no
supports-register-dump: yes
supports-priv-flags: no
Windows
Windows 네트워크 어댑터
드라이버가 설치되었는지 확인하려면 인스턴스에 연결하고 **장치 관리자(Device Manager)**를 열어요. Network adapters 아래에 Intel(R) 82599 Virtual Function이 나열된 것을 확인할 수 있어야 합니다.
인스턴스를 향상된 네트워킹에 대비시키기
Intel 82599 VF 인터페이스로 향상된 네트워킹을 사용하려면 인스턴스를 다음과 같이 설정해요.
Warning
향상된 네트워킹 속성은 활성화한 뒤에는 비활성화할 수 없어요.
- 인스턴스 유형이 다음 중 하나인지 확인해요: C3, C4, D2, I2, M4(m4.16xlarge 제외), R3.
- 인스턴스에 인터넷 연결이 있는지 확인합니다.
- 보존하려는 중요한 데이터가 인스턴스에 있다면 인스턴스에서 AMI를 만들어 지금 백업해야 합니다. 커널과 커널 모듈을 업데이트하고
sriovNetSupport속성을 활성화하면 호환되지 않는 인스턴스나 운영체제에 연결할 수 없게 될 수도 있습니다. 최근 백업이 있으면 이 경우에도 데이터는 유지됩니다. - Linux 인스턴스 – Linux 커널 버전 2.6.32 이상을 사용하는 HVM AMI에서 인스턴스를 시작합니다. 최신 Amazon Linux HVM AMI에는 향상된 네트워킹에 필요한 모듈이 설치되어 있고 필요한 속성이 설정되어 있습니다. 따라서 최신 Amazon Linux HVM AMI를 사용해 Amazon EBS 기반의 향상된 네트워킹 지원 인스턴스를 시작하면 향상된 네트워킹이 이미 활성화되어 있습니다. 향상된 네트워킹은 HVM 인스턴스에서만 지원됩니다. PV 인스턴스에서 향상된 네트워킹을 활성화하면 연결할 수 없게 될 수 있습니다. 적절한 모듈이나 모듈 버전 없이 이 속성을 설정해도 인스턴스에 연결할 수 없게 될 수 있습니다.
- Windows 인스턴스 – 64비트 HVM AMI에서 인스턴스를 시작합니다. Windows Server 2008에서는 향상된 네트워킹을 활성화할 수 없습니다. Windows Server 2012 R2 및 Windows Server 2016 이상 AMI에서는 향상된 네트워킹이 이미 활성화되어 있습니다. Windows Server 2012 R2에는 Intel 드라이버 1.0.15.3이 포함되어 있으며 Pnputil.exe 유틸리티를 사용해 최신 버전으로 업그레이드하는 것을 권장합니다.
- AWS Management Console에서 AWS CloudShell을 사용하거나, 선택한 컴퓨터(가급적 로컬 데스크톱이나 노트북)에 AWS CLI 또는 AWS Tools for Windows PowerShell을 설치하고 구성합니다. 자세한 내용은 Amazon EC2 액세스 또는 AWS CloudShell 사용 설명서를 참고하세요. 향상된 네트워킹은 Amazon EC2 콘솔에서는 관리할 수 없습니다.
향상된 네트워킹이 활성화되어 있는지 테스트하기
인스턴스 또는 이미지에 sriovNetSupport 속성이 설정되어 있는지 확인해요.
AWS CLI – 인스턴스 속성 확인 (sriovNetSupport)
다음 describe-instance-attribute 명령을 사용해요. 속성이 설정되어 있으면 값은 simple입니다.
aws ec2 describe-instance-attribute \
--instance-id i-1234567890abcdef0 \
--attribute sriovNetSupport
AWS CLI – 이미지 속성 확인 (sriovNetSupport)
다음 describe-images 명령을 사용해요. 속성이 설정되어 있으면 값은 simple입니다.
aws ec2 describe-images \
--image-id ami-0abcdef1234567890 \
--query "Images[].SriovNetSupport"
PowerShell – 인스턴스 속성 확인 (sriovNetSupport)
Get-EC2InstanceAttribute cmdlet을 사용해요. 속성이 설정되어 있으면 값은 simple입니다.
Get-EC2InstanceAttribute `
-InstanceId i-1234567890abcdef0 `
-Attribute sriovNetSupport
PowerShell – 이미지 속성 확인 (sriovNetSupport)
다음 describe-images 명령을 사용해요. 속성이 설정되어 있으면 값은 simple입니다.
(Get-EC2Image -ImageId ami-0abcdef1234567890).SriovNetSupport
인스턴스에서 향상된 네트워킹 활성화하기
사용하는 절차는 인스턴스의 운영체제에 따라 달라집니다.
Warning
향상된 네트워킹 속성은 활성화한 뒤에는 비활성화할 수 없어요.
최신 Amazon Linux HVM AMI에는 향상된 네트워킹에 필요한 ixgbevf 모듈이 설치되어 있고 필요한 sriovNetSupport 속성이 설정되어 있습니다. 따라서 최신 Amazon Linux HVM AMI로 인스턴스 유형을 시작하면 인스턴스에 향상된 네트워킹이 이미 활성화되어 있습니다. 자세한 내용은 Test whether enhanced networking is enabled를 참고하세요.
이전 Amazon Linux AMI로 인스턴스를 시작했고 향상된 네트워킹이 아직 활성화되지 않았다면 다음 절차를 사용해 향상된 네트워킹을 활성화하세요.
향상된 네트워킹을 활성화하려면
- 인스턴스에 연결합니다.
- 인스턴스에서 다음 명령을 실행해
ixgbevf를 포함한 최신 커널과 커널 모듈로 인스턴스를 업데이트합니다.
[ec2-user ~]$ sudo yum update
- 로컬 컴퓨터에서 Amazon EC2 콘솔이나 다음 명령 중 하나를 사용해 인스턴스를 재부팅합니다:
reboot-instances(AWS CLI) 또는Restart-EC2Instance(AWS Tools for Windows PowerShell). - 인스턴스에 다시 연결하고, Test whether enhanced networking is enabled의
modinfo ixgbevf명령을 사용해ixgbevf모듈이 설치되어 있고 최소 권장 버전인지 확인합니다. - [EBS 기반 인스턴스] 로컬 컴퓨터에서 Amazon EC2 콘솔이나 다음 명령 중 하나를 사용해 인스턴스를 중지합니다:
stop-instances(AWS CLI) 또는Stop-EC2Instance(AWS Tools for Windows PowerShell). [인스턴스 스토어 기반 인스턴스] 속성을 수정하려면 인스턴스를 중지할 수 없습니다. 대신 다음 절차로 건너뜁니다. - 로컬 컴퓨터에서 다음 명령 중 하나를 사용해 향상된 네트워킹 속성을 활성화합니다. AWS CLI – 다음과 같이
modify-instance-attribute명령을 사용합니다. PowerShell – 다음과 같이Edit-EC2InstanceAttributecmdlet을 사용합니다.
aws ec2 modify-instance-attribute \
--instance-id i-1234567890abcdef0 \
--sriov-net-support simple
Edit-EC2InstanceAttribute `
-InstanceId i-1234567890abcdef0 `
-SriovNetSupport "simple"
- (선택 사항) Create an Amazon EBS-backed AMI에서 설명한 것처럼 인스턴스에서 AMI를 만듭니다. AMI는 인스턴스에서 향상된 네트워킹 속성을 상속합니다. 따라서 이 AMI를 사용해 기본적으로 향상된 네트워킹이 활성화된 다른 인스턴스를 시작할 수 있습니다. 인스턴스 운영체제에
/etc/udev/rules.d/70-persistent-net.rules파일이 있으면 AMI를 만들기 전에 반드시 삭제해야 합니다. 이 파일에는 원래 인스턴스의 이더넷 어댑터 MAC 주소가 들어 있습니다. 다른 인스턴스가 이 파일로 부팅하면 운영체제가 장치를 찾지 못해eth0이 실패하고 부팅 문제가 발생할 수 있습니다. 이 파일은 다음 부팅 주기에 다시 생성되며, AMI에서 시작된 모든 인스턴스는 자체 버전의 파일을 만듭니다. - 로컬 컴퓨터에서 Amazon EC2 콘솔이나 다음 명령 중 하나를 사용해 인스턴스를 시작합니다:
start-instances(AWS CLI) 또는Start-EC2Instance(AWS Tools for Windows PowerShell). - 인스턴스에 연결하고, Test whether enhanced networking is enabled의
ethtool -i ethn명령을 사용해 네트워크 인터페이스에ixgbevf모듈이 설치되고 로드되었는지 확인합니다.
향상된 네트워킹 활성화(인스턴스 스토어 기반 인스턴스)
인스턴스를 중지하는 단계까지 이전 절차를 따릅니다. Create an Amazon S3-backed AMI에 설명된 것처럼 새 AMI를 만들고, AMI를 등록할 때 향상된 네트워킹 속성을 활성화해야 합니다.
AWS CLI
다음과 같이 register-image 명령을 사용해요.
aws ec2 register-image --sriov-net-support simple ...
PowerShell
다음과 같이 Register-EC2Image를 사용해요.
Register-EC2Image -SriovNetSupport "simple" ...
시작 전에 인스턴스에서 향상된 네트워킹이 이미 활성화되어 있는지 확인하세요. Quick Start Ubuntu HVM AMI에는 향상된 네트워킹에 필요한 드라이버가 포함되어 있습니다. ixgbevf 버전이 2.16.4보다 이전이라면 linux-aws 커널 패키지를 설치해 최신 향상된 네트워킹 드라이버를 얻을 수 있습니다.
linux-aws 커널 패키지를 Ubuntu 인스턴스에서 컴파일하는 일반적인 단계는 다음 절차에서 확인할 수 있습니다.
linux-aws 커널 패키지 설치
ubuntu:~$ sudo apt-get update && sudo apt-get upgrade -y linux-aws
Important
- 인스턴스에 연결합니다.
- 패키지 캐시와 패키지를 업데이트합니다. 업데이트 과정에서 grub를 설치하라는 메시지가 표시되면
/dev/xvda를 사용해 grub를 설치한 뒤 현재 버전의/boot/grub/menu.lst를 유지하도록 선택합니다.
시작 전에 인스턴스에서 향상된 네트워킹이 이미 활성화되어 있는지 확인하세요. 최신 Quick Start HVM AMI에는 향상된 네트워킹에 필요한 드라이버가 포함되어 있으므로 추가 단계를 수행할 필요가 없습니다. Amazon Linux이나 Ubuntu 이외의 Linux 배포판에서 Intel 82599 VF 인터페이스로 향상된 네트워킹을 활성화해야 한다면 다음 절차가 일반적인 단계를 제공합니다. 명령의 자세한 구문, 파일 위치, 패키지 및 도구 지원에 대한 자세한 내용은 Linux 배포판의 특정 문서를 참고하세요.
Linux에서 향상된 네트워킹 활성화
Warning
예측 가능한 네트워크 이름을 비활성화하지 않으면 향상된 네트워킹이 작동하지 않을 수 있어요.
- RPM 기반 시스템에서 다음 명령으로 systemd 또는 udev 버전을 확인할 수 있습니다. 위 Red Hat Enterprise Linux 7 예시에서 systemd 버전은 208이므로 예측 가능한 네트워크 인터페이스 이름을 비활성화해야 합니다.
[ec2-user ~]$ rpm -qa | grep -e '^systemd-[0-9]\+\|^udev-[0-9]\+'
systemd-208-11.el7_0.2.x86_64
/etc/default/grub의GRUB_CMDLINE_LINUX줄에net.ifnames=0옵션을 추가해 예측 가능한 네트워크 인터페이스 이름을 비활성화합니다.
[ec2-user ~]$ sudo sed -i '/^GRUB\_CMDLINE\_LINUX/s/\"$/ net\.ifnames\=0\"/' /etc/default/grub
- grub 구성 파일을 다시 빌드합니다.
[ec2-user ~]$ sudo grub2-mkconfig -o /boot/grub2/grub.cfg
- [EBS 기반 인스턴스] 로컬 컴퓨터에서 Amazon EC2 콘솔이나 다음 명령 중 하나를 사용해 인스턴스를 중지합니다:
stop-instances(AWS CLI) 또는Stop-EC2Instance(AWS Tools for Windows PowerShell). [인스턴스 스토어 기반 인스턴스] 속성을 수정하려면 인스턴스를 중지할 수 없습니다. 대신 다음 절차로 건너뜁니다. - 로컬 컴퓨터에서 다음 명령 중 하나를 사용해 향상된 네트워킹 속성을 활성화합니다. AWS CLI – 다음과 같이
modify-instance-attribute명령을 사용합니다. PowerShell – 다음과 같이Edit-EC2InstanceAttributecmdlet을 사용합니다.
aws ec2 modify-instance-attribute \
--instance-id i-1234567890abcdef0 -\
-sriov-net-support simple
Edit-EC2InstanceAttribute `
-InstanceId i-1234567890abcdef0 `
-SriovNetSupport "simple"
- (선택 사항) Create an Amazon EBS-backed AMI에서 설명한 것처럼 인스턴스에서 AMI를 만듭니다. AMI는 인스턴스에서 향상된 네트워킹 속성을 상속합니다. 따라서 이 AMI를 사용해 기본적으로 향상된 네트워킹이 활성화된 다른 인스턴스를 시작할 수 있습니다.
- 로컬 컴퓨터에서 Amazon EC2 콘솔이나 다음 명령 중 하나를 사용해 인스턴스를 시작합니다:
start-instances(AWS CLI) 또는Start-EC2Instance(AWS Tools for Windows PowerShell). - (선택 사항) 인스턴스에 연결하고 모듈이 설치되었는지 확인합니다.
향상된 네트워킹 활성화(인스턴스 스토어 기반 인스턴스)
인스턴스를 중지하는 단계까지 이전 절차를 따릅니다. Create an Amazon S3-backed AMI에 설명된 것처럼 새 AMI를 만들고, AMI를 등록할 때 향상된 네트워킹 속성을 활성화해야 합니다.
AWS CLI
다음과 같이 register-image 명령을 사용해요.
aws ec2 register-image --sriov-net-support simple ...
PowerShell
다음과 같이 Register-EC2Image를 사용해요.
Register-EC2Image -SriovNetSupport "simple" ...
Windows 인스턴스
인스턴스를 시작했는데 향상된 네트워킹이 아직 활성화되지 않았다면 인스턴스에 필요한 네트워크 어댑터 드라이버를 다운로드하고 설치한 뒤 sriovNetSupport 인스턴스 속성을 설정해 향상된 네트워킹을 활성화해야 합니다. 이 속성은 지원되는 인스턴스 유형에서만 활성화할 수 있습니다. 자세한 내용은 Enhanced networking on Amazon EC2 instances를 참고하세요.
Important
Windows AMI의 최신 드라이버 업데이트를 보려면 AWS Windows AMI Reference의 Windows AMI version history를 참고하세요.
향상된 네트워킹 활성화
PS C:\> C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\InitializeInstance.ps1 -Schedule
Important
- Windows Server 2022 – 다운로드 페이지를 방문해
Wired_driver_version_x64.zip을 다운로드합니다.- Windows Server 2019 (Server version 1809 이상 포함) – 다운로드 페이지를 방문해
Wired_driver_version_x64.zip을 다운로드합니다.- Windows Server 2016 (Server version 1803 이하 포함) – 다운로드 페이지를 방문해
Wired_driver_version_x64.zip을 다운로드합니다.- Windows Server 2012 R2 – 다운로드 페이지를 방문해
Wired_driver_version_x64.zip을 다운로드합니다.- Windows Server 2012 – 다운로드 페이지를 방문해
Wired_driver_version_x64.zip을 다운로드합니다.- Windows Server 2008 R2 – 다운로드 페이지를 방문해
PROWinx64Legacy.exe를 다운로드합니다.
- Downloads 폴더에서
PROWinx64Legacy.exe파일을 찾아PROWinx64Legacy.zip으로 이름을 바꿉니다. PROWinx64Legacy.zip의 내용을 추출합니다.- 명령줄을 열고 추출된 폴더로 이동한 뒤 다음 명령을 실행해 pnputil 유틸리티로 드라이버 스토어에 INF 파일을 추가하고 설치합니다.
C:\> pnputil -a PROXGB\Winx64\NDIS62\vxn62x64.inf
- Windows Server 2022
- Windows Server 2019
- Windows Server 2016
- Windows Server 2012 R2
- Windows Server 2012
pnputil -i -a PROXGB\Winx64\NDIS68\vxn68x64.inf
pnputil -i -a PROXGB\Winx64\NDIS65\vxn65x64.inf
pnputil -i -a PROXGB\Winx64\NDIS64\vxn64x64.inf
pnputil -i -a PROXGB\Winx64\NDIS63\vxn63x64.inf
- 로컬 컴퓨터에서 다음 명령 중 하나를 사용해 향상된 네트워킹 속성을 활성화합니다. AWS CLI – 다음과 같이
modify-instance-attribute명령을 사용합니다. PowerShell – 다음과 같이Edit-EC2InstanceAttributecmdlet을 사용합니다.
aws ec2 modify-instance-attribute \
--instance-id i-1234567890abcdef0 \
--sriov-net-support simple
Edit-EC2InstanceAttribute `
-InstanceId i-1234567890abcdef0 `
-SriovNetSupport "simple"
- (선택 사항) Create an Amazon EBS-backed AMI에서 설명한 것처럼 인스턴스에서 AMI를 만듭니다. AMI는 인스턴스에서 향상된 네트워킹 속성을 상속합니다. 따라서 이 AMI를 사용해 기본적으로 향상된 네트워킹이 활성화된 다른 인스턴스를 시작할 수 있습니다.
- 로컬 컴퓨터에서 Amazon EC2 콘솔이나 다음 명령 중 하나를 사용해 인스턴스를 시작합니다:
start-instances(AWS CLI) 또는Start-EC2Instance(AWS Tools for Windows PowerShell).
연결 문제 해결 (Troubleshoot connectivity issues)
향상된 네트워킹을 활성화하는 동안 연결이 끊어지면 ixgbevf 모듈이 커널과 호환되지 않을 수 있습니다. 인스턴스의 Linux 배포판과 함께 제공되는 ixgbevf 모듈 버전을 설치해 보세요.
PV 인스턴스나 AMI에 대해 향상된 네트워킹을 활성화하면 인스턴스에 연결할 수 없게 될 수 있습니다.
자세한 내용은 How do I turn on and configure enhanced networking on my EC2 instances?를 참고하세요.