가상 네트워크 인터페이스 정보

가상 네트워크 인터페이스 (VNI) 는 서브넷에 있는 네트워크 인터페이스의 논리적 추상화입니다. 해당 자원에 네트워크 연결을 제공하여 대상 자원에 연결할 수 있습니다. CRN이 있는 최상위 레벨 자원으로서, VNI의 라이프사이클은 연결된 대상 자원과 독립적입니다 ( auto_deletetrue 로 설정되지 않은 경우). 또한 고유한 IAM 권한 세트가 있습니다.

VNI에는 네트워킹 정책을 정의하는 다음과 같은 특성이 있습니다.

  • 기본 IP및 보조 IP
  • 보안 그룹
  • IP 스푸핑
  • 인프라 NAT
  • 프로토콜 상태 필터링

이러한 정책은 VNI가 대상에서 분리되고 다른 대상에 첨부될 때 보존됩니다. 특성을 변경하는 권한은 VNI의 대상이 아닌 VNI에서 설정됩니다.

유동 IP및 플로우 로그 콜렉터는 VNI에 연결할 수 있는 자원입니다. VNI가 한 대상에서 다른 대상으로 연결을 전환할 때 이러한 연결된 자원은 VNI에 연결된 상태로 유지됩니다. 또한 다음을 확인하십시오.

  • VNI에 연결된 부동 IP에 대한 참조는 VNI의 하위 콜렉션으로 검색할 수 있습니다.
  • VNI에 연결된 플로우 로그 콜렉터는 플로우 로그 콜렉터를 나열하고 target.id 로 필터링한 후 VNI의 id 를 지정하여 검색할 수 있습니다.

지원되는 모든 대상 자원이 모든 VNI 정책을 지원하는 것은 아닙니다. 자세한 정보는 알려진 문제를 참조하십시오.

주요 이점 및 기능

가상 네트워크 인터페이스의 주요 특징은 다음과 같습니다.

  • VPC 서브넷에서 여러 개의 보조 사설 IPv4 IP 주소를 지정하는 기능입니다.
  • 네트워크 보안에 대한 추가 제어를 제공하기 위해 보안 그룹 및 고유 IAM 정책을 정의하고 적용하는 옵션입니다.
  • 고가용성 솔루션을 위한 확장성 및 유연성
  • 서버에 연결되지 않은 상태로 존재하며 한 인스턴스 또는 자원에서 다른 인스턴스 또는 자원으로 이동하는 옵션으로 장애 복구 시간이 줄어듭니다.
  • 유동 IP, 기본/보조 예약 IP및 보안 그룹을 첨부하는 기능입니다.

계획 고려사항

VNI를 생성하기 전에 다음 사항을 검토하십시오:

  • 하위 네트워크 인터페이스를 사용한 자원 작성은 계속 지원되지만 보조 IP 주소와 같은 새 네트워킹 기능은 가상 네트워크 인터페이스에서만 지원됩니다.

  • 가상 네트워크 인터페이스의 모든 IP 주소는 동일한 서브넷에 있어야 합니다.

  • 인스턴스 또는 베어메탈 서버는 인터페이스 유형의 혼합을 허용하지 않지만 서브넷은 인스턴스와 베어메탈 서버의 혼합을 허용합니다 (일부는 하위 네트워크 인터페이스가 있고 일부는 가상 네트워크 인터페이스가 있음).

  • 가상 네트워크 인터페이스를 작성할 때 기본 IP 주소를 구성해야 합니다. 가상 네트워크 인터페이스를 작성할 때 추가 (2차) 예약 IP 주소를 구성하거나 나중에 2차 IP 주소를 개별적으로 추가할 수 있습니다. 모든 보조 IP 주소는 기본 IP 주소와 동일한 서브넷에 있어야 합니다.

  • 인프라 NAT는 부동 IP를 통해 지정된 공용 IP 주소의 대상 주소를 가상 서버 인스턴스의 사설 IP 주소로 변환합니다. 인프라 NAT를 사용하는 가상 네트워크 인터페이스에서 하나의 부동 IP 주소를 구성할 수 있습니다. 이러한 방식으로 구성된 가상 네트워크 인터페이스는 인스턴스 또는 베어메탈 서버에서 사용할 수 있습니다.

  • IP 스푸핑을 허용하고 인프라 NAT를 사용하지 않는 가상 네트워크 인터페이스의 경우 다중 부동 IP 주소를 구성할 수 있습니다. 이러한 방식으로 구성된 가상 네트워크 인터페이스는 베어메탈 서버에서만 사용할 수 있습니다.

  • 가상 네트워크 인터페이스의 auto-delete 특성이 false 로 설정된 경우, 가상 서버 인스턴스를 삭제하면 가상 네트워크 인터페이스가 유지됩니다. 그런 다음 가상 네트워크 인터페이스를 다른 대상 자원에 연결할 수 있습니다.

  • VNI가 대상에서 분리되면 다음 중 하나에 다시 연결할 수 있습니다.

    • 새 공유 마운트 대상 (ip-spoofing이 사용 안함으로 설정되고 보조 IP가 없으며 인프라 NAT가 true 로 설정되고 프로토콜 상태 필터링이 사용 안함으로 설정되지 않은 경우)
    • 인스턴스의 새 네트워크 연결 (인프라 NAT가 true 로 설정된 경우)
    • 베어메탈 서버의 새 네트워크 연결 (베어메탈이 지원되는 경우)

