실습 설정 안내 및 요구사항
계정과 진행 상황을 보호하세요. 이 실습을 실행하려면 항상 시크릿 브라우저 창과 실습 사용자 인증 정보를 사용하세요.

여러 VPC 네트워크 작업

실습 1시간 30분 universal_currency_alt 크레딧 5개 show_chart 입문
info 이 실습에는 학습을 지원하는 AI 도구가 통합되어 있을 수 있습니다.
이 콘텐츠는 아직 휴대기기에 최적화되지 않음
최상의 경험을 위해 데스크톱 컴퓨터에서 이메일로 전송된 링크를 사용하여 방문하세요.

개요

이 실습에서는 다수의 VPC 네트워크 및 VM 인스턴스를 만들어 보고 네트워크 간의 연결성을 테스트합니다. 구체적으로는 다음 네트워크 다이어그램에 나와 있는 것처럼 방화벽 규칙과 VM 인스턴스가 있는 두 개의 커스텀 모드 네트워크(managementnetprivatenet)를 만들어 봅니다.

두 개의 VM 인스턴스와 관리 및 privatenet 네트워크에 연결된 vm-appliance 가상 머신

이 Google Skills 프로젝트에는 mynetwork 네트워크와 해당 방화벽 규칙, 그리고 2개의 VM 인스턴스(mynet-notus-vmmynet-us-vm)가 이미 생성되어 있습니다.

목표

이 실습에서는 다음 작업을 수행하는 방법을 알아봅니다.

  • 방화벽 규칙이 있는 커스텀 모드 VPC 네트워크 만들기
  • Compute Engine을 사용하여 VM 인스턴스 만들기
  • VPC 네트워크 간 VM 인스턴스의 연결 살펴보기
  • 다수의 네트워크 인터페이스가 있는 VM 인스턴스 만들기

설정 및 요건

각 실습에서는 정해진 기간 동안 새 Google Cloud 프로젝트와 리소스 집합이 무료로 제공됩니다.

  1. 실습 시작 버튼을 클릭합니다. 실습 비용을 결제해야 하는 경우 결제 수단을 선택할 수 있는 팝업이 열립니다. 왼쪽에는 다음과 같은 항목이 포함된 실습 세부정보 패널이 있습니다.

    • Google Cloud 콘솔 열기 버튼
    • 남은 시간
    • 이 실습에 사용해야 하는 임시 사용자 인증 정보
    • 필요한 경우 실습 진행을 위한 기타 정보
  2. Google Cloud 콘솔 열기를 클릭합니다(Chrome 브라우저를 실행 중인 경우 마우스 오른쪽 버튼으로 클릭하고 시크릿 창에서 링크 열기를 선택합니다).

    실습에서 리소스가 가동되면 다른 탭이 열리고 로그인 페이지가 표시됩니다.

    팁: 두 개의 탭을 각각 별도의 창으로 나란히 정렬하세요.

    참고: 계정 선택 대화상자가 표시되면 다른 계정 사용을 클릭합니다.
  3. 필요한 경우 아래의 사용자 이름을 복사하여 로그인 대화상자에 붙여넣습니다.

    {{{user_0.username | "Username"}}}

    실습 세부정보 패널에서도 사용자 이름을 확인할 수 있습니다.

  4. 다음을 클릭합니다.

  5. 아래의 비밀번호를 복사하여 시작하기 대화상자에 붙여넣습니다.

    {{{user_0.password | "Password"}}}

    실습 세부정보 패널에서도 비밀번호를 확인할 수 있습니다.

  6. 다음을 클릭합니다.

    중요: 실습에서 제공하는 사용자 인증 정보를 사용해야 합니다. Google Cloud 계정 사용자 인증 정보를 사용하지 마세요. 참고: 이 실습에 자신의 Google Cloud 계정을 사용하면 추가 요금이 발생할 수 있습니다.
  7. 이후에 표시되는 페이지를 클릭하여 넘깁니다.

    • 이용약관에 동의합니다.
    • 임시 계정이므로 복구 옵션이나 2단계 인증을 추가하지 않습니다.
    • 무료 체험판을 신청하지 않습니다.

잠시 후 Google Cloud 콘솔이 이 탭에서 열립니다.

참고: Google Cloud 제품 및 서비스 목록이 있는 메뉴를 보려면 왼쪽 상단의 탐색 메뉴를 클릭하거나 검색창에 제품 또는 서비스 이름을 입력합니다. 탐색 메뉴 아이콘

작업 1. 방화벽 규칙이 있는 커스텀 모드 VPC 네트워크 만들기

SSH, ICMP, RDP 인그레스 트래픽을 허용하도록 방화벽 규칙과 함께 2개의 커스텀 네트워크(managementnetprivatenet)를 만듭니다.

managementnet 네트워크 만들기

