다중 네트워크 인터페이스
이 페이지에서는 Compute Engine 인스턴스의 다중 네트워크 인터페이스에 대해 간략하게 설명합니다. 네트워크 인터페이스가 여러 개인 인스턴스를 다중 NIC 인스턴스라고 합니다.
인스턴스 네트워크 인터페이스는 가상 프라이빗 클라우드 (VPC) 네트워크에 연결되며 가상 네트워크 인터페이스 (vNIC) 또는 Dynamic NIC일 수 있습니다. 여기서 Dynamic NIC는 상위 vNIC의 하위 인터페이스입니다. 인스턴스의 vNIC는 인스턴스를 실행하는 호스트 서버의 하나 이상의 실제 NIC로 지원됩니다. 자세한 내용은 네트워크 인터페이스 유형을 참고하세요.
사용 사례
멀티 NIC 인스턴스는 다음과 같은 시나리오에서 유용합니다.
별도의 VPC 네트워크에 있는 리소스에 연결: 멀티 NIC 인스턴스는 VPC 네트워크 피어링 또는 NCC를 통해 서로 연결되지 않은 다른 VPC 네트워크에 있는 리소스에 연결할 수 있습니다.
멀티 NIC 인스턴스의 각 인터페이스는 별도의 VPC 네트워크에 있으므로 각 인터페이스를 고유한 용도로 사용할 수 있습니다. 예를 들어 일부 인터페이스를 사용하여 프로덕션 트래픽을 전송하는 VPC 네트워크 간에 패킷을 라우팅하고 관리 또는 구성 목적으로 다른 인터페이스를 사용할 수 있습니다.
각 멀티 NIC 인스턴스의 게스트 OS 내에서 경로 정책과 로컬 경로 테이블을 구성해야 합니다.
VPC 네트워크 간에 패킷을 라우팅: 멀티 NIC 인스턴스는 두 개 이상의 VPC 네트워크를 연결하는 경로의 다음 홉으로 사용될 수 있습니다.
멀티 NIC 인스턴스의 게스트 OS 내에서 실행되는 소프트웨어는 패킷 검사, 네트워크 주소 변환(NAT) 또는 기타 네트워크 보안 기능을 실행할 수 있습니다.
멀티 NIC 인스턴스를 사용하여 VPC 네트워크를 연결할 때는 각 VPC 네트워크에서 내부 패스 스루 네트워크 부하 분산기의 백엔드로 사용하여 멀티 NIC 인스턴스를 두 개 이상 구성하는 것이 좋습니다. 자세한 내용은 다음 홉으로의 내부 패스 스루 네트워크 부하 분산기 문서의 사용 사례를 참조하세요.
인스턴스의 총 네트워크 대역폭을 늘리려면: 멀티 NIC 인스턴스는 다음과 같이 대역폭 증가를 지원합니다.
Google Cloud의 일부 머신 유형의 경우 인스턴스는 호스트 서버의 여러 물리적 NIC로 지원됩니다. 각 vNIC가 서로 다른 실제 NIC를 사용하는 여러 vNIC가 있는 인스턴스를 만들면 인스턴스의 총 네트워크 대역폭이 증가합니다. 자세한 내용은 물리적 NIC 및 동일한 VPC 네트워크의 여러 네트워크 인터페이스를 참고하세요.
Google Cloud의 대부분의 머신 유형에서 인스턴스는 호스트 서버의 단일 물리적 NIC로 지원되며 각 vNIC는 동일한 물리적 NIC를 사용합니다. vNIC가 물리적 NIC를 공유하는 경우 vNIC를 추가해도 네트워크 대역폭이 증가하지 않습니다.
Private Service Connect 인터페이스를 사용하여 멀티 NIC 인스턴스를 사용하여 서로 다른 프로젝트의 서비스 프로듀서 및 소비자 네트워크를 연결할 수도 있습니다.
네트워크 인터페이스 유형
Google Cloud의 네트워크 인터페이스 유형에 관한 자세한 내용은 다음 섹션을 참고하세요.
인스턴스 네트워크 인터페이스
Compute Engine 인스턴스는 구성한 네트워크 인터페이스를 사용하여 VPC 네트워크에 연결됩니다. 네트워크 인터페이스는 vNIC 또는 동적 NIC일 수 있습니다. 이러한 인스턴스 네트워크 인터페이스는 Compute Engine API의 instances.networkInterfaces[] 리소스 및 속성에 해당합니다.
각 인스턴스 네트워크 인터페이스 유형에 대한 자세한 내용은 다음을 참고하세요.
가상 네트워크 인터페이스 (vNIC): 인스턴스가 VPC 네트워크에 연결할 수 있도록 인스턴스의 게스트 OS에 노출되는 소프트웨어 정의 네트워크 인터페이스입니다. 각 인스턴스에는 vNIC가 하나 이상 있어야 합니다.
인스턴스를 만들 때만 vNIC를 구성할 수 있습니다.
Google Cloud 에서 할당한 vNIC의 이름은
nicN형식입니다(예:nic0). 해당 게스트 OS 할당 이름은 운영체제에 따라 다릅니다(예: Ubuntu의 경우ens4).vNIC는 연결된 VPC 네트워크에 따라 다음 유형 중 하나일 수 있습니다. 각 유형은 게스트 OS의 특정 네트워크 드라이버에 해당합니다.
일반 VPC 네트워크는
GVNIC,IDPF,VIRTIO_NETvNIC 유형의 연결을 허용합니다.RDMA 네트워크 프로필이 있는 VPC 네트워크는 RDMA vNIC라고도 하는 vNIC 유형
IRDMA또는MRDMA의 연결을 허용합니다.
어떤 머신 유형이 어떤 vNIC 유형을 지원하는지에 대한 자세한 내용은 머신 시리즈 비교를 참고하세요.
Dynamic NIC: 인스턴스의 게스트 OS에서 하위 인터페이스로 구현된 상위 vNIC의 하위 요소입니다.
인스턴스를 만들 때 Dynamic NIC를 구성하거나 나중에 추가할 수 있습니다.
Google Cloud 에서 할당한 Dynamic NIC의 이름은
nicN.VLAN_ID형식입니다(예:nic0.2). 해당 게스트 OS 할당 이름은 운영체제에 따라 다릅니다. 예를 들어 게스트 에이전트를 사용하여 Ubuntu에서 동적 NIC를 관리하는 경우 이름이a-gcp.ens4.2일 수 있습니다.RDMA 네트워크 프로필이 있는 VPC 네트워크에서는 Dynamic NIC가 지원되지 않습니다.
자세한 내용은 동적 NIC를 참고하세요.
물리적 NIC
물리적 NIC는 인스턴스가 실행되는 호스트 서버에 직접 설치된 하드웨어 구성요소입니다. 인스턴스의 머신 유형에 따라 인스턴스의 vNIC는 다음과 같이 호스트 서버의 하나 이상의 물리적 NIC에 매핑됩니다.
하나의 물리적 NIC로 지원되는 인스턴스: 대부분의 머신 유형에서 인스턴스는 단일 물리적 NIC가 있는 호스트 서버에서 실행됩니다. 특정 인스턴스의 경우 인스턴스의 모든 vNIC가 단일 물리적 NIC에 매핑됩니다.
여러 물리적 NIC로 지원되는 인스턴스: C4N 머신 유형 및 GPU 머신 유형과 같은 일부 머신 유형의 경우 인스턴스가 여러 물리적 NIC가 있는 호스트 서버에서 실행됩니다. 특정 인스턴스의 경우 Compute Engine은 인스턴스의 vNIC를 여러 물리적 NIC에 매핑합니다.
여러 물리적 NIC로 지원되는 인스턴스는 RoCE VPC 네트워크를 통한 네트워크 대역폭 증가 및 GPU-GPU 통신과 같은 사용 사례를 지원합니다. 자세한 내용은 C4N 인스턴스의 네트워크 지원 및 네트워킹 및 GPU 머신을 참고하세요.
인스턴스를 만들 때 Compute Engine은 각 vNIC를 인스턴스의 머신 유형의 총 실제 NIC 수까지 고유한 실제 NIC에 매핑합니다.
여러 물리적 NIC 지원에 대해 알아보려면 특정 머신 시리즈의 문서를 참고하세요. 해당하는 경우 머신 유형 표에는 물리적 NIC 수라는 열이 포함됩니다. 예를 들어 C4N 머신 유형을 참고하세요.
또한 대부분의 머신 유형에서 인스턴스는 다른 인스턴스와 호스트 서버를 공유합니다. 호스트 서버를 공유하는 인스턴스는 실제 NIC 또는 실제 NIC 집합도 공유합니다. 하지만 베어메탈 머신 유형이나 H3, H4D 머신 유형과 같은 일부 머신 유형의 경우 단일 인스턴스가 전체 호스트 서버를 차지합니다.
사양
다음 사양은 네트워크 인터페이스가 여러 개인 인스턴스에 적용됩니다.
인스턴스 및 네트워크 인터페이스: 모든 인스턴스에는
nic0인터페이스가 있습니다. 네트워크 인터페이스의 최대 개수는 인스턴스의 머신 유형에 따라 다릅니다.- 각 인터페이스에는 연결된 스택 유형이 있으며, 이 스택 유형에 따라 지원되는 서브넷 스택 유형과 IP 주소 버전이 결정됩니다. 자세한 내용은 스택 유형 및 IP 주소를 참조하세요.
네트워크 및 서브네트워크 요구사항: 각 네트워크 인터페이스는 VPC 네트워크의 고유 서브넷을 사용해야 합니다.
서로 다른 VPC 네트워크의 서브넷에 네트워크 인터페이스를 연결하는 것은 지원됩니다.
동일한 VPC 네트워크의 서로 다른 서브넷에 네트워크 인터페이스를 연결하는 작업은 다음 시나리오에서 지원됩니다.
- 일반 VPC 네트워크의 경우 여러 네트워크 인터페이스가
nic0인터페이스와 동일한 VPC 네트워크를 사용할 수 있습니다. 자세한 내용은 동일한 VPC 네트워크의 여러 네트워크 인터페이스(미리보기)를 참고하세요.
- 일반 VPC 네트워크의 경우 여러 네트워크 인터페이스가
RDMA 네트워크 프로필로 생성된 VPC 네트워크의 경우 다중 RDMA NIC가 동일한 VPC 네트워크를 사용할 수 있습니다. 자세한 내용은 지원되는 기능 및 지원되지 않는 기능의 각 네트워크 프로필 표를 참고하세요.
네트워크 인터페이스가 네트워크와 서브넷을 사용하는 인스턴스를 만들려면 먼저 VPC 네트워크와 서브넷이 있어야 합니다. 네트워크 및 서브넷 만들기에 대한 자세한 내용은 VPC 네트워크 만들기 및 관리를 참조하세요.
인스턴스 및 서브넷의 프로젝트: 독립형 프로젝트의 멀티 NIC 인스턴스의 경우 각 네트워크 인터페이스는 인스턴스와 동일한 프로젝트에 있는 서브넷을 사용해야 합니다.
공유 VPC 호스트 또는 서비스 프로젝트의 인스턴스는 공유 VPC를 참조하세요.
Private Service Connect 인터페이스는 멀티 NIC 인스턴스가 서로 다른 프로젝트의 서브넷에 네트워크 인터페이스를 가질 수 있는 방법을 제공합니다. 자세한 내용은 네트워크 연결 정보를 참조하세요.
IP 전달, MTU, 라우팅 고려사항: 멀티 NIC 인스턴스에는 다음 인스턴스 및 인터페이스별 구성 옵션에 대한 신중한 계획이 필요합니다.
IP 전달 옵션은 인스턴스별로 구성할 수 있으며 모든 네트워크 인터페이스에 적용됩니다. 자세한 내용은 인스턴스에 IP 전달 사용 설정을 참고하세요.
각 네트워크 인터페이스는 연결된 VPC 네트워크의 MTU와 일치하는 고유한 최대 전송 단위(MTU)를 사용할 수 있습니다. 자세한 내용은 최대 전송 단위를 참조하세요.
각 인스턴스는 RFC 3442에 정의된 대로 DHCP 옵션 121을 사용하여 기본 경로를 수신합니다. 기본 경로는
nic0과 연결됩니다. 수동으로 달리 구성하지 않는 한 직접 연결된 서브넷을 제외한 모든 대상의 인스턴스에서 나가는 모든 트래픽은nic0의 기본 경로를 통해 나갑니다.Linux 시스템에서는
/etc/iproute2/rt_tables파일과ip rule,ip route명령어를 사용하여 게스트 OS 내에서 커스텀 규칙과 경로를 구성할 수 있습니다. 자세한 내용은 게스트 OS 문서를 참고하세요. 예시를 보려면 추가 인터페이스의 라우팅 구성 튜토리얼을 참조하세요.
동일한 VPC 네트워크의 다중 네트워크 인터페이스
인스턴스의 nic0 vNIC와 동일한 VPC 네트워크에 인스턴스의 추가 vNIC를 연결할 수 있습니다.
VPC 네트워크의 인스턴스 대역폭을 늘리기 위해 동일한 VPC 네트워크에 여러 vNIC를 연결할 수 있습니다.
Google Cloud의 일부 머신 유형의 경우 인스턴스는 물리적 NIC에 설명된 대로 호스트 서버의 여러 물리적 NIC로 지원됩니다.
각 vNIC가 서로 다른 실제 NIC를 사용하는 여러 vNIC가 있는 인스턴스를 만들면 vNIC가 연결된 VPC 네트워크의 인스턴스 네트워크 대역폭이 증가합니다.
Google Cloud의 대부분의 머신 유형에서 인스턴스는 하나의 물리적 NIC로 지원됩니다. 이러한 머신 유형의 경우 각 vNIC를 별도의 VPC 네트워크에 연결하는 것이 좋습니다.
동일한 VPC 네트워크의 여러 네트워크 인터페이스 제한사항
인스턴스의 여러 네트워크 인터페이스를 동일한 VPC 네트워크에 연결하는 데는 다음과 같은 제한사항이 있습니다.
- 추가 네트워크 인터페이스는
nic0인터페이스와 동일한 네트워크에 연결되어야 합니다. nic0가 아닌 인터페이스의 네트워크 대역폭을 추가로 확보하려면 물리적 NIC가 여러 개 지원되는 머신 유형을 사용해야 합니다.- 다음은 지원되지 않습니다.
- Dynamic NIC
- Private Service Connect 인터페이스
- Cloud Load Balancing의 경우 동일한 VPC 네트워크에 연결된 vNIC가 여러 개인 인스턴스를 인스턴스 그룹 또는 영역 네트워크 엔드포인트 그룹 (NEG) 백엔드에 추가할 수 있습니다. 하지만 동일한 VPC 네트워크에 연결된 vNIC 집합에서는 트래픽을
nic0에만 분산할 수 있습니다. - 정적 경로의 경우 이름과 영역으로 지정된 다음 홉 인스턴스 (
next-hop-instance)를 사용하여nic0가 아닌 인터페이스로 패킷을 전송할 수 없습니다. 대신 주소로 지정된 다음 홉 인스턴스 (next-hop-address)를 사용하세요. 자세한 내용은 다음 홉 및 기능을 참고하세요. - 링크 집계를 사용한 네트워크 인터페이스 결합
Dynamic NIC
사용 사례에 다음 중 하나가 필요한 경우 동적 NIC를 사용하세요. Dynamic NIC의 속성과 제한사항도 검토해야 합니다.
기존 인스턴스에 네트워크 인터페이스를 추가하거나 기존 인스턴스에서 네트워크 인터페이스를 삭제해야 합니다. Dynamic NIC를 추가하거나 삭제할 때 인스턴스를 다시 시작하거나 다시 만들 필요가 없습니다.
네트워크 인터페이스가 더 필요합니다. Google Cloud 의 대부분의 머신 유형에서 최대 vNIC 수는 10개이지만 Dynamic NIC를 사용하여 최대 16개의 인터페이스를 구성할 수 있습니다. 자세한 내용은 인터페이스 최대 개수를 참조하세요.
vNIC가 하나만 있는 멀티 NIC Compute Engine 베어메탈 인스턴스를 구성해야 합니다.
Dynamic NIC의 속성
Dynamic NIC의 속성에 관한 다음 정보를 참조하세요.
Dynamic NIC는 IEEE 802.1Q 표준 패킷 형식을 사용하는 VLAN 인터페이스입니다. 다음 고려사항을 참조하세요.
- Dynamic NIC의 VLAN ID는 2~255 사이의 정수여야 합니다.
- Dynamic NIC의 VLAN ID는 상위 vNIC 내에서 고유해야 합니다. 하지만 다른 상위 vNIC에 속한 Dynamic NIC가 동일한 VLAN ID를 사용할 수 있습니다.
Google Cloud 는 Dynamic NIC의 이름에
nicNUMBER.VLAN_ID형식을 사용합니다.nicNUMBER는 상위 vNIC의 이름입니다(예:nic0).VLAN_ID는 설정한 VLAN ID입니다(예:4).
Dynamic NIC 이름의 예는
nic0.4입니다.Dynamic NIC로 인스턴스를 만들거나 기존 인스턴스에 Dynamic NIC를 추가하려면 게스트 OS에서 해당 VLAN 인터페이스를 설치하고 관리하는 추가 단계가 필요합니다. 다음 방법 중 하나를 사용할 수 있습니다.
게스트 에이전트를 사용하여 Dynamic NIC의 자동 관리를 구성합니다.
게스트 OS를 수동으로 구성합니다.
자세한 내용은 Dynamic NIC용 게스트 OS 구성을 참조하세요.
Dynamic NIC는 상위 vNIC의 대역폭을 공유합니다. 네트워크 인터페이스가 모든 대역폭을 소비하지 않도록 하려면 게스트 OS에서 애플리케이션별 트래픽 정책을 만들어 Linux 트래픽 제어 (TC)를 사용하는 등 트래픽의 우선순위를 지정하거나 트래픽을 분산해야 합니다.
Dynamic NIC는 상위 vNIC와 동일한