arrow_back

VPC 네트워킹 기능

로그인 가입
700개 이상의 실습 및 과정 이용하기

VPC 네트워킹 기능

실습 1시간 30분 universal_currency_alt 크레딧 5개 show_chart 입문
info 이 실습에는 학습을 지원하는 AI 도구가 통합되어 있을 수 있습니다.
700개 이상의 실습 및 과정 이용하기

개요

Google Cloud 가상 프라이빗 클라우드(VPC)는 Compute Engine 가상 머신(VM) 인스턴스, Kubernetes Engine 컨테이너, App Engine 가변형 환경에 네트워킹 기능을 제공합니다. 즉, VPC 네트워크가 없으면 VM 인스턴스, 컨테이너 또는 App Engine 애플리케이션을 만들 수 없습니다. 따라서 각 Google Cloud 프로젝트에는 프로젝트를 시작할 수 있도록 기본 네트워크가 있습니다.

VPC 네트워크는 Google Cloud 내에서 가상화된다는 점을 제외하면 물리적 네트워크와 유사하다고 생각하면 됩니다. VPC 네트워크는 데이터 센터의 리전별 가상 서브네트워크(서브넷) 목록으로 구성된 전역 리소스이며 모든 리소스는 전역 광역 통신망(WAN)을 통해 연결됩니다. VPC 네트워크는 Google Cloud에서 논리적으로 서로 격리됩니다.

이 실습에서는 방화벽 규칙과 두 개의 VM 인스턴스가 있는 자동 모드 VPC 네트워크를 만듭니다. 그런 다음 자동 모드 네트워크를 커스텀 모드 네트워크로 전환하고 아래의 네트워크 다이어그램 예시와 같이 다른 커스텀 모드 네트워크를 만듭니다. 또한 네트워크 간의 연결도 테스트합니다.

VPC 네트워킹 아키텍처 다이어그램

목표

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

  • 기본 VPC 네트워크 살펴보기
  • 방화벽 규칙이 있는 자동 모드 네트워크 만들기
  • 자동 모드 네트워크를 커스텀 모드 네트워크로 전환하기
  • 방화벽 규칙이 있는 커스텀 모드 VPC 네트워크 만들기
  • Compute Engine을 사용하여 VM 인스턴스 만들기
  • VPC 네트워크 간 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. 기본 네트워크 살펴보기

각 Google Cloud 프로젝트에는 서브넷, 경로, 방화벽 규칙이 있는 기본 네트워크가 있습니다.

서브넷 보기

기본 네트워크는 각 Google Cloud 리전에 서브넷을 하나씩 가지고 있습니다.

  • Google Cloud 콘솔의 탐색 메뉴(탐색 메뉴 아이콘)에서 VPC 네트워크 > VPC 네트워크를 클릭합니다.
  • 서브넷이 있는 기본 네트워크를 확인합니다.
    각 서브넷은 내부 IP 주소 범위게이트웨이를 위해 Google Cloud 리전 및 비공개 RFC 1918 CIDR 블록과 연결되어 있습니다.

경로 보기

경로는 인스턴스에서 네트워크 내부 또는 Google Cloud 외부에 있는 대상으로 트래픽을 보내는 방법을 VM 인스턴스 및 VPC 네트워크에 알려줍니다. 각 VPC 네트워크에는 해당 서브넷 간에 트래픽을 라우팅하고 요건을 충족하는 인스턴스에서 인터넷으로 트래픽을 전송하는 몇 가지 기본 경로가 있습니다.

  1. 왼쪽 창에서 경로를 클릭합니다.

  2. 네트워크 드롭다운 목록에서 기본값을 클릭합니다.

  3. 리전 드롭다운 목록에서 을(를) 클릭합니다.

  4. 보기를 클릭합니다.

각 서브넷과 기본 인터넷 게이트웨이(0.0.0.0/0)에 경로가 하나씩 있습니다.
이러한 경로는 자동으로 관리되지만 일부 패킷을 특정 대상으로 전달하기 위해 사용자가 커스텀 정적 경로를 만들 수 있습니다. 예를 들어 모든 아웃바운드 트래픽을 NAT 게이트웨이로 구성된 인스턴스로 보내는 경로를 만들 수 있습니다.

방화벽 규칙 보기