Cloud 콘솔을 사용하여 managementnet 네트워크를 만듭니다.

  1. Google Cloud 콘솔의 탐색 메뉴(탐색 메뉴 아이콘)에서 VPC 네트워크 > VPC 네트워크를 클릭합니다.
    기본 네트워크와 mynetwork 네트워크에 서브넷이 있는 것을 확인할 수 있습니다.

    각 Google Cloud 프로젝트는 기본 네트워크로 시작합니다. 또한 mynetwork 네트워크가 네트워크 다이어그램의 일부로 생성되어 있습니다.

  2. VPC 네트워크 만들기를 클릭합니다.

  3. 이름managementnet을 입력합니다.

  4. 서브넷 생성 모드의 경우 커스텀을 클릭합니다.

  5. 새 서브넷에서 다음을 지정하고 나머지 설정은 기본값으로 둡니다.

    속성 값(지정된 대로 값 입력 또는 옵션 선택)
    이름 managementsubnet-us
    리전
    IPv4 범위 10.130.0.0/20
  6. 완료를 클릭합니다.

  7. 상응하는 명령줄을 클릭합니다.

    이러한 명령어는 gcloud 명령줄을 사용하여 네트워크와 서브넷을 만들 수 있음을 보여줍니다. 유사한 매개변수와 함께 이러한 명령어를 사용하여 privatenet 네트워크를 만들겠습니다.

  8. 닫기를 클릭합니다.

  9. 만들기를 클릭합니다.

privatenet 네트워크 만들기

gcloud 명령줄을 사용하여 privatenet 네트워크를 만듭니다.

  1. Cloud 콘솔에서 Cloud Shell 활성화(Cloud Shell 활성화 아이콘)를 클릭합니다.
  2. 메시지가 표시되면 계속을 클릭합니다.
  3. 다음 명령어를 실행하여 privatenet 네트워크를 만듭니다.
gcloud compute networks create privatenet --subnet-mode=custom
  1. 다음 명령어를 실행하여 privatesubnet-us 서브넷을 만듭니다.
gcloud compute networks subnets create privatesubnet-us --network=privatenet --region={{{ project_0.default_region | "filled at lab start" }}} --range=172.16.0.0/24
  1. 다음 명령어를 실행하여 privatesubnet-notus 서브넷을 만듭니다.
gcloud compute networks subnets create privatesubnet-notus --network=privatenet --region={{{ project_0.default_region_2 | "filled at lab start" }}} --range=172.20.0.0/20
  1. 다음 명령어를 실행하여 사용 가능한 VPC 네트워크의 목록을 출력합니다.
gcloud compute networks list

출력은 다음과 같습니다.

NAME: default SUBNET_MODE: AUTO BGP_ROUTING_MODE: REGIONAL IPV4_RANGE: GATEWAY_IPV4: NAME: managementnet SUBNET_MODE: CUSTOM BGP_ROUTING_MODE: REGIONAL IPV4_RANGE: GATEWAY_IPV4: NAME: mynetwork SUBNET_MODE: AUTO BGP_ROUTING_MODE: REGIONAL IPV4_RANGE: GATEWAY_IPV4: NAME: privatenet SUBNET_MODE: CUSTOM BGP_ROUTING_MODE: REGIONAL IPV4_RANGE: GATEWAY_IPV4: 참고: defaultmynetwork는 자동 모드 네트워크이며 각 리전에서 서브넷을 자동으로 만듭니다. managementnetprivatenet은 커스텀 모드 네트워크이며 서브넷 없이 시작되므로 서브넷 생성을 완전히 제어할 수 있습니다.
  1. 다음 명령어를 실행하여 사용 가능한 VPC 서브넷의 목록을 출력합니다(VPC 네트워크 기준으로 정렬).
gcloud compute networks subnets list --sort-by=NETWORK

출력은 다음과 같습니다.

