VM의 네트워킹 개요


이 문서에서는 가상 머신(VM) 인스턴스의 네트워킹 기능에 대한 개요를 제공합니다. VM이 Google Cloud Virtual Private Cloud(VPC) 네트워크와 상호작용하는 방식에 대한 기본적인 정보가 포함되어 있습니다. VPC 네트워크 및 관련 기능에 대한 상세 설명은 VPC 네트워크 개요를 참조하세요.

네트워크 및 서브넷

모든 VM은 VPC 네트워크의 일부입니다. VPC 네트워크는 다른 Google Cloud 제품 및 인터넷에 대한 VM 인스턴스의 연결 기능을 제공합니다. VPC 네트워크는 자동 모드 또는 커스텀 모드일 수 있습니다.

  • 자동 모드 네트워크에는 각 리전에 하나의 서브네트워크(서브넷)가 있습니다. 모든 서브넷은 10.128.0.0/9 IP 주소 범위 내에 포함됩니다. 자동 모드 네트워크는 IPv4 서브넷 범위만 지원합니다.
  • 커스텀 모드 네트워크에는 지정된 서브넷 구성이 없습니다. 지정한 IPv4 범위를 사용해서 선택한 리전에 만들려는 서브넷을 결정합니다. 커스텀 모드 네트워크는 또한 IPv6 서브넷 범위를 지원합니다.

명시적으로 사용 중지하지 않는 한, 각 프로젝트에는 default 네트워크가 있으며 이는 자동 모드 네트워크입니다.

VPC 네트워크의 각 서브넷은 하나의 리전과 연결되며 하나 이상의 IP 주소 범위를 포함합니다. 리전당 2개 이상의 서브넷을 만들 수 있습니다. VM의 각 네트워크 인터페이스는 서브넷에 연결되어야 합니다.

VM을 만들 때는 VPC 네트워크 및 서브넷을 지정할 수 있습니다. 이 구성을 생략하면 default 네트워크 및 서브넷이 사용됩니다. Google Cloud는 선택한 서브넷의 기본 IPv4 주소 범위에서 새 VM에 내부 IPv4 주소를 할당합니다. 또한 서브넷에 IPv6 주소 범위가 포함되었으면 IPv6 주소를 할당하도록 선택할 수 있습니다.

VPC 네트워크에 대한 상세 설명은 VPC 네트워크 개요를 참조하세요. 두 리전에 3개의 서브넷이 있는 VPC 네트워크를 사용하는 VM 도식 예시는 VPC 네트워크 예시를 참조하세요.

네트워크 인터페이스 컨트롤러(NIC)

VPC 네트워크의 모든 VM에는 기본 네트워크 인터페이스가 있습니다. VM에 연결하는 네트워크 인터페이스를 추가로 만들 수 있지만 각 인터페이스는 다른 VPC 네트워크에 연결되어야 합니다. 다중 네트워크 인터페이스를 활용하면 인스턴스에서 다수의 VPC 네트워크에 직접 연결되는 구성을 만들 수 있습니다. 여러 NIC 사용에 대한 상세 설명은 다중 네트워크 인터페이스 개요를 참조하세요.

IP 주소

각 VM 인터페이스에는 서브넷에서 할당되는 내부 IPv4 주소가 있습니다. 선택적으로 외부 IPv4 주소를 구성할 수 있습니다. 인터페이스가 IPv6 범위를 포함하는 서브넷에 연결되었으면 선택적으로 IPv6 주소를 구성할 수 있습니다. VM은 이러한 IP 주소를 사용하여 다른 Google Cloud 리소스 및 외부 시스템과 통신합니다. 외부 IP 주소는 인터넷과 통신할 수 있는 공개적으로 라우팅 가능한 IP 주소입니다. 외부 및 내부 IP 주소는 모두 임시 또는 고정 주소일 수 있습니다.

내부 IP 주소는 다음 중 하나의 로컬 주소입니다.

  • VPC 네트워크
  • VPC 네트워크 피어링을 사용하여 연결된 VPC 네트워크
  • Cloud VPN, Cloud Interconnect, 라우터 어플라이언스를 사용하여 VPC 네트워크에 연결된 온프레미스 네트워크