각 VPC 네트워크는 사용자가 구성할 수 있는 분산 가상 방화벽을 구현합니다. 방화벽 규칙을 사용하면 어떤 패킷이 어떤 대상으로 이동하는지 제어할 수 있습니다. 모든 VPC 네트워크에는 모든 수신 연결을 차단하고 모든 발신 연결을 허용하는 두 가지 묵시적인 방화벽 규칙이 있습니다.

  • 왼쪽 창에서 방화벽을 클릭합니다.
    기본 네트워크에는 다음 4개의 인그레스 방화벽 규칙이 있습니다.

    • default-allow-icmp
    • default-allow-rdp
    • default-allow-ssh
    • default-allow-internal

    이 방화벽 규칙은 모든(0.0.0.0/0) ICMP, RDP, SSH 인그레스 트래픽을 허용하고 네트워크(10.128.0.0/9) 내부의 모든 TCP, UDP, ICMP 트래픽을 허용합니다. 대상, 필터, 프로토콜/포트, 작업 열에 이 규칙이 설명되어 있습니다.

방화벽 규칙 삭제

  1. 왼쪽 창에서 방화벽 정책을 클릭합니다.
  2. VPC 방화벽 규칙에서 모든 기본 네트워크 방화벽 규칙을 선택합니다.
  3. 삭제를 클릭합니다.
  4. 삭제를 클릭하여 방화벽 규칙 삭제를 확인합니다.

기본 네트워크 삭제

  1. 탐색 메뉴(탐색 메뉴 아이콘)에서 VPC 네트워크 > VPC 네트워크를 클릭합니다.
  2. 기본 네트워크를 선택합니다.
  3. VPC 네트워크 삭제를 클릭하고 기본을 입력합니다.
  4. 삭제를 클릭하여 기본 네트워크 삭제를 확인합니다.

네트워크가 삭제될 때까지 기다렸다가 진행하세요.

  1. 왼쪽 창에서 경로를 클릭합니다.

경로가 없는 것을 알 수 있습니다.

  1. 왼쪽 창에서 방화벽을 클릭합니다.

방화벽 규칙이 없는 것을 알 수 있습니다.

참고: VPC 네트워크가 없으면 경로도 없습니다.

VM 인스턴스 만들기

VPC 네트워크가 없으면 VM 인스턴스를 만들 수 없음을 확인합니다.

  1. 탐색 메뉴에서 Compute Engine > VM 인스턴스를 클릭합니다.
  2. 인스턴스 만들기를 클릭합니다.
  3. 기본값을 그대로 두고 만들기를 클릭합니다.

네트워킹 탭에 오류가 표시됩니다.

  1. 문제로 이동을 클릭합니다.

    네트워크 인터페이스에서 사용 가능한 네트워크가 더 이상 없습니다. 오류가 표시됩니다.

  2. 취소를 클릭합니다.

참고: 예상대로 VPC 네트워크가 없으면 VM 인스턴스를 만들 수 없습니다.

작업 2. 자동 모드 네트워크 만들기

두 개의 VM 인스턴스가 있는 자동 모드 네트워크를 만드는 작업을 수행해야 합니다. 자동 모드 네트워크는 각 리전에 서브넷을 자동으로 생성하기 때문에 쉽게 설정하고 사용할 수 있습니다. 하지만 사용하는 리전과 IP 주소 범위를 포함하여 VPC 네트워크에 생성되는 서브넷을 완전히 제어할 수는 없습니다.

Google VPC 문서에서 자동 모드 네트워크 선택 시 고려사항을 언제든지 자세히 살펴볼 수 있으며, 지금은 프로토타입 제작을 위해 자동 모드 네트워크를 사용하고 있다고 가정하겠습니다.

방화벽 규칙이 있는 자동 모드 VPC 네트워크 만들기

  1. 탐색 메뉴(탐색 메뉴 아이콘)에서 VPC 네트워크 > VPC 네트워크를 클릭합니다.
  2. VPC 네트워크 만들기를 클릭합니다.
  3. 이름mynetwork를 입력합니다.
  4. 서브넷 생성 모드에서 자동을 클릭합니다.

자동 모드 네트워크는 각 리전에 자동으로 서브넷을 만듭니다.

  1. 방화벽 규칙에서 사용 가능한 규칙을 모두 선택합니다.

이들은 기본 네트워크에 지정된 표준 방화벽 규칙과 동일합니다. deny-all-ingressallow-all-egress 규칙도 표시되지만 이러한 규칙은 묵시적이기 때문에 사용자가 선택하거나 중지할 수 없습니다. 이 두 규칙은 우선순위가 낮으므로(정수 값이 클수록 우선순위가 낮음) ICMP, 커스텀, RDP, SSH 규칙이 먼저 고려됩니다.

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

  2. 새 네트워크가 준비되면 mynetwork > 서브넷을 클릭합니다. 의 서브넷 IP 주소 범위를 기록해 둡니다.