NAME: default REGION: northamerica-south1 NETWORK: default RANGE: 10.224.0.0/20 STACK_TYPE: IPV4_ONLY IPV6_ACCESS_TYPE: INTERNAL_IPV6_PREFIX: EXTERNAL_IPV6_PREFIX: NAME: default REGION: europe-north2 NETWORK: default RANGE: 10.226.0.0/20 STACK_TYPE: IPV4_ONLY IPV6_ACCESS_TYPE: INTERNAL_IPV6_PREFIX: EXTERNAL_IPV6_PREFIX: NAME: managementsubnet-us REGION: us-east1 NETWORK: managementnet RANGE: 10.130.0.0/20 STACK_TYPE: IPV4_ONLY IPV6_ACCESS_TYPE: INTERNAL_IPV6_PREFIX: EXTERNAL_IPV6_PREFIX: NAME: mynetwork REGION: us-central1 NETWORK: mynetwork RANGE: 10.128.0.0/20 STACK_TYPE: IPV4_ONLY IPV6_ACCESS_TYPE: INTERNAL_IPV6_PREFIX: EXTERNAL_IPV6_PREFIX: NAME: mynetwork REGION: europe-west1 NETWORK: mynetwork RANGE: 10.132.0.0/20 STACK_TYPE: IPV4_ONLY IPV6_ACCESS_TYPE: INTERNAL_IPV6_PREFIX: EXTERNAL_IPV6_PREFIX: NAME: mynetwork REGION: us-west1 NETWORK: mynetwork RANGE: 10.138.0.0/20 STACK_TYPE: IPV4_ONLY IPV6_ACCESS_TYPE: INTERNAL_IPV6_PREFIX: EXTERNAL_IPV6_PREFIX: NAME: mynetwork REGION: asia-east1 NETWORK: mynetwork RANGE: 10.140.0.0/20 STACK_TYPE: IPV4_ONLY IPV6_ACCESS_TYPE: INTERNAL_IPV6_PREFIX: EXTERNAL_IPV6_PREFIX: NAME: mynetwork REGION: us-east1 NETWORK: mynetwork RANGE: 10.142.0.0/20 STACK_TYPE: IPV4_ONLY IPV6_ACCESS_TYPE: INTERNAL_IPV6_PREFIX: EXTERNAL_IPV6_PREFIX: NAME: mynetwork REGION: asia-northeast1 NETWORK: mynetwork RANGE: 10.146.0.0/20 STACK_TYPE: IPV4_ONLY IPV6_ACCESS_TYPE: INTERNAL_IPV6_PREFIX: EXTERNAL_IPV6_PREFIX: NAME: mynetwork REGION: asia-southeast1 NETWORK: mynetwork RANGE: 10.148.0.0/20 STACK_TYPE: IPV4_ONLY IPV6_ACCESS_TYPE: INTERNAL_IPV6_PREFIX: EXTERNAL_IPV6_PREFIX: NAME: mynetwork REGION: us-east4 NETWORK: mynetwork RANGE: 10.150.0.0/20 STACK_TYPE: IPV4_ONLY IPV6_ACCESS_TYPE: INTERNAL_IPV6_PREFIX: EXTERNAL_IPV6_PREFIX: NAME: mynetwork REGION: australia-southeast1 NETWORK: mynetwork RANGE: 10.152.0.0/20 STACK_TYPE: IPV4_ONLY IPV6_ACCESS_TYPE: INTERNAL_IPV6_PREFIX: EXTERNAL_IPV6_PREFIX: 참고: 예상대로 defaultmynetwork 네트워크는 자동 모드 네트워크이므로 각 리전에 서브넷이 있습니다. managementnetprivatenet 네트워크는 커스텀 모드 네트워크이므로 직접 생성한 서브넷만 있습니다.
  1. Cloud 콘솔의 탐색 메뉴(탐색 메뉴 아이콘)에서 VPC 네트워크 > VPC 네트워크를 클릭합니다.
    Cloud 콘솔에 동일한 네트워크와 서브넷이 나열되는지 확인합니다.

managementnet의 방화벽 규칙 만들기

managementnet 네트워크의 VM 인스턴스에 대한 SSH, ICMP, RDP 인그레스 트래픽을 허용하는 방화벽 규칙을 만듭니다.

  1. Cloud 콘솔의 탐색 메뉴(탐색 메뉴 아이콘)에서 VPC 네트워크 > 방화벽을 클릭합니다.

  2. 방화벽 규칙 만들기를 클릭합니다.

  3. 다음을 지정하고 나머지 설정은 기본값으로 둡니다.

    속성 값(지정된 대로 값 입력 또는 옵션 선택)
    이름 managementnet-allow-icmp-ssh-rdp
    네트워크 managementnet
    대상 네트워크의 모든 인스턴스
    소스 필터 IPv4 범위
    소스 IPv4 범위 0.0.0.0/0
    프로토콜 및 포트 지정된 프로토콜 및 포트
  4. tcp에 포트 223389를 지정합니다.

  5. 기타 프로토콜을 클릭하고 icmp를 입력합니다.

참고: 모든 네트워크를 지정하려면 소스 IPv4 범위/0을 포함해야 합니다.
  1. 상응하는 명령줄을 클릭합니다.

    이러한 명령어는 gcloud 명령줄을 사용하여 방화벽 규칙을 만들 수도 있음을 보여줍니다. 유사한 매개변수와 함께 이러한 명령어를 사용하여 privatenet의 방화벽 규칙을 만들겠습니다.

  2. 닫기를 클릭합니다.

  3. 만들기를 클릭합니다.

privatenet의 방화벽 규칙 만들기

gcloud 명령줄을 사용하여 privatenet 네트워크의 방화벽 규칙을 만듭니다.

  1. Cloud Shell로 돌아갑니다. 필요한 경우 Cloud Shell 활성화(Cloud Shell 활성화 아이콘)를 클릭합니다.
  2. 다음 명령어를 실행하여 privatenet-allow-icmp-ssh-rdp 방화벽 규칙을 만듭니다.
gcloud compute firewall-rules create privatenet-allow-icmp-ssh-rdp --direction=INGRESS --priority=1000 --network=privatenet --action=ALLOW --rules=icmp,tcp:22,tcp:3389 --source-ranges=0.0.0.0/0

출력은 다음과 같습니다.

NAME: privatenet-allow-icmp-ssh-rdp NETWORK: privatenet DIRECTION: INGRESS PRIORITY: 1000 ALLOW: icmp,tcp:22,tcp:3389 DENY: DISABLED: False
  1. 다음 명령어를 실행하여 모든 방화벽 규칙의 목록을 출력합니다(VPC 네트워크 기준으로 정렬).
gcloud compute firewall-rules list --sort-by=NETWORK

출력은 다음과 같습니다.

