Linux 인스턴스에서 인텔 82599 VF 인터페이스를 통해 향상된 네트워킹을 사용하도록 설정합니다. - Amazon Elastic Compute Cloud

Linux 인스턴스에서 인텔 82599 VF 인터페이스를 통해 향상된 네트워킹을 사용하도록 설정합니다.

Amazon EC2에서는 Intel ixgbevf 드라이버를 사용하는 Intel 82599 VF 인터페이스를 통해 향상된 네트워킹 기능을 제공합니다.

요구 사항

intel 82599 VF 인터페이스를 사용하여 향상된 네트워킹을 준비하려면 인스턴스를 다음과 같이 설정하세요.

  • C3, C4, D2, I2, M4(m4.16xlarge 제외) 및 R3의 지원되는 인스턴스 유형에서 선택합니다.

  • 2.6.32 버전 이상의 Linux 커널을 사용하는 HVM AMI에서 인스턴스를 시작합니다. 최신 Amazon Linux HVM AMI에는 향상된 네트워킹에 요구되는 모듈이 설치되어 있으며 필요한 속성 세트를 갖추고 있습니다. 따라서 현재 Amazon Linux HVM AMI를 사용하여 Amazon EBS 지원, 향상된 네트워킹을 지원하는 인스턴스를 시작하는 경우 인스턴스에 대해 향상된 네트워킹을 사용하도록 이미 설정되어 있습니다.

    주의

    향상된 네트워킹 기능은 HVM 인스턴스에서만 지원됩니다. PV 인스턴스에서 향상된 네트워킹 기능을 활성화하면 인스턴스 접속이 불가능해질 수 있습니다. 올바른 모듈과 모듈 버전을 사용하지 않고 속성을 설정하는 경우에도 인스턴스 접속이 불가능해질 수 있습니다.

  • 인스턴스가 인터넷에 연결되어 있는지 확인합니다.

  • AWS Management Console에서 AWS CloudShell을(를) 사용하거나 선택한 컴퓨터에 AWS CLI 또는 AWS Tools for Windows PowerShell을(를) 설치하고 구성합니다(로컬 데스크톱/노트북 권장). 자세한 내용은 Amazon EC2 액세스 또는 AWS CloudShell 사용 설명서를 참조하세요. Amazon EC2 콘솔에서는 향상된 네트워킹을 관리할 수 없습니다.

  • 인스턴스에 보존해야 할 중요한 데이터가 있는 경우 인스턴스에서 AMI를 만들어 데이터를 백업해야 합니다. 커널 및 커널 모듈 업데이트 외에도 sriovNetSupport 속성을 활성화하면 호환되지 않는 인스턴스나 운영 체제에 접속할 수 없게 됩니다. 최신 백업을 확보하면 이 경우에도 데이터를 보존할 수 있습니다.

향상된 네트워킹 기능 활성화 여부 테스트

ixgbevf모듈 가 인스턴스에 설치되어 있고 sriovNetSupport 속성이 설정된 경우 intel 82599 VF 인터페이스를 사용하는 향상된 네트워킹이 활성화됩니다.

인스턴스 속성(sriovNetSupport)

다음 명령 중 하나를 사용하여 인스턴스에 향상된 네트워킹 sriovNetSupport 속성 세트가 있는지 확인할 수 있습니다.

AWS CLI

describe-instance-attribute (AWS CLI/AWS CloudShell)

aws ec2 describe-instance-attribute --instance-id instance_id --attribute sriovNetSupport
PowerShell

Get-EC2InstanceAttribute (AWS Tools for Windows PowerShell)

Get-EC2InstanceAttribute -InstanceId instance-id -Attribute sriovNetSupport

속성이 설정되지 않으면 SriovNetSupport는 비어 있습니다. 속성이 설정된 경우 다음 예제 출력과 같이 값이 간단합니다.

"SriovNetSupport": { "Value": "simple" },
이미지 속성(sriovNetSupport)

다음 명령 중 하나를 사용하여 AMI에 향상된 네트워킹 sriovNetSupport 속성 세트가 있는지 확인할 수 있습니다.

AWS CLI

describe-images (AWS CLI/AWS CloudShell)

aws ec2 describe-images --image-id ami_id --query "Images[].SriovNetSupport"
PowerShell

Get-EC2Image (AWS Tools for Windows PowerShell)

(Get-EC2Image -ImageId ami-id).SriovNetSupport

속성이 설정되지 않으면 SriovNetSupport는 비어 있습니다. 속성이 설정된 경우 값은 간단합니다.

네트워크 인터페이스 드라이버

다음 명령을 사용하여 특정 인터페이스에서 모듈이 사용되고 있는지 확인할 수 있습니다. 여기서 확인하고자 하는 인터페이스 이름을 대체합니다. 단일 인터페이스를 사용하는 경우(기본 설정), eth0으로 표시됩니다. 운영 체제가 예측 가능한 네트워크 이름을 지원하는 경우 이는 ens5와 같은 이름일 수 있습니다.