참고: 기본 네트워크를 삭제한 경우 방금 한 것처럼 자동 모드 네트워크를 만들면 빠르게 다시 생성할 수 있습니다.

에 VM 인스턴스 만들기

리전에서 VM 인스턴스를 만듭니다. 리전과 영역을 선택하면 서브넷이 결정되고 서브넷의 IP 주소 범위에서 내부 IP 주소가 할당됩니다.

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

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

  3. 다음 사항을 지정합니다.

    속성 값(지정된 대로 값 입력 또는 옵션 선택)
    이름 mynet-us-vm
    리전
    영역
  4. 시리즈에서 E2를 선택합니다.

  5. 머신 유형에서 e2-micro(vCPU 2개, 메모리 1GB)를 선택합니다.

  6. OS 및 스토리지를 클릭합니다.

  7. 표시된 이미지Debian GNU/Linux 12(bookworm)가 아닌 경우 변경을 클릭하고 Debian GNU/Linux 12(bookworm)를 선택한 다음 선택을 클릭합니다.

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

에 VM 인스턴스 만들기

리전에서 VM 인스턴스를 만듭니다.

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

  2. 다음 사항을 지정합니다.

    속성 값(지정된 대로 값 입력 또는 옵션 선택)
    이름 mynet-notus-vm
    리전
    영역
  3. 시리즈에서 E2를 선택합니다.

  4. 머신 유형에서 e2-micro(vCPU 2개, 메모리 1GB)를 선택합니다.

  5. OS 및 스토리지를 클릭합니다.

  6. 표시된 이미지Debian GNU/Linux 12(bookworm)가 아닌 경우 변경을 클릭하고 Debian GNU/Linux 12(bookworm)를 선택한 다음 선택을 클릭합니다.

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

참고: 두 VM 인스턴스의 외부 IP 주소는 임시 주소입니다. 인스턴스가 중지되면 해당 인스턴스에 할당된 모든 임시 외부 IP 주소가 일반 Compute Engine 풀로 다시 해제되어 다른 프로젝트에서 사용할 수 있게 됩니다.

중지된 인스턴스가 다시 시작되면 해당 인스턴스에 새 임시 외부 IP 주소가 할당됩니다. 아니면 고정 외부 IP 주소를 예약할 수도 있습니다. 그러면 해당 주소는 명시적으로 해제될 때까지 프로젝트에 무기한으로 할당됩니다.

VM 인스턴스의 연결 확인

mynetwork에서 만든 방화벽 규칙은 mynetwork 내부(내부 IP)와 해당 네트워크 외부(외부 IP)에서 발생한 인그레스 SSH 및 ICMP 트래픽을 허용합니다.

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

mynet-notus-vm의 외부 및 내부 IP 주소를 확인합니다.

  1. mynet-us-vm에서 SSH를 클릭하여 터미널 및 연결을 실행합니다. 메시지가 표시되면 승인을 클릭합니다.
참고: tcp:22에 대해 모든(0.0.0.0/0) 수신 트래픽을 허용하는 allow-ssh 방화벽 규칙이 있으므로 SSH로 연결할 수 있습니다. Compute Engine에서 SSH 키를 생성해 다음 위치 중 하나에 저장하기 때문에 SSH 연결이 원활하게 작동합니다.
  • 기본적으로 Compute Engine은 생성된 키를 프로젝트 또는 인스턴스 메타데이터에 추가합니다.
  • 계정이 OS 로그인을 사용하도록 구성된 경우 Compute Engine은 생성된 키를 사용자 계정에 저장합니다.
또는 SSH 키를 만들고 공개 SSH 키 메타데이터를 편집하여 Linux 인스턴스에 대한 액세스를 제어할 수 있습니다.
  1. mynet-notus-vm의 내부 IP에 대한 연결을 테스트하려면 다음 명령어에 mynet-notus-vm의 내부 IP를 삽입한 후 실행합니다.
ping -c 3 <Enter mynet-notus-vm's internal IP here>

allow-custom 방화벽 규칙이 있으므로 mynet-notus-vm의 내부 IP를 핑할 수 있습니다.

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

참고: 예상대로 mynet-us-vm에 SSH로 연결하고 mynet-notus-vm의 내부 및 외부 IP 주소를 핑할 수 있습니다. mynet-notus-vm에 SSH로 연결하고 mynet-us-vm의 내부 및 외부 IP 주소를 핑해도 됩니다.