NAME NETWORK DIRECTION PRIORITY ALLOW DENY default-allow-icmp default INGRESS 65534 icmp default-allow-internal default INGRESS 65534 tcp:0-65535,udp:0-65535,icmp default-allow-rdp default INGRESS 65534 tcp:3389 default-allow-ssh default INGRESS 65534 tcp:22 managementnet-allow-icmp-ssh-rdp managementnet INGRESS 1000 icmp,tcp:22,tcp:3389 mynetwork-allow-icmp mynetwork INGRESS 1000 icmp mynetwork-allow-rdp mynetwork INGRESS 1000 tcp:3389 mynetwork-allow-ssh mynetwork INGRESS 1000 tcp:22 privatenet-allow-icmp-ssh-rdp privatenet INGRESS 1000 icmp,tcp:22,tcp:3389

mynetwork 네트워크의 방화벽 규칙은 이미 생성되어 있습니다. 여러 개의 프로토콜과 포트를 하나의 방화벽 규칙(privatenetmanagementnet)에 정의하거나 여러 규칙(기본mynetwork)에 분산시킬 수 있습니다.

  1. Cloud 콘솔의 탐색 메뉴(탐색 메뉴 아이콘)에서 VPC 네트워크 > 방화벽을 클릭합니다.
    Cloud 콘솔에 동일한 방화벽 규칙이 나열되는지 확인합니다.

내 진행 상황 확인하기를 클릭하여 목표를 확인합니다. 방화벽 규칙이 있는 커스텀 모드 VPC 네트워크 만들기

작업 2. VM 인스턴스 만들기

다음과 같은 2개의 VM 인스턴스를 만듭니다.

  • managementsubnet-usmanagementnet-us-vm
  • privatesubnet-usprivatenet-us-vm

managementnet-us-vm 인스턴스 만들기

Cloud Console을 사용하여 managementnet-us-vm 인스턴스를 만듭니다.

  1. Cloud 콘솔의 탐색 메뉴(탐색 메뉴)에서 Compute Engine > VM 인스턴스를 클릭합니다.

    mynet-us-vmmynet-notus-vm이 네트워크 다이어그램의 일부로 생성되어 있습니다.

  2. 인스턴스 만들기를 클릭합니다.

  3. 다음을 지정하고 나머지 설정은 기본값으로 둡니다.

    속성 값(지정된 대로 값 입력 또는 옵션 선택)
    이름 managementnet-us-vm
    리전
    영역
  4. 왼쪽 프레임에서 머신 구성을 클릭합니다. 다음 값이 선택되어 있는지 확인합니다. | 시리즈 | E2| | 머신 유형 | vCPU 2개(메모리 4GB, e2-medium)|

  5. 왼쪽 프레임에서 네트워킹을 클릭합니다.

  6. 네트워크 인터페이스에서 드롭다운 아이콘을 클릭하여 수정합니다.

  7. 다음을 지정하고 나머지 설정은 기본값으로 둡니다.

    속성 값(지정된 대로 값 입력 또는 옵션 선택)
    네트워크 managementnet
    서브네트워크 managementsubnet-us
참고: 선택 가능한 서브넷은 선택된 리전의 서브넷으로 제한됩니다.
  1. 완료를 클릭합니다.

  2. 상응하는 코드를 클릭합니다.

    이는 gcloud 명령줄을 사용하여 VM 인스턴스를 만들 수도 있음을 보여줍니다. 유사한 파라미터와 함께 이러한 명령어를 사용하여 privatenet-us-vm 인스턴스를 만들겠습니다.

  3. '상응하는 코드' 패널 전환을 클릭합니다.

  4. 만들기를 클릭합니다.

privatenet-us-vm 인스턴스 만들기

gcloud 명령줄을 사용하여 privatenet-us-vm 인스턴스를 만듭니다.

  1. Cloud Shell로 돌아갑니다. 필요한 경우 Cloud Shell 활성화(Cloud Shell 활성화 아이콘)를 클릭합니다.
  2. 다음 명령어를 실행하여 privatenet-us-vm 인스턴스를 만듭니다.
gcloud compute instances create privatenet-us-vm --zone={{{ project_0.default_zone | "filled at lab start" }}} --machine-type=e2-medium --subnet=privatesubnet-us

출력은 다음과 같습니다.

NAME: privatenet-us-vm ZONE: {{{ project_0.default_zone | "filled at lab start" }}} MACHINE_TYPE: e2-medium PREEMPTIBLE: INTERNAL_IP: 172.16.0.2 EXTERNAL_IP: 34.70.73.27 STATUS: RUNNING
  1. 다음 명령어를 실행하여 모든 VM 인스턴스의 목록을 출력합니다(영역 기준으로 정렬됨).
gcloud compute instances list --sort-by=ZONE

출력은 다음과 같습니다.