프로토콜 상태 필터링 모드

프로토콜 상태 필터링은 가상 네트워크 인터페이스 (VNI) 를 통해 플로우되는 각 네트워크 연결을 모니터하고 현재 연결 상태 및 프로토콜을 기반으로 올바르지 않은 패킷을 삭제합니다. 양방향 ECMP 라우트 (예: 이중 가상 네트워크 기능 (VNF) 에서 활성/활성 HA 구성에 대해 구성된 라우트) 를 사용하는 경우 패킷 유실을 방지하기 위해 필터링을 사용 안함으로 설정할 수 있습니다. 필터링을 사용하지 않도록 설정하면 보안 그룹 규칙 및 네트워크 ACL에서 허용하는 패키지는 허용되지만 각 TCP 연결이 RFC 793 TCP 프로토콜에 따르도록 강제하지는 않습니다.

VNI를 작성 또는 업데이트 할 때 프로토콜 상태 필터링 모드 (auto, enable, disable) 를 선택할 수 있습니다. 기본값 (auto) 은 VNI의 대상 자원 유형을 기반으로 필터링을 사용 또는 사용 안함으로 설정합니다. 대상 유형이 베어메탈 서버인 경우 필터링이 사용 안함으로 설정됩니다. 가상 서버 인스턴스 또는 파일 공유 마운트의 경우 필터링이 사용으로 설정됩니다.

프로토콜 상태 필터링 모드는 VNI에서만 사용 가능합니다. 이전 스타일의 네트워크 인터페이스에서는 모드가 표시되지 않으며 동작이 항상 auto 로 설정됩니다.

가상 네트워크 인터페이스 시작하기

VNI를 사용하여 대상 자원과 독립적인 수명 주기가 있는 별도의 자원에서 IP 주소 및 보안 그룹을 관리할 수 있습니다.

  1. VPC및 서브넷이 연결되어 있는지 확인하십시오. 자세한 정보는 IBM Cloud 콘솔을 사용하여 또는 CLI및 API를 사용하여 작성 VPC 리소스 작성을 참조하십시오.

  2. 계획 고려 사항과 알려진 문제를 검토합니다.

  3. VNI를 작성하기 위한 올바른 IAM 권한 이 있는지 확인하십시오.

  4. 사설 IP 주소, 공용 IP 주소 및 보안 그룹을 사용하여 가상 네트워크 인터페이스를 작성 하십시오.

  5. 대상을 프로비저닝할 때 지원되는 대상 자원에 VNI를 연결하십시오. 현재 지원되는 대상 유형은 세 가지입니다.

    • 가상 서버 인스턴스
      • 인스턴스를 프로비저닝할 때 VNI를 기본 네트워크 연결 하위 자원에 연결하십시오. 가상 서버 인스턴스 작성 을 참조하십시오.
      • 기본 네트워크 연결이 있는 기존 가상 서버 인스턴스가 있는 경우 새 네트워크 연결에 VNI를 연결하여 가상 서버 인스턴스에서 추가 네트워크 연결을 프로비저닝할 수 있습니다. 네트워크 연결 작성 을 참조하십시오.
    • 베어메탈 서버
      • 베어메탈 서버를 프로비저닝할 때 VNI를 기본 네트워크 연결 하위 자원에 연결하십시오. VPC에서 Bare Metal Servers 작성 을 참조하십시오.
      • 기본 네트워크 연결이 있는 기존 베어메탈 서버가 있는 경우 새 네트워크 연결에 VNI를 연결하여 베어메탈 서버에서 추가 네트워크 연결을 프로비저닝할 수 있습니다. 네트워크 연결 작성 을 참조하십시오.
    • 파일 공유 마운트