인스턴스는 VM의 내부 IPv4 주소를 사용해서 동일한 VPC 네트워크 또는 이전 목록에 지정된 대로 연결된 네트워크에 있는 인스턴스와 통신할 수 있습니다. VM에 IPv6가 구성되었으면 VM의 내부 또는 외부 IPv6 주소 중 하나를 사용할 수도 있습니다. 가능한 한 내부 통신에는 내부 IPv6 주소를 사용하는 것이 좋습니다. IP 주소에 대한 자세한 내용은 Compute Engine의 IP 주소 개요를 참조하세요.

인터넷 통신을 위해서는 인스턴스에 구성된 외부 IPv4 또는 외부 IPv6 주소를 사용할 수 있습니다. 인스턴스에 외부 주소가 없으면 IPv4 트래픽에 Cloud NAT를 사용할 수 있습니다.

단일 VM 인스턴스에서 여러 서비스를 실행하는 경우 별칭 IP 범위를 사용하여 각 서비스에 서로 다른 내부 IPv4 주소를 지정할 수 있습니다. VPC 네트워크는 특정 서비스가 대상인 패킷을 해당 VM에 전달합니다. 자세한 내용은 별칭 IP 범위를 참조하세요.

내부 DNS(도메인 이름 시스템) 이름

가상 머신(VM) 인스턴스를 만들 때 Google Cloud는 VM 이름으로부터 내부 DNS 이름을 만듭니다. 커스텀 호스트 이름을 지정하지 않으면 Google Cloud는 자동으로 생성된 내부 DNS 이름을 VM에 제공하는 호스트 이름으로 사용합니다.

동일한 VPC 네트워크에서 VM 간 통신의 경우 내부 IP 주소를 사용하는 대신 대상 인스턴스의 정규화된 DNS 이름(FQDN)을 지정할 수 있습니다. Google Cloud는 인스턴스의 내부 IP 주소에 해당하는 정규화된 도메인 이름(FQDN)을 자동으로 확인합니다.

정규화된 도메인 이름(FQDN)에 대한 자세한 내용은 영역 및 전역 내부 DNS 이름을 참조하세요.

경로

Google Cloud 경로는 네트워크 트래픽이 가상 머신(VM) 인스턴스에서 다른 대상 위치로 이동하는 경로를 정의합니다. 이 대상은 VPC 네트워크의 내부에 있거나(예: 다른 VM 내) 외부에 있을 수 있습니다. VPC 네트워크의 라우팅 테이블은 VPC 네트워크 수준에서 정의됩니다. 각 VM 인스턴스에는 네트워크의 라우팅 테이블의 모든 적용 가능한 경로에 대한 정보를 유지하는 컨트롤러가 있습니다. VM에서 나가는 각 패킷은 라우팅 순서에 따라 적용 가능한 경로의 적절한 다음 홉으로 전달됩니다.

서브넷 경로는 VPC 네트워크의 VM 및 내부 부하 분산기와 같은 리소스의 경로를 정의합니다. 각 서브넷에는 대상 위치가 서브넷의 기본 IP 범위와 일치하는 서브넷 경로가 하나 이상 있습니다. 서브넷 경로의 대상 위치는 항상 가장 구체적입니다. 다른 경로의 우선순위가 더 높더라도 이 경로보다 우선 적용될 수 없습니다. Google Cloud에서 경로를 선택할 때 우선순위보다 대상 위치의 구체성을 먼저 고려하기 때문입니다. 서브넷 IP 범위에 대한 상세 설명은 서브넷 개요를 참조하세요.

전달 규칙

경로가 인스턴스를 떠나는 트래픽을 제어하는 동안 전달 규칙은 트래픽을 IP 주소, 프로토콜, 포트를 기반으로 VPC 네트워크의 Google Cloud 리소스로 보냅니다. 일부 전달 규칙은 Google Cloud 외부에서 네트워크에 있는 대상으로 트래픽을 전달합니다. 그 외의 규칙은 네트워크 내부에서 트래픽을 전달합니다.

IP, Cloud VPN, 비공개 가상 IP(VIP), 부하 분산을 통해 가상 호스팅을 구현하도록 인스턴스의 전달 규칙을 구성할 수 있습니다. 전달 규칙에 대한 상세 설명은 프로토콜 전달 사용을 참조하세요.