NAME ZONE MACHINE_TYPE PREEMPTIBLE INTERNAL_IP EXTERNAL_IP STATUS mynet-notus-vm {{{ project_0.default_zone_2 | "filled at lab start" }}} e2-medium 10.132.0.2 35.205.124.164 RUNNING managementnet-us-vm {{{ project_0.default_zone | "filled at lab start" }}} e2-medium 10.130.0.2 35.226.20.87 RUNNING mynet-us-vm {{{ project_0.default_zone | "filled at lab start" }}} e2-medium 10.128.0.2 35.232.252.86 RUNNING privatenet-us-vm {{{ project_0.default_zone | "filled at lab start" }}} e2-medium 172.16.0.2 35.184.221.40 RUNNING
  1. Cloud 콘솔의 탐색 메뉴(탐색 메뉴 아이콘)에서 Compute Engine > VM 인스턴스를 클릭합니다.
    Cloud 콘솔에 해당 VM 인스턴스가 나열되는지 확인합니다.

  2. 에서 네트워크를 선택합니다.

    미국에는 인스턴스가 3개, 미국 외 지역에는 인스턴스가 1개 있습니다. 이러한 인스턴스는 VPC 네트워크 3개(managementnet, mynetwork, privatenet)에 분산되어 있으며 다른 인스턴스와 같은 영역 또는 네트워크에 존재하는 경우는 없습니다. 다음 작업에서는 이러한 점이 내부 연결에 미치는 영향에 대해 살펴보겠습니다.

내 진행 상황 확인하기를 클릭하여 목표를 확인합니다. VM 인스턴스 만들기

작업 3. VM 인스턴스 간의 연결성 살펴보기

VM 인스턴스 간의 연결성을 살펴봅니다. 구체적으로는 여러 VM 인스턴스가 동일한 영역에 존재하는 경우와 동일한 VPC 네트워크에 존재하는 경우 어떤 결과가 발생하는지 비교해 봅니다.

외부 IP 주소 핑하기

VM 인스턴스의 외부 IP 주소를 핑하여 공개 인터넷에서 인스턴스에 도달할 수 있는지 확인합니다.

  1. Cloud 콘솔의 탐색 메뉴에서 Compute Engine > VM 인스턴스를 클릭합니다.
    mynet-notus-vm, managementnet-us-vm, privatenet-us-vm의 외부 IP 주소를 확인합니다.
  2. mynet-us-vm에서 SSH를 클릭하여 터미널 및 연결을 실행합니다.
  3. mynet-notus-vm의 외부 IP에 대한 연결을 테스트하려면 다음 명령어에 mynet-notus-vm의 외부 IP를 삽입한 후 실행합니다.
ping -c 3 <여기에 mynet-notus-vm의 외부 IP 입력>

명령어가 정상적으로 실행됩니다.

  1. managementnet-us-vm의 외부 IP에 대한 연결을 테스트하려면 다음 명령어에 managementnet-us-vm의 외부 IP를 삽입한 후 실행합니다.
ping -c 3 <여기에 managementnet-us-vm의 외부 IP 입력>

명령어가 정상적으로 실행됩니다.

  1. privatenet-us-vm의 외부 IP에 대한 연결을 테스트하려면 다음 명령어에 privatenet-us-vm의 외부 IP를 삽입한 후 실행합니다.
ping -c 3 <여기에 privatenet-us-vm의 외부 IP 입력>

명령어가 정상적으로 실행됩니다.

참고: VM 인스턴스가 서로 다른 영역이나 다른 VPC 네트워크에 위치해 있음에도 모든 VM 인스턴스의 외부 IP 주소를 핑할 수 있습니다. 이 사실을 통해 이러한 인스턴스에 대한 공개 액세스가 앞서 설정한 ICMP 방화벽 규칙에 의해서만 제어된다는 점을 확인할 수 있습니다.

내부 IP 주소 핑하기

VM 인스턴스의 내부 IP 주소를 핑하여 VPC 네트워크 내에서 인스턴스에 도달할 수 있는지 확인합니다.

  1. Cloud 콘솔의 탐색 메뉴에서 Compute Engine > VM 인스턴스를 클릭합니다.
    mynet-notus-vm, managementnet-us-vm, privatenet-us-vm의 내부 IP 주소를 확인합니다.
  2. mynet-us-vmSSH 터미널로 돌아갑니다.
  3. mynet-notus-vm의 내부 IP에 대한 연결을 테스트하려면 다음 명령어에 mynet-notus-vm의 내부 IP를 삽입한 후 실행합니다.
ping -c 3 <여기에 mynet-notus-vm의 내부 IP 입력> 참고: mynet-notus-vm의 내부 IP 주소를 핑할 수 있는 이유는 해당 VM 인스턴스와 핑의 소스인 VM 인스턴스(mynet-us-vm)가 각기 다른 영역, 리전, 대륙에 존재하면서도 같은 VPC 네트워크상에 있기 때문입니다.
  1. managementnet-us-vm의 내부 IP에 대한 연결을 테스트하려면 다음 명령어에 managementnet-us-vm의 내부 IP를 삽입한 후 실행합니다.
ping -c 3 <여기에 managementnet-us-vm의 내부 IP 입력> 참고: 이 명령어는 100% 패킷 손실이라고 표시되면서 정상적으로 실행되지 않아야 합니다.
  1. privatenet-us-vm의 내부 IP에 대한 연결을 테스트하려면 다음 명령어에 privatenet-us-vm의 내부 IP를 삽입한 후 실행합니다.
ping -c 3 <여기에 privatenet-us-vm의 내부 IP 입력> 참고: 이 역시 100% 패킷 손실이라고 표시되면서 정상적으로 실행되지 않아야 합니다. managementnet-us-vmprivatenet-us-vm의 내부 IP 주소를 핑할 수 없는 이유는 해당 VM 인스턴스가 핑의 소스인 VM 인스턴스(mynet-us-vm)와 같은 영역에 존재하기는 하지만 다른 VPC 네트워크상에 있기 때문입니다.