네트워크를 커스텀 모드 네트워크로 전환

자동 모드 네트워크가 지금까지 원활하게 작동했지만, 실습 목표에 따라 새 리전을 사용할 수 있을 때 새 서브넷이 자동으로 생성되지 않도록 이 네트워크를 커스텀 모드 네트워크로 전환해야 합니다. 이 경우 수동으로 생성된 서브넷 또는 정적 경로에 사용되는 IP 주소와 겹치거나 전체적인 네트워크 계획에 차질이 발생할 수 있습니다.

  1. 탐색 메뉴(탐색 메뉴 아이콘)에서 VPC 네트워크 > VPC 네트워크를 클릭합니다.
  2. mynetwork를 클릭하여 네트워크 세부정보를 엽니다.
  3. 수정을 클릭합니다.
  4. 서브넷 생성 모드에서 커스텀을 선택합니다.
  5. 저장을 클릭합니다.
  6. VPC 네트워크 페이지로 돌아갑니다.

mynetwork모드커스텀으로 변경될 때까지 기다립니다.

기다리는 동안 새로고침을 클릭해도 됩니다.

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

참고: 자동 모드 네트워크를 커스텀 모드 네트워크로 전환하는 것은 간단한 작업이며, 이렇게 하면 유연성이 향상됩니다. 프로덕션에는 커스텀 모드 네트워크를 사용하는 것이 좋습니다.

작업 3. 커스텀 모드 네트워크 만들기

아래 다이어그램 예시와 같이 SSH, ICMP, RDP 인그레스 트래픽을 허용하는 방화벽 규칙과 VM 인스턴스가 있는 커스텀 네트워크 2개(managementnetprivatenet)를 추가로 만드는 작업을 수행해야 합니다(vm-appliance 제외).

VPC 네트워킹 아키텍처 다이어그램

이들 네트워크의 IP CIDR 범위는 겹치지 않기 때문에 네트워크 간의 VPC 피어링과 같은 메커니즘을 설정할 수 있습니다. 온프레미스 네트워크와 다른 IP CIDR 범위를 지정하는 경우에는 VPN 또는 Cloud Interconnect를 사용하여 하이브리드 연결을 구성할 수도 있습니다.

managementnet 네트워크 만들기

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

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

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

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

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

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

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

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

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

  8. 닫기를 클릭합니다.

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

privatenet 네트워크 만들기

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

  1. Google 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|Region 1}}} --range=172.16.0.0/24
  1. 다음 명령어를 실행하여 privatesubnet-notus 서브넷을 만듭니다.
gcloud compute networks subnets create privatesubnet-notus --network=privatenet --region={{{project_0.default_region_2|Region 2}}} --range=172.20.0.0/20
  1. 다음 명령어를 실행하여 사용 가능한 VPC 네트워크의 목록을 출력합니다.
gcloud compute networks list

출력은 다음과 같습니다.

NAME: managementnet SUBNET_MODE: CUSTOM BGP_ROUTING_MODE: REGIONAL IPV4_RANGE: GATEWAY_IPV4: NAME: mynetwork SUBNET_MODE: CUSTOM BGP_ROUTING_MODE: REGIONAL IPV4_RANGE: GATEWAY_IPV4: NAME: privatenet SUBNET_MODE: CUSTOM BGP_ROUTING_MODE: REGIONAL IPV4_RANGE: GATEWAY_IPV4:
  1. 다음 명령어를 실행하여 사용 가능한 VPC 서브넷의 목록을 출력합니다(VPC 네트워크 기준으로 정렬).
gcloud compute networks subnets list --sort-by=NETWORK 참고: managementnetprivatenet 네트워크는 커스텀 모드 네트워크이므로 직접 생성한 서브넷만 있습니다. mynetwork도 커스텀 모드 네트워크이지만, 자동 모드 네트워크로 시작되었으므로 각 리전에 서브넷이 있습니다.
  1. Google Cloud 콘솔의 탐색 메뉴(탐색 메뉴 아이콘)에서 VPC 네트워크 > VPC 네트워크를 클릭합니다.
    Cloud 콘솔에 동일한 네트워크와 서브넷이 나열되는지 확인합니다.