또한 이러한 각 대상을 프로비저닝하는 컨텍스트에서 VNI를 작성할 수도 있습니다. 즉, VNI를 미리 작성할 필요가 없습니다. 나중에 --auto-deletefalse (자동 릴리스 스위치) 인지 확인하여 인스턴스를 삭제하고 VNI를 유지할 수 있습니다. 그런 다음 동일한 VNI를 사용하여 새 인스턴스를 작성할 수 있습니다.

유스 케이스 1: 가상 네트워크 인터페이스를 사용한 고가용성

가상 네트워크 인터페이스는 장애 조치 인스턴스로 전환하는 데 필요한 시간을 줄입니다. 가상 네트워크 인터페이스를 사용하지 않는 가상 서버 인스턴스에서 장애 복구에는 전파하는 데 몇 분이 걸릴 수 있는 라우팅 변경사항이 필요합니다. 다음 예제에서는 네트워크 인터페이스로 구성된 기본 가상 서버 인스턴스와 자체 네트워크 인터페이스가 있는 백업 가상 서버 인스턴스가 있습니다. 1차 가상 서버 인스턴스가 실패하면 백업 가상 서버 인스턴스를 온라인으로 설정하고 백업 인스턴스의 네트워크 인터페이스를 사용하도록 라우트를 다시 구성해야 합니다.

전통적인 네트워크 인터페이스 사용
네트워크 인터페이스

가상 네트워크 인터페이스를 사용하여 한 인스턴스에서 다른 인스턴스로 이동할 수 있습니다. 가상 네트워크 인터페이스의 독립적인 라이프사이클은 IP 주소를 유지하고 사용자가 라우트를 다시 구성할 필요가 없음을 의미하며 장애 복구 시간을 몇 초로 줄입니다.

가상 네트워크 인터페이스
네트워크 인터페이스

유스 케이스 2: 가상 네트워크 인터페이스가 있는 보조 IP 주소

애플리케이션의 여러 인스턴스를 실행하는 가상 서버 인스턴스는 애플리케이션의 각 인스턴스가 고유한 IP 주소를 갖도록 세그먼트화될 수 있습니다.

이 예제에서는 하나의 가상 서버 인스턴스가 SQL 데이터베이스 애플리케이션의 세 인스턴스를 실행하고 있습니다. 각 SQL 인스턴스에는 고유한 IP 주소가 있어야 합니다. 가상 네트워크 인터페이스에서 보조 IP 주소를 사용하여 각 애플리케이션 인스턴스에 다른 IP 주소를 지정할 수 있습니다.

![가상 네트워크 인터페이스의 보조 IP 주소보조 IP "){: caption="사용하는 ](images/vni-use-case3.svg "네트워크 인터페이스가상 네트워크 인터페이스의 보조 IP " caption-side="bottom"}

이전 API 클라이언트에 대한 지원

이전 클라이언트와의 호환성을 위해 API 응답은 각 네트워크 연결 및 연관된 가상 네트워크 인터페이스의 읽기 전용 표시를 하위 네트워크 인터페이스로 제공합니다.

인스턴스 네트워크 인터페이스 속성 매핑
네트워크 인터페이스 특성 맵핑 시작
allow_ip_spoofing virtual_network_interface.allow_ip_spoofing
created_at network_attachment.created_at
floating_ips virtual_network_interface.floating_ips
href network_attachment.href (/network_attachments/network_interfaces 로 대체됨)
id network_attachment.id
name network_attachment.name
port_speed network_attachment.port_speed
primary_ip virtual_network_interface.primary_ip
resource_type "네트워크 인터페이스"
security_groups virtual_network_interface.security_groups
status "인스턴스 네트워크 인터페이스 상태 값" 테이블을 참조하십시오.
subnet virtual_network_interface.subnet
type network_attachment.type

status 값은 다음 표에 따라 판별됩니다.

인스턴스 네트워크 인터페이스 상태 값
네트워크 연결 lifecycle_state VNI lifecycle_state status
deleting 모두 deleting
모두 deleting deleting
failed 다음을 제외한 모든 항목 deleting failed
다음을 제외한 모든 항목 deleting failed failed
pending, suspended, updating, waiting 모든 예외 deleting 또는 failed pending
모든 예외 deleting 또는 failed pending, suspended, updating, waiting pending
stable stable available
베어 메탈 서버 네트워크 인터페이스 속성 매핑
네트워크 인터페이스 특성 맵핑 시작
enable_infrastructure_nat virtual_network_interface.enable_infrastructure_nat
mac_address virtual_network_interface.mac_address
interface_type network_attachment.interface_type
allowed_vlans network_attachment.allowed_vlans
vlan network_attachment.vlan
allow_interface_to_float network_attachment.allow_interface_to_float