VPC 네트워크는 기본적으로 격리되어 있는 비공개 네트워크 도메인입니다. 하지만 VPC 피어링 또는 VPN과 같은 기능을 설정하지 않는 한, 네트워크 간 내부 IP 주소 통신은 허용되지 않습니다.

작업 4. 다수의 네트워크 인터페이스가 있는 VM 인스턴스 만들기

VPC 네트워크의 모든 인스턴스에는 기본 네트워크 인터페이스가 있습니다. VM에 연결되는 네트워크 인터페이스를 추가로 만들 수도 있습니다. 다중 네트워크 인터페이스를 활용하면 인스턴스에서 다수의 VPC 네트워크(인터페이스 유형에 따라 최대 8개)에 직접 연결되는 구성을 만들 수 있습니다.

다수의 네트워크 인터페이스가 있는 VM 인스턴스 만들기

네트워크 인터페이스가 있는 vm-appliance 인스턴스를 privatesubnet-us, managementsubnet-us, mynetwork에 생성합니다. 이러한 서브넷의 CIDR 범위는 중복되지 않습니다. 이는 여러 네트워크 인터페이스 컨트롤러(NIC)가 있는 VM을 만들기 위한 필수 요건입니다.

  1. Cloud 콘솔의 탐색 메뉴에서 Compute Engine > VM 인스턴스를 클릭합니다.

  2. 인스턴스 만들기를 클릭합니다.

  3. 다음을 지정하고 나머지 설정은 기본값으로 둡니다.

    속성 값(지정된 대로 값 입력 또는 옵션 선택)
    이름 vm-appliance
    리전
    영역
  4. 왼쪽 프레임에서 머신 구성을 클릭합니다.

  5. 다음 값이 선택되어 있는지 확인합니다. | 시리즈 | E2| | 머신 유형 | vCPU 4개(16GB 메모리, e2-standard-4)|

참고: 인스턴스 1개에 허용되는 인터페이스의 개수는 인스턴스의 머신 유형과 vCPU의 개수에 따라 달라집니다. e2-standard-4는 최대 4개의 네트워크 인터페이스를 허용합니다. 여러 네트워크 인터페이스가 포함된 인스턴스 만들기 가이드를 읽으며, 허용되는 인터페이스 수를 확인하는 방법을 자세히 알아보세요.
  1. 왼쪽 프레임에서 네트워킹을 클릭합니다.

  2. 네트워크 인터페이스에서 드롭다운 아이콘을 클릭하여 수정합니다.

  3. 다음을 지정하고 나머지 설정은 기본값으로 둡니다.

    속성 값(지정된 대로 값 입력 또는 옵션 선택)
    네트워크 privatenet
    서브네트워크 privatesubnet-us
  4. 완료를 클릭합니다.

  5. 네트워크 인터페이스 추가를 클릭합니다.

  6. 다음을 지정하고 나머지 설정은 기본값으로 둡니다.

    속성 값(지정된 대로 값 입력 또는 옵션 선택)
    네트워크 managementnet
    서브네트워크 managementsubnet-us
  7. 완료를 클릭합니다.

  8. 네트워크 인터페이스 추가를 클릭합니다.

  9. 다음을 지정하고 나머지 설정은 기본값으로 둡니다.

    속성 값(지정된 대로 값 입력 또는 옵션 선택)
    네트워크 mynetwork
    서브네트워크 mynetwork
  10. 완료를 클릭합니다.

  11. 만들기를 클릭합니다.

네트워크 인터페이스 세부정보 살펴보기

Cloud 콘솔 및 VM 터미널에서 vm-appliance의 네트워크 인터페이스 세부정보를 살펴봅니다.

  1. Cloud 콘솔의 탐색 메뉴에서 Compute Engine > VM 인스턴스를 클릭합니다.
  2. 네트워크 인터페이스 세부정보 페이지를 열려면 vm-appliance내부 IP 주소에서 nic0을 클릭합니다.
  3. nic0privatesubnet-us에 연결되어 있고, 해당 서브넷(172.16.0.0/24) 범위의 내부 IP 주소가 할당되어 있으며, 적용 가능한 방화벽 규칙이 있는지 확인합니다.
  4. nic0을 클릭하고 nic1을 선택합니다.
  5. nic1managementsubnet-us에 연결되어 있고, 해당 서브넷(10.130.0.0/20)에 내부 IP 주소가 할당되어 있고, 적용 가능한 방화벽 규칙이 있는지 확인합니다.
  6. nic1을 클릭하고 nic2를 선택합니다.
  7. nic2mynetwork에 연결되어 있고, 해당 서브넷(10.128.0.0/20) 범위의 내부 IP 주소가 할당되어 있으며, 적용 가능한 방화벽 규칙이 있는지 확인합니다. 표시되는 서브넷은 VM 생성 중에 선택한 리전에 따라 다를 수 있습니다.
참고: 각 네트워크 인터페이스에는 자체 내부 IP 주소가 있습니다. 따라서 VM 인스턴스가 이러한 네트워크와 통신할 수 있습니다.
  1. Cloud 콘솔의 탐색 메뉴에서 Compute Engine > VM 인스턴스를 클릭합니다.
  2. vm-appliance의 경우 SSH를 클릭하여 터미널을 실행하고 연결합니다.
  3. 다음 명령어를 실행하여 VM 인스턴스 내의 네트워크 인터페이스를 나열합니다.