managementnet의 방화벽 규칙 만들기

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

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

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

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

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

  2. 기타 프로토콜을 선택하고 icmp 프로토콜을 지정합니다.

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

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

  4. 닫기를 클릭합니다.

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

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: managementnet-allow-icmp-ssh-rdp NETWORK: managementnet DIRECTION: INGRESS PRIORITY: 1000 ALLOW: tcp:22,tcp:3389,icmp DENY: DISABLED: False NAME: mynetwork-allow-custom NETWORK: mynetwork DIRECTION: INGRESS PRIORITY: 65534 ALLOW: all DENY: DISABLED: False NAME: mynetwork-allow-icmp NETWORK: mynetwork DIRECTION: INGRESS PRIORITY: 65534 ALLOW: icmp DENY: DISABLED: False NAME: mynetwork-allow-rdp NETWORK: mynetwork DIRECTION: INGRESS PRIORITY: 65534 ALLOW: tcp:3389 DENY: DISABLED: False NAME: mynetwork-allow-ssh NETWORK: mynetwork DIRECTION: INGRESS PRIORITY: 65534 ALLOW: tcp:22 DENY: DISABLED: False NAME: privatenet-allow-icmp-ssh-rdp NETWORK: privatenet DIRECTION: INGRESS PRIORITY: 1000 ALLOW: icmp,tcp:22,tcp:3389 DENY: DISABLED: False

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

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

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

이어서 다음 두 개의 VM 인스턴스를 만듭니다.

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

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

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

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

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

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

    속성 값(지정된 대로 값 입력 또는 옵션 선택)
    이름 managementnet-us-vm
    리전
    영역
    시리즈 E2
    머신 유형 e2-micro(vCPU 2개, 코어 1개, 1GB 메모리)
    부팅 디스크 Debian GNU/Linux 12(bookworm)
  4. 네트워킹을 클릭합니다.

  5. 네트워크 인터페이스에서 드롭다운 화살표를 클릭하여 수정합니다.

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

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

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

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

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

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|Zone 1}}} --machine-type=e2-micro --subnet=privatesubnet-us --image-family=debian-12 --image-project=debian-cloud --boot-disk-size=10GB --boot-disk-type=pd-standard --boot-disk-device-name=privatenet-us-vm
  1. 다음 명령어를 실행하여 모든 VM 인스턴스의 목록을 출력합니다(영역 기준으로 정렬).
gcloud compute instances list --sort-by=ZONE
  1. Cloud 콘솔의 탐색 메뉴(탐색 메뉴)에서 Compute Engine > VM 인스턴스를 클릭합니다.

Cloud 콘솔에 해당 VM 인스턴스가 나열되는지 확인합니다.

  1. 에서 영역을 선택합니다.

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

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

참고: 내부 IP 열에서 nic0 링크를 클릭하여 각 VM 인스턴스의 네트워킹 정보를 자세히 확인할 수 있습니다. 표시되는 네트워크 인터페이스 세부정보 페이지에 서브넷과 IP CIDR 범위, 방화벽 규칙, 인스턴스에 적용되는 경로, 기타 네트워크 분석이 나타납니다.

작업 4. 네트워크 간의 연결 살펴보기

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

외부 IP 주소 핑하기

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

  1. Google 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 네트워크에 위치해 있음에도 인스턴스의 외부 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 <Enter mynet-notus-vm's internal IP here> 참고: 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 네트워크상에 있기 때문입니다.

작업 5. 검토

이 실습에서는 기본 네트워크를 살펴보고 VPC 네트워크 없이는 VM 인스턴스를 만들 수 없다는 사실도 확인했습니다. 이 실습을 통해 서브넷, 경로, 방화벽 규칙, 2개의 VM 인스턴스가 있는 자동 모드 VPC 네트워크를 새로 만들고 VM 인스턴스의 연결을 테스트해 보았습니다. 프로덕션에는 자동 모드 네트워크가 권장되지 않기 때문에 자동 모드 네트워크를 커스텀 모드 네트워크로 전환했습니다.

이어서 Cloud 콘솔과 gcloud 명령줄을 사용하여 방화벽 규칙 및 VM 인스턴스가 있는 커스텀 모드 VPC 네트워크를 두 개 더 만들었습니다. 그런 다음 VPC 네트워크 간의 연결을 테스트했는데, 외부 IP 주소를 핑할 때는 실행됐지만 내부 IP 주소를 핑할 때는 실행되지 않았습니다.

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

실습 종료하기

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

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

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

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

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

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

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

시작하기 전에

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

시크릿 브라우징 사용

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

콘솔에 로그인

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

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

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

감사합니다

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

한 번에 실습 1개만 가능

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

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

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