다음 예시에서는 vif가 드라이버로 표시되어, ixgbevf 모듈이 로드되지 않았습니다.

[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

Amazon Linux에서 향상된 네트워킹 활성화

최신 Amazon Linux HVM AMI에는 향상된 네트워킹에 요구되는 ixgbevf 모듈이 설치되어 있으며 필요한 sriovNetSupport 속성 세트를 갖추고 있습니다. 따라서 현재 Amazon Linux HVM AMI를 사용하여 인스턴스 유형을 시작하는 경우 인스턴스에 대해 확장 네트워크 기능이 이미 활성화되어 있습니다. 자세한 내용은 향상된 네트워킹 기능 활성화 여부 테스트 섹션을 참조하세요.

구형 Amazon Linux AMI를 사용하여 인스턴스를 시작했는데 아직 확장 네트워크 기능이 활성화되어 있지 않다면 다음 절차에 따라 확장 네트워크를 활성화할 수 있습니다.

주의

향상된 네트워킹 속성을 활성화한 다음에는 다시 비활성화할 수 없습니다.

향상된 네트워킹을 활성화하려면
  1. 인스턴스 연결 후.

  2. 인스턴스 상에서 다음 명령을 사용하여 인스턴스를 ixgbevf를 포함한 최신 커널과 커널 모듈로 업데이트합니다.

    [ec2-user ~]$ sudo yum update
  3. 로컬 컴퓨터에서 Amazon EC2 콘솔을 사용하거나 reboot-instances(AWS CLI) 또는 Restart-EC2Instance(AWS Tools for Windows PowerShell) 명령 중 하나를 사용하여 인스턴스를 재부팅합니다.

  4. 인스턴스에 다시 연결하고 ixgbevf에서 modinfo ixgbevf 명령을 사용하여 향상된 네트워킹 기능 활성화 여부 테스트 모듈이 설치되어 있고 최소 권장 버전 요건을 충족하는지를 확인합니다.

  5. [EBS 지원 인스턴스] 로컬 컴퓨터에서 Amazon EC2 콘솔을 사용하거나 stop-instances(AWS CLI) 또는 Stop-EC2Instance(AWS Tools for Windows PowerShell) 명령 중 하나를 사용하여 인스턴스를 중지합니다. 인스턴스를 AWS OpsWorks에서 관리할 경우 AWS OpsWorks 콘솔에서 인스턴스를 중지해야 인스턴스 상태가 동기화됩니다.

    [인스턴스 스토어 지원 인스턴스] 속성을 수정하기 위해 인스턴스를 중지할 수 없습니다. 그 대신 이 절차(향상된 네트워킹 기능을 활성화하려면(인스턴스 스토어 지원 인스턴스))로 넘어가세요.

  6. 사용자의 로컬 컴퓨터에서 다음 명령 중 하나를 사용하여 확장 네트워크 속성을 활성화합니다.

    AWS CLI

    modify-instance-attribute (AWS CLI/AWS CloudShell)

    aws ec2 modify-instance-attribute --instance-id instance_id --sriov-net-support simple
    PowerShell

    Edit-EC2InstanceAttribute (AWS Tools for Windows PowerShell)

    Edit-EC2InstanceAttribute -InstanceId instance_id -SriovNetSupport "simple"
  7. (선택 사항) Amazon EBS-backed Linux AMI 생성 의 설명에 따라 인스턴스에서 AMI를 생성합니다. 생성된 AMI는 인스턴스의 확장 네트워크 속성을 상속합니다. 따라서 이 AMI를 사용하여 기본적으로 향상된 네트워킹 기능이 활성화된 상태로 다른 인스턴스를 시작할 수 있습니다.

  8. 로컬 컴퓨터에서 Amazon EC2 콘솔을 사용하거나 start-instances(AWS CLI) 또는 Start-EC2Instance(AWS Tools for Windows PowerShell) 명령 중 하나를 사용하여 인스턴스를 시작합니다. 인스턴스를 AWS OpsWorks에서 관리할 경우 AWS OpsWorks 콘솔에서 인스턴스를 시작해야 인스턴스 상태가 동기화됩니다.

  9. 인스턴스에 연결하고 ixgbevf에서 ethtool -i ethn 명령을 사용하여 향상된 네트워킹 기능 활성화 여부 테스트 모듈이 설치되어 있고 네트워크 인터페이스에 로드되었는지 확인합니다.

향상된 네트워킹 기능을 활성화하려면(인스턴스 스토어 지원 인스턴스)

이전 절차에서 인스턴스를 중지한 단계까지 진행합니다. 인스턴스 스토어 기반 Linux AMI 생성에 설명된 것처럼 새 AMI를 생성하고, AMI를 등록할 때 향상된 네트워킹 속성을 활성화합니다.

AWS CLI

register-image (AWS CLI/AWS CloudShell)

aws ec2 register-image --sriov-net-support simple ...
PowerShell

Register-EC2Image (AWS Tools for Windows PowerShell)

Register-EC2Image -SriovNetSupport "simple" ...

Ubuntu에서 향상된 네트워킹 활성화

시작하기 전에 인스턴스에서 향상된 네트워킹이 이미 활성화되어 있는지 확인합니다.

최신 빠른 시작 Ubuntu HVM AMI에는 향상된 네트워킹을 위한 필수 드라이버가 포함되어 있습니다. ixgbevf 버전 2.16.4 이하를 사용하는 경우 linux-aws 커널 패키지를 설치하여 최신 향상된 네트워킹 드라이버를 가져올 수 있습니다.

다음 절차는 Ubuntu 인스턴스에서 ixgbevf 모듈을 컴파일하는 일반적인 방법입니다.

linux-aws 커널 패키지를 설치하려면
  1. 인스턴스에 연결합니다.

  2. 패키지 캐시와 패키지를 업데이트합니다.

    ubuntu:~$ sudo apt-get update && sudo apt-get upgrade -y linux-aws
    중요

    업데이트 과정에서 grub 설치 메시지가 표시되는 경우, /dev/xvda를 사용하여 grub을 설치하고 /boot/grub/menu.lst의 현재 버전을 유지하도록 선택합니다.

다른 Linux 배포에서 향상된 네트워킹 활성화

시작하기 전에 인스턴스에서 향상된 네트워킹이 이미 활성화되어 있는지 확인합니다. 최신 빠른 시작 HVM AMI에는 향상된 네트워킹을 위한 필수 드라이버가 포함되어 있으므로 추가 단계를 수행할 필요가 없습니다.

다음 절차는 Amazon Linux 또는 Ubuntu를 제외한 다른 Linux 배포판에서 intel 82599 VF 인터페이스를 사용하여 향상된 네트워킹을 활성화해야 하는 경우에 사용되는 일반적인 방법입니다. 명령 구문과 파일 위치, 패키지 및 도구 지원을 비롯한 자세한 내용은 사용 Linux 배포판의 전용 문서를 참조하세요.

Linux에서 향상된 네트워킹을 활성화하려면
  1. 인스턴스에 연결합니다.

  2. Sourceforge에서 인스턴스 ixgbevf 모듈의 소스 다운로드: https://sourceforge.net/projects/e1000/files/ixgbevf%20stable/.

    2.14.2 버전을 포함하여 2.16.4 이전의 ixgbevf 버전은 Ubuntu 일부 버전을 포함한 일부 Linux 배포판에서 제대로 빌드되지 않습니다.

  3. 인스턴스에 ixgbevf 모듈을 컴파일하고 설치합니다.

    주의

    현재 사용 중인 커널을 기준으로 ixgbevf 모듈을 컴파일한 다음 새 커널에 맞게 드라이버를 재구축하지 않고 커널 업그레이드를 진행하면, 다음번 재부팅에서 시스템이 배포 버전의 ixgbevf 모듈로 돌아갈 수 있습니다. 이 경우 배포 버전이 향상된 네트워킹과 호환되지 않으면 시스템에 접속하지 못하는 결과가 발생할 수 있습니다.

  4. 모듈 종속성을 갱신하려면 sudo depmod 명령을 실행합니다.

  5. 인스턴스에서 initramfs를 업데이트하여 부팅 시 새 모듈이 로드되도록 합니다.

  6. 시스템이 예측 가능한 네트워크 인터페이스 이름을 기본으로 사용하는지 확인합니다. 사용하는 systemd 또는 udev 버전이 197 이상인 시스템에서는 이더넷 디바이스의 이름 변경이 가능해 단일 네트워크 인터페이스가 아닌 경우에도 eth0 이름이 할당될 수 있습니다. 이에 따라 인스턴스 연결에 문제가 발생할 수 있습니다. 자세한 내용과 다른 구성 옵션을 보려면 freedesktop.org 웹 사이트에서 예측 가능한 네트워크 인터페이스 이름을 참조하세요.

    1. RPM 기반 시스템에서는 다음 명령을 사용하여 systemd 또는 udev 버전을 확인할 수 있습니다.

      [ec2-user ~]$ rpm -qa | grep -e '^systemd-[0-9]\+\|^udev-[0-9]\+' systemd-208-11.el7_0.2.x86_64

      위의 Red Hat Enterprise Linux 7 예제에서, systemd 버전은 208이므로, 해당 네트워크 인터페이스 이름을 비활성화해야 합니다.

    2. net.ifnames=0GRUB_CMDLINE_LINUX 줄에 /etc/default/grub 옵션을 추가하여 예측 가능한 네트워크 인터페이스 이름을 비활성화합니다.

      [ec2-user ~]$ sudo sed -i '/^GRUB\_CMDLINE\_LINUX/s/\"$/\ net\.ifnames\=0\"/' /etc/default/grub
    3. GRUB 구성 파일을 재구축합니다.

      [ec2-user ~]$ sudo grub2-mkconfig -o /boot/grub2/grub.cfg
  7. [EBS 지원 인스턴스] 로컬 컴퓨터에서 Amazon EC2 콘솔을 사용하거나 stop-instances(AWS CLI/AWS CloudShell) 또는 Stop-EC2Instance (AWS Tools for Windows PowerShell) 명령 중 하나를 사용하여 인스턴스를 중지합니다. 인스턴스를 AWS OpsWorks에서 관리할 경우 AWS OpsWorks 콘솔에서 인스턴스를 중지해야 인스턴스 상태가 동기화됩니다.

    [인스턴스 스토어 지원 인스턴스] 속성을 수정하기 위해 인스턴스를 중지할 수 없습니다. 그 대신 이 절차(향상된 네트워킹 기능을 사용하려면(인스턴스 스토어 지원 인스턴스))로 넘어가세요.

  8. 사용자의 로컬 컴퓨터에서 다음 명령 중 하나를 사용하여 확장 네트워크 속성을 활성화합니다.

    AWS CLI

    modify-instance-attribute (AWS CLI/AWS CloudShell)

    aws ec2 modify-instance-attribute --instance-id instance_id --sriov-net-support simple
    PowerShell

    Edit-EC2InstanceAttribute (AWS Tools for Windows PowerShell)

    Edit-EC2InstanceAttribute -InstanceId instance_id -SriovNetSupport "simple"
  9. (선택 사항) Amazon EBS-backed Linux AMI 생성 의 설명에 따라 인스턴스에서 AMI를 생성합니다. 생성된 AMI는 인스턴스의 확장 네트워크 속성을 상속합니다. 따라서 이 AMI를 사용하여 기본적으로 향상된 네트워킹 기능이 활성화된 상태로 다른 인스턴스를 시작할 수 있습니다.

    중요

    인스턴스 운영 체제에 /etc/udev/rules.d/70-persistent-net.rules 파일이 있는 경우 AMI 생성 전에 이 파일을 삭제해야 합니다. 이 파일에 원본 인스턴스의 이더넷 어댑터에 대한 MAC 주소가 포함되어 있습니다. 이 파일로 다른 인스턴스가 부팅되면 운영 체제에서 디바이스를 찾지 못하고, eth0이 실패하여 부팅 문제가 발생할 수 있습니다. 이 파일은 다음 부팅 주기에 생성되고 AMI에서 시작된 모든 인스턴스가 자체 버전의 파일을 생성합니다.

  10. 로컬 컴퓨터에서 Amazon EC2 콘솔을 사용하거나 start-instances(AWS CLI) 또는 Start-EC2Instance(AWS Tools for Windows PowerShell) 명령 중 하나를 사용하여 인스턴스를 시작합니다. 인스턴스를 AWS OpsWorks에서 관리할 경우 AWS OpsWorks 콘솔에서 인스턴스를 시작해야 인스턴스 상태가 동기화됩니다.

  11. (선택 사항) 인스턴스에 연결하여 모듈의 설치 여부를 확인합니다.

향상된 네트워킹 기능을 사용하려면(인스턴스 스토어 지원 인스턴스)

이전 절차에서 인스턴스를 중지한 단계까지 진행합니다. 인스턴스 스토어 기반 Linux AMI 생성에 설명된 것처럼 새 AMI를 생성하고, AMI를 등록할 때 향상된 네트워킹 속성을 활성화합니다.

AWS CLI

register-image (AWS CLI/AWS CloudShell)

aws ec2 register-image --sriov-net-support simple ...
PowerShell

Register-EC2Image (AWS Tools for Windows PowerShell)

Register-EC2Image -SriovNetSupport "simple" ...

연결 문제 해결

향상된 네트워킹 기능을 활성화하는 도중 연결이 해제된 경우, 커널이 ixgbevf 모듈과 호환되지 않아 발생한 문제일 수 있습니다. 사용 중인 Linux 배포판과 함께 제공되는 ixgbevf 모듈 버전을 설치하여 인스턴스에 사용해 보십시오.

PV 또는 AMI 인스턴스에서 향상된 네트워킹 기능을 활성화하면 인스턴스 접속이 불가능해질 수 있습니다.

자세한 내용은 EC2 인스턴스에서 향상된 네트워킹을 활성화하고 구성하려면 어떻게 해야 합니까?를 참조하세요.