sudo ifconfig

출력은 다음과 같습니다.

ens4: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1460 inet 172.16.0.3 netmask 255.255.255.255 broadcast 0.0.0.0 inet6 fe80::4001:acff:fe10:3 prefixlen 64 scopeid 0x20 ether 42:01:ac:10:00:03 txqueuelen 1000 (Ethernet) RX packets 99 bytes 24688 (24.1 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 109 bytes 20015 (19.5 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 ens5: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1460 inet 10.130.0.3 netmask 255.255.255.255 broadcast 0.0.0.0 inet6 fe80::4001:aff:fe82:3 prefixlen 64 scopeid 0x20 ether 42:01:0a:82:00:03 txqueuelen 1000 (Ethernet) RX packets 585 bytes 137966 (134.7 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 566 bytes 52713 (51.4 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 ens6: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1460 inet 10.142.0.3 netmask 255.255.255.255 broadcast 0.0.0.0 inet6 fe80::4001:aff:fe8e:3 prefixlen 64 scopeid 0x20 ether 42:01:0a:8e:00:03 txqueuelen 1000 (Ethernet) RX packets 19 bytes 4182 (4.0 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 36 bytes 3615 (3.5 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10 loop txqueuelen 1000 (Local Loopback) RX packets 8 bytes 868 (868.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 8 bytes 868 (868.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 참고: sudo ifconfig 명령어를 사용하면 Linux VM의 네트워크 인터페이스가 각 인터페이스의 내부 IP 주소와 함께 나열됩니다.

네트워크 인터페이스 연결성 살펴보기

서브넷의 VM 인스턴스에 핑하여 vm-appliance 인스턴스가 privatesubnet-us, managementsubnet-us, mynetwork에 연결되었음을 검증합니다.

  1. Cloud 콘솔의 탐색 메뉴에서 Compute Engine > VM 인스턴스를 클릭합니다.
  2. privatenet-us-vm, managementnet-us-vm, mynet-us-vm, mynet-notus-vm의 내부 IP 주소를 확인합니다.
  3. vm-applianceSSH 터미널로 돌아갑니다.
  4. privatenet-us-vm의 내부 IP에 대한 연결을 테스트하려면 다음 명령어에 privatenet-us-vm의 내부 IP를 삽입한 후 실행합니다.
ping -c 3 <여기에 privatenet-us-vm의 내부 IP 입력>

정상적으로 실행됩니다.

  1. 다음을 실행하여 같은 테스트를 반복합니다.
ping -c 3 privatenet-us-vm 참고: privatenet-us-vm에 이름으로 핑할 수 있는 이유는 인스턴스를 내부 IP 주소가 아닌 DNS 이름으로 처리할 수 있게 해주는 내부 DNS 서비스가 VPC 네트워크에 있기 때문입니다. 내부 DNS 쿼리가 인스턴스 호스트 이름으로 작성된 경우, 인스턴스의 기본 인터페이스(nic0)에서 확인합니다. 따라서 이 경우에는 privatenet-us-vm에 대해서만 정상 작동합니다.
  1. managementnet-us-vm의 내부 IP에 대한 연결을 테스트하려면 다음 명령어에 managementnet-us-vm의 내부 IP를 삽입한 후 실행합니다.
ping -c 3 <여기에 managementnet-us-vm의 내부 IP 입력>

정상적으로 실행됩니다.

  1. mynet-us-vm의 내부 IP에 대한 연결성을 테스트하려면 다음 명령어에 mynet-us-vm의 내부 IP를 삽입한 후 실행합니다.
ping -c 3 <여기에 mynet-us-vm의 내부 IP 입력>

정상적으로 실행됩니다.

  1. mynet-notus-vm의 내부 IP에 대한 연결을 테스트하려면 다음 명령어에 mynet-notus-vm의 내부 IP를 삽입한 후 실행합니다.
ping -c 3 <여기에 mynet-notus-vm의 내부 IP 입력> 참고: 이 명령어는 정상적으로 작동하지 않습니다. 다중 인터페이스 인스턴스에서 모든 인터페이스는 해당 인터페이스가 속한 서브넷의 경로를 가져옵니다. 또한 인스턴스는 기본 인터페이스인 ens4와 연결된 단일 기본 경로를 가져옵니다. 수동으로 달리 구성하지 않은 한, 직접 연결된 서브넷이 아닌 다른 대상을 향해 나가는 모든 트래픽은 ens4의 기본 경로를 통해 인스턴스 밖으로 나갑니다.
  1. vm-appliance 인스턴스의 경로 목록을 표시하려면 다음 명령어를 실행합니다.
ip route

출력은 다음 예와 같이 표시됩니다.

default via 172.16.0.1 dev ens4 proto dhcp src 172.16.0.3 metric 100 10.130.0.0/20 via 10.130.0.1 dev ens5 10.130.0.0/20 via 10.130.0.1 dev ens5 proto dhcp src 10.130.0.3 metric 100 10.130.0.1 dev ens5 scope link 10.130.0.1 dev ens5 proto dhcp scope link src 10.130.0.3 metric 100 10.142.0.0/20 via 10.142.0.1 dev ens6 10.142.0.0/20 via 10.142.0.1 dev ens6 proto dhcp src 10.142.0.3 metric 100 10.142.0.1 dev ens6 scope link 10.142.0.1 dev ens6 proto dhcp scope link src 10.142.0.3 metric 100 169.254.169.254 dev ens5 proto dhcp scope link src 10.130.0.3 metric 100 169.254.169.254 dev ens6 proto dhcp scope link src 10.142.0.3 metric 100 169.254.169.254 via 172.16.0.1 dev ens4 proto dhcp src 172.16.0.3 metric 100 172.16.0.0/24 via 172.16.0.1 dev ens4 proto dhcp src 172.16.0.3 metric 100 172.16.0.1 dev ens4 proto dhcp scope link src 172.16.0.3 metric 100 참고: 기본 인터페이스 ens4에서는 기본 경로(172.16.0.1 dev ens4를 통한 기본값)를 가져오고, 3개의 인터페이스(ens4, ens5, ens6)에서는 각 서브넷의 경로를 가져옵니다. mynet-notus-vm(10.132.0.0/20)의 서브넷은 이 라우팅 테이블에 포함되어 있지 않으므로 해당 인스턴스에 대한 핑은 다른 VPC 네트워크에 있는 ens4의 vm-appliance에서 나갑니다.

다중 네트워크 인터페이스가 있는 인스턴스 만들기 가이드를 읽으며, 정책 라우팅을 구성하여 이 동작을 변경하는 방법을 자세히 알아보세요.

내 진행 상황 확인하기를 클릭하여 목표를 확인합니다. 다수의 네트워크 인터페이스가 있는 VM 인스턴스 만들기

복습

이 실습에서는 Cloud 콘솔과 gcloud 명령줄을 사용하여 다수의 커스텀 모드 VPC 네트워크, 방화벽 규칙, VM 인스턴스를 만들어 보았습니다. 그런 다음 VPC 네트워크 간의 연결을 테스트했는데, 외부 IP 주소를 핑할 때는 실행됐지만 내부 IP 주소를 핑할 때는 실행되지 않았습니다. 정리하자면 이 실습을 통해 3개의 네트워크 인터페이스가 있는 VM 인스턴스를 만들어 보고, 해당 다중 인터페이스 VM에 연결된 서브넷에 위치한 VM 인스턴스의 내부 연결성을 확인해 보았습니다.

실습 종료하기

실습을 완료하면 실습 종료를 클릭합니다. Google Skills에서 사용된 리소스를 자동으로 삭제하고 계정을 지웁니다.

실습 경험을 평가할 수 있습니다. 해당하는 별표 수를 선택하고 의견을 입력한 후 제출을 클릭합니다.

별점의 의미는 다음과 같습니다.

  • 별표 1개 = 매우 불만족
  • 별표 2개 = 불만족
  • 별표 3개 = 중간
  • 별표 4개 = 만족
  • 별표 5개 = 매우 만족

의견을 제공하고 싶지 않다면 대화상자를 닫으면 됩니다.

의견이나 제안 또는 수정할 사항이 있다면 지원 탭을 사용하세요.

Copyright 2026 Google LLC All rights reserved. Google 및 Google 로고는 Google LLC의 상표입니다. 기타 모든 회사명 및 제품명은 해당 업체의 상표일 수 있습니다.

시작하기 전에

  1. 실습에서는 정해진 기간 동안 Google Cloud 프로젝트와 리소스를 만듭니다.
  2. 실습에는 시간 제한이 있으며 일시중지 기능이 없습니다. 실습을 종료하면 처음부터 다시 시작해야 합니다.
  3. 화면 왼쪽 상단에서 실습 시작을 클릭하여 시작합니다.

시크릿 브라우징 사용

  1. 실습에 입력한 사용자 이름비밀번호를 복사합니다.
  2. 비공개 모드에서 콘솔 열기를 클릭합니다.

콘솔에 로그인

    실습 사용자 인증 정보를 사용하여
  1. 로그인합니다. 다른 사용자 인증 정보를 사용하면 오류가 발생하거나 요금이 부과될 수 있습니다.
  2. 약관에 동의하고 리소스 복구 페이지를 건너뜁니다.
  3. 실습을 완료했거나 다시 시작하려고 하는 경우가 아니면 실습 종료를 클릭하지 마세요. 이 버튼을 클릭하면 작업 내용이 지워지고 프로젝트가 삭제됩니다.

현재 이 콘텐츠를 이용할 수 없습니다

이용할 수 있게 되면 이메일로 알려드리겠습니다.

감사합니다

이용할 수 있게 되면 이메일로 알려드리겠습니다.

한 번에 실습 1개만 가능

모든 기존 실습을 종료하고 이 실습을 시작할지 확인하세요.

시크릿 브라우징을 사용하여 실습 실행하기

이 실습을 실행하는 가장 좋은 방법은 시크릿 모드 또는 시크릿 브라우저 창을 사용하는 것입니다. 개인 계정과 학생 계정 간의 충돌로 개인 계정에 추가 요금이 발생하는 일을 방지해 줍니다.