방화벽 규칙

VPC 방화벽 규칙을 사용하면 지정한 구성을 기준으로 VM으로 들어가고 나가는 연결을 허용하거나 거부할 수 있습니다. Google Cloud는 항상 사용 설정된 VPC 방화벽 규칙을 적용하여 VM이 시작되지 않았더라도 해당 구성 및 운영체제와 관계없이 VM을 보호합니다.

기본적으로 모든 VPC 네트워크에는 들어오는 모든 연결을 차단하고 나가는 모든 연결을 허용하는 수신(인그레스)과 송신(이그레스) 방화벽 규칙이 있습니다. default 네트워크에는 네트워크의 인스턴스 간 통신을 허용하는 default-allow-internal 규칙을 비롯한 추가 방화벽 규칙이 있습니다. default 네트워크를 사용하지 않는 경우에는 인스턴스가 서로 통신할 수 있도록 명시적으로 우선순위가 더 높은 인그레스 방화벽 규칙을 만들어야 합니다.

모든 VPC 네트워크는 분산형 방화벽으로 작동합니다. 방화벽 규칙은 VPC 수준에서 정의되며, 네트워크의 모든 인스턴스에 적용될 수 있습니다. 또는 대상 태그 또는 대상 서비스 계정을 사용하여 특정 인스턴스에 규칙을 적용할 수 있습니다. VPC 방화벽 규칙은 인스턴스와 다른 네트워크 사이뿐만 아니라 동일한 네트워크 내의 개별 인스턴스 간에 존재하는 것으로 생각할 수 있습니다.

계층식 방화벽 정책을 사용하면 조직 전체에 일관된 방화벽 정책을 만들고 적용할 수 있습니다. 계층식 방화벽 정책을 조직 전체 또는 개별 폴더에 할당할 수 있습니다. 이러한 정책에는 VPC 방화벽 규칙과 동일하게 연결을 명시적으로 거부 또는 허용할 수 있는 규칙이 포함됩니다. 또한 계층식 방화벽 정책 규칙은 goto_next 작업을 통해 하위 수준 정책 또는 VPC 방화벽 규칙에 평가를 위임할 수 있습니다. 하위 수준의 규칙은 리소스 계층 구조에서 높은 위치에 있는 규칙을 재정의할 수 없습니다. 이렇게 하면 조직 전체 관리자가 중요한 방화벽 규칙을 한 곳에서 관리할 수 있습니다.

네트워크 대역폭

Google Cloud는 네트워크 인터페이스(NIC) 또는 IP 주소당 대역폭이 아니라 가상 머신(VM) 인스턴스당 대역폭을 고려합니다. 대역폭은 트래픽 방향(인그레스 및 이그레스)과 대상 IP 주소의 유형 등 두 가지 측정기준을 사용하여 측정됩니다. VM의 머신 유형은 가능한 최대 이그레스 속도를 정의하지만 이 가능한 최대 이그레스 속도는 특정 상황에서만 달성할 수 있습니다. 자세한 내용은 네트워크 대역폭을 참조하세요.

Google Virtual NIC(gVNIC)는 Compute Engine용으로 특별히 설계된 가상 네트워크 인터페이스입니다. gVNIC는 virtIO 기반 이더넷 드라이버의 대안입니다. gVNIC는 GPU가 연결된 VM의 분산 워크로드에 사용할 수 있는 50~100Gbps 속도와 같은 높은 네트워크 대역폭을 지원하는 데 필요합니다. 또한 최적 성능을 목적으로 하는 일부 머신 유형을 사용할 때는 gVNIC가 필요합니다. 자세한 내용은 Google Virtual NIC 사용을 참조하세요.

관리형 인스턴스 그룹 및 네트워킹 구성

관리형 인스턴스 그룹(MIG)을 사용하는 경우 인스턴스 템플릿에 지정한 네트워크 구성은 이 템플릿으로 만든 모든 VM에 적용됩니다. 자동 모드 VPC 네트워크에서 인스턴스 템플릿을 만들 경우 Google Cloud는 관리형 인스턴스 그룹을 만든 리전의 서브넷을 자동으로 선택합니다.

자세한 내용은 네트워크 및 서브넷인스턴스 템플릿 만들기를 참조하세요.

다음 단계