방화벽 정책을 위한 주소 그룹 구성


이 튜토리얼에서는 네트워크에서 방화벽 정책을 위한 주소 그룹을 만들고 구성하는 방법을 설명합니다. 서브넷으로 가상 프라이빗 클라우드(VPC) 네트워크를 만들고, 프로젝트 범위 주소 그룹을 만들고, 방화벽 규칙이 있는 주소 그룹을 사용하는 방화벽 정책을 설정하고, 그런 다음 방화벽 규칙을 테스트하는 예시를 설명합니다. 자세한 내용은 방화벽 정책을 위한 주소 그룹을 참조하세요.

목표

이 튜토리얼에서는 다음 작업을 완료하는 방법을 보여줍니다.

  • 서브넷으로 커스텀 VPC 네트워크 2개를 만듭니다.
  • 3개의 가상 머신(VM) 인스턴스를 만듭니다(한 VPC 네트워크의 개별 서브넷에 있는 소비자 VM 2개와 두 번째 VPC 네트워크에 있는 프로듀서 VM 1개). 모든 VM은 외부 IP 주소 없이 생성됩니다.
  • 프로듀서 VM에 Apache 서버를 설치합니다.
  • VPC 네트워크 피어링을 만듭니다.
  • 프로듀서 VM이 공개 인터넷에 액세스할 수 있도록 하는 Cloud Router 및 Cloud NAT 게이트웨이를 만듭니다.
  • 프로젝트 범위 주소 그룹을 만듭니다.
  • 다음 규칙을 사용하여 전역 네트워크 방화벽 정책을 만듭니다.
    • VM에 대해 IAP(Identity-Aware Proxy) SSH 연결을 허용합니다.
    • 프로젝트 범위 주소 그룹을 사용하여 허용된 소비자 VM에서 프로듀서 VM으로의 트래픽을 허용합니다.
  • 연결을 테스트합니다.

다음 다이어그램은 두 커스텀 VPC 네트워크 내의 us-central1 리전에 있는 프로듀서 VM과 소비자 VM 간의 트래픽을 보여줍니다. 전역 네트워크 방화벽 정책은 프로젝트 범위 주소 그룹 규칙을 사용하여 vm-consumer-allowed VM과 vm-producer VM 간의 인그레스 트래픽을 허용합니다. 모든 VM에는 모든 트래픽을 거부하는 암시적 인그레스 방화벽 규칙이 있으므로 vm-consumer-blocked VM과 vm-producer VM 간의 트래픽은 거부됩니다.

서브넷에서 다른 VPC 네트워크의 대상 VM으로 이동하는 인그레스 트래픽을 허용하는 전역 네트워크 방화벽 정책
서브넷에서 다른 VPC 네트워크의 대상 VM으로 이동하는 인그레스 트래픽을 허용하는 전역 네트워크 방화벽 정책(확대하려면 클릭)

시작하기 전에

  1. Google Cloud 계정에 로그인합니다. Google Cloud를 처음 사용하는 경우 계정을 만들고 Google 제품의 실제 성능을 평가해 보세요. 신규 고객에게는 워크로드를 실행, 테스트, 배포하는 데 사용할 수 있는 $300의 무료 크레딧이 제공됩니다.
  2. Google Cloud Console의 프로젝트 선택기 페이지에서 Google Cloud 프로젝트를 선택하거나 만듭니다.

    프로젝트 선택기로 이동

  3. Google Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다.

  4. Google Cloud Console의 프로젝트 선택기 페이지에서 Google Cloud 프로젝트를 선택하거나 만듭니다.

    프로젝트 선택기로 이동

  5. Google Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다.

  6. 프로젝트에서 Compute Engine API를 사용 설정합니다.
  7. Compute 네트워크 관리자 역할(roles/compute.networkAdmin)이 있는지 확인합니다.
  8. 프로젝트에 IAP(Identity-Aware Proxy) API를 사용 설정합니다.
  9. 명령줄 작업을 더 선호할 경우에는 Google Cloud CLI를 설치합니다. 도구에 대한 개념 및 설치 정보는 gcloud CLI 개요를 참조하세요.

    참고: 이전에 Google Cloud CLI를 실행한 적이 없으면 gcloud init 명령어를 실행하여 gcloud CLI 디렉터리를 초기화합니다.

서브넷으로 소비자 VPC 네트워크 만들기

이 섹션에서는 subnet-consumer-allowedsubnet-consumer-blocked의 2개 IPv4 서브넷으로 소비자 VPC 네트워크를 만듭니다.

콘솔

  1. Google Cloud 콘솔에서 VPC 네트워크 페이지로 이동합니다.

    VPC 네트워크로 이동

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

  3. 이름vpc-consumer를 입력합니다.

  4. 서브넷 생성 모드커스텀을 선택합니다.

  5. 새 서브넷 섹션에서 서브넷에 다음 구성 매개변수를 지정합니다.

    • 이름: subnet-consumer-allowed
    • 리전: us-central1
    • IPv4 범위: 192.168.10.0/29
  6. 완료를 클릭합니다.

  7. 서브넷 추가를 클릭하고 다음 구성 매개변수를 지정합니다.

    • 이름: subnet-consumer-blocked
    • 리전: us-central1
    • IPv4 범위: 192.168.20.0/29
  8. 완료를 클릭합니다.

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

gcloud

  1. Google Cloud 콘솔에서 Cloud Shell을 활성화합니다.

    Cloud Shell 활성화

  2. VPC 네트워크를 만들려면 다음 명령어를 실행합니다.

    gcloud compute networks create vpc-consumer \
      --subnet-mode=custom
    
  3. Cloud Shell 승인 대화상자에서 승인을 클릭합니다.

  4. 서브넷을 만들려면 다음 명령어를 실행합니다.

    gcloud compute networks subnets create subnet-consumer-allowed \
      --network=vpc-consumer \
      --region=us-central1 \
      --range=192.168.10.0/29
    
  5. 다른 서브넷을 만들려면 다음 명령어를 실행합니다.

    gcloud compute networks subnets create subnet-consumer-blocked \
      --network=vpc-consumer \
      --region=us-central1 \
      --range=192.168.20.0/29
    

서브넷으로 프로듀서 VPC 네트워크 만들기

이 섹션에서는 IPv4 서브넷으로 프로듀서 VPC 네트워크를 만듭니다.

콘솔

  1. Google Cloud 콘솔에서 VPC 네트워크 페이지로 이동합니다.

    VPC 네트워크로 이동

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

  3. 이름vpc-producer를 입력합니다.

  4. 서브넷 생성 모드커스텀을 선택합니다.

  5. 새 서브넷 섹션에서 서브넷에 다음 구성 매개변수를 지정합니다.

    • 이름: subnet-vpc-producer
    • 리전: us-central1
    • IPv4 범위: 172.16.10.0/29
  6. 완료를 클릭합니다.

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

gcloud

  1. VPC 네트워크를 만들려면 다음 명령어를 실행합니다.

    gcloud compute networks create vpc-producer \
      --subnet-mode=custom
    
  2. 서브넷을 만들려면 다음 명령어를 실행합니다.

    gcloud compute networks subnets create subnet-vpc-producer \
      --network=vpc-producer \
      --region=us-central1 \
      --range=172.16.10.0/29
    

Cloud Router 및 Cloud NAT 게이트웨이 만들기

vm-producer VM이 공개 인터넷에 액세스하도록 허용하려면 Cloud Router 및 Cloud NAT 게이트웨이를 만듭니다.

콘솔

  1. Google Cloud 콘솔에서 Cloud NAT 페이지로 이동합니다.

    Cloud NAT로 이동

  2. 시작하기 또는 Cloud NAT 게이트웨이 만들기를 클릭합니다.

  3. 게이트웨이 이름nat-gateway-addressgrp을 입력합니다.

  4. NAT 유형에서 Public 을 선택합니다.

  5. Cloud Router 선택 섹션에서 다음 구성 매개변수를 지정합니다.

    • 네트워크: vpc-producer
    • 리전: us-central1 (lowa)
    • Cloud Router: 새 라우터 만들기를 클릭합니다.
      1. 이름router-addressgrp을 입력합니다.
      2. 만들기를 클릭합니다.
  6. 만들기를 클릭합니다.

gcloud

  1. Cloud Router를 만들려면 다음 명령어를 실행합니다.

    gcloud compute routers create router-addressgrp \
      --network=vpc-producer \
      --region=us-central1
    
  2. Cloud NAT 게이트웨이를 만들려면 다음 명령어를 실행합니다.

    gcloud compute routers nats create nat-gateway-addressgrp \
      --router=router-addressgrp \
      --region=us-central1 \
      --auto-allocate-nat-external-ips \
      --nat-all-subnet-ip-ranges
    

VM 만들기

이전 섹션에서 만든 VPC 네트워크의 각 서브넷에서 외부 IP 주소 없이 VM을 만듭니다.

소비자 허용 VPC 네트워크의 VM 만들기

subnet-consumer-allowed 서브넷에 VM을 만듭니다.

콘솔

  1. Google Cloud 콘솔에서 인스턴스 만들기 페이지로 이동합니다.

    인스턴스 만들기로 이동

  2. 이름vm-consumer-allowed를 입력합니다.

  3. 리전에서 us-central1 (Iowa)을 선택합니다.

  4. 고급 옵션을 펼친 후 네트워킹을 펼칩니다.

  5. 네트워크 인터페이스 섹션에서 기본값을 펼치고 다음 구성 매개변수를 지정합니다.

    • 네트워크: vpc-consumer
    • 서브네트워크: subnet-consumer-allowed IPv4 (192.168.10.0/29)
    • 외부 IPv4 주소: 없음
  6. 완료를 클릭합니다.

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

gcloud

gcloud compute instances create vm-consumer-allowed \
     --network=vpc-consumer \
     --zone=us-central1-a \
     --stack-type=IPV4_ONLY \
     --no-address \
     --subnet=subnet-consumer-allowed

소비자 차단 VPC 네트워크의 VM 만들기

이 섹션에서는 subnet-consumer-blocked 서브넷에 VM을 만듭니다.

콘솔

  1. Google Cloud 콘솔에서 인스턴스 만들기 페이지로 이동합니다.

    인스턴스 만들기로 이동

  2. 이름vm-consumer-blocked를 입력합니다.

  3. 리전에서 us-central1 (Iowa)을 선택합니다.

  4. 고급 옵션을 펼친 후 네트워킹을 펼칩니다.

  5. 네트워크 인터페이스 섹션에서 기본값을 펼치고 다음 구성 매개변수를 지정합니다.

    • 네트워크: vpc-consumer
    • 서브네트워크: subnet-consumer-blocked IPv4 (192.168.20.0/29)
    • 외부 IPv4 주소: 없음
  6. 완료를 클릭합니다.

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

gcloud

gcloud compute instances create vm-consumer-blocked \
    --network=vpc-consumer \
    --zone=us-central1-a \
    --stack-type=IPV4_ONLY \
    --no-address \
    --subnet=subnet-consumer-blocked

프로듀서 VPC 네트워크의 VM 만들기

subnet-vpc-producer 서브넷에 VM을 만들고 Apache 서버를 설치합니다.

콘솔

  1. Google Cloud 콘솔에서 인스턴스 만들기 페이지로 이동합니다.

    인스턴스 만들기로 이동

  2. 이름vm-producer를 입력합니다.

  3. 리전에서 us-central1 (Iowa)을 선택합니다.

  4. 고급 옵션을 펼친 후 네트워킹을 펼칩니다.

  5. 네트워크 인터페이스 섹션에서 기본값을 펼치고 다음 구성 매개변수를 지정합니다.

    • 네트워크: vpc-producer
    • 서브네트워크: subnet-vpc-producer IPv4 (172.16.10.0/29)
  6. 완료를 클릭합니다.

  7. 관리 섹션을 펼칩니다.

  8. 자동화 섹션에서 시작 스크립트 필드에 다음 스크립트를 입력합니다.

      #! /bin/bash
      apt-get update
      apt-get install apache2 -y
      a2ensite default-ssl
      a2enmod ssl
      # Read VM network configuration:
      md_vm="http://169.254.169.254/computeMetadata/v1/instance/"
      vm_hostname="$(curl $md_vm/name -H "Metadata-Flavor:Google" )"
      filter="{print \$NF}"
      vm_network="$(curl $md_vm/network-interfaces/0/network \
      -H "Metadata-Flavor:Google" | awk -F/ "${filter}")"
      vm_zone="$(curl $md_vm/zone \
      -H "Metadata-Flavor:Google" | awk -F/ "${filter}")"
      # Apache configuration:
      echo "Page on $vm_hostname in network $vm_network zone $vm_zone" | \
      tee /var/www/html/index.html
      systemctl restart apache2
    

    위의 스크립트는 이 VM에 Apache 웹 서버를 배포하고 시작합니다.

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

gcloud

프로듀서 VM을 만들려면 다음 명령어를 실행합니다.

  gcloud compute instances create vm-producer \
      --network=vpc-producer \
      --zone=us-central1-a \
      --stack-type=IPV4_ONLY \
      --no-address \
      --subnet=subnet-vpc-producer \
      --image-project=debian-cloud \
      --image-family=debian-10 \
      --metadata=startup-script='#! /bin/bash
        apt-get update
        apt-get install apache2 -y
        a2ensite default-ssl
        a2enmod ssl
        # Read VM network configuration:
        md_vm="http://169.254.169.254/computeMetadata/v1/instance/"
        vm_hostname="$(curl $md_vm/name -H "Metadata-Flavor:Google" )"
        filter="{print \$NF}"
        vm_network="$(curl $md_vm/network-interfaces/0/network \
        -H "Metadata-Flavor:Google" | awk -F/ "${filter}")"
        vm_zone="$(curl $md_vm/zone \
        -H "Metadata-Flavor:Google" | awk -F/ "${filter}")"
        # Apache configuration:
        echo "Page on $vm_hostname in network $vm_network zone $vm_zone" | \
        tee /var/www/html/index.html
        systemctl restart apache2'

VPC 네트워크 피어링 연결 만들기

동일한 프로젝트에서 vpc-consumervpc-producer VPC 네트워크를 비공개로 연결하려면 VPC 네트워크 피어링을 사용합니다. VPC 네트워크 피어링을 사용하면 VPC 네트워크가 동일한 프로젝트 또는 조직에 속하는지 여부에 관계없이 두 VPC 네트워크에서 내부 IP 주소 연결을 사용할 수 있습니다.

vpc-consumervpc-producer 피어링

VPC 네트워크 피어링을 성공적으로 설정하려면 vpc-consumervpc-producer 네트워크의 피어링 연결을 별도로 구성해야 합니다.

콘솔

vpc-consumervpc-producer 네트워크 사이에 VPC 네트워크 피어링을 만들려면 다음 단계를 수행합니다.

  1. Google Cloud 콘솔에서 VPC 네트워크 피어링 페이지로 이동합니다.

    VPC 네트워크 피어링으로 이동

  2. 연결 만들기를 클릭합니다.

  3. 계속을 클릭합니다.

  4. 이름 필드에 peering-cp를 입력합니다.

  5. 내 VPC 네트워크에서 vpc-consumer를 선택합니다.

  6. VPC 네트워크 이름에서 vpc-producer를 선택합니다.

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

gcloud

vpc-consumervpc-producer 사이에 VPC 네트워크 피어링을 만들려면 다음 명령어를 실행합니다.

gcloud compute networks peerings create peering-cp \
    --network=vpc-consumer \
    --peer-network=vpc-producer \
    --stack-type=IPV4_ONLY

vpc-producer 네트워크와 vpc-consumer 네트워크 피어링

콘솔

vpc-producervpc-consumer 사이에 VPC 네트워크 피어링을 만들려면 다음 단계를 수행합니다.

  1. Google Cloud 콘솔에서 VPC 네트워크 피어링 페이지로 이동합니다.

    VPC 네트워크 피어링으로 이동

  2. 연결 만들기를 클릭합니다.

  3. 계속을 클릭합니다.

  4. 이름 필드에 peering-pc를 입력합니다.

  5. 내 VPC 네트워크에서 vpc-producer를 선택합니다.

  6. VPC 네트워크 이름에서 vpc-consumer를 선택합니다.

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

gcloud

vpc-producervpc-consumer 사이에 VPC 네트워크 피어링을 만들려면 다음 명령어를 실행합니다.

gcloud compute networks peerings create peering-pc \
    --network=vpc-producer \
    --peer-network=vpc-consumer \
    --stack-type=IPV4_ONLY

IAP를 사용 설정하도록 전역 네트워크 방화벽 정책 만들기

IAP를 사용 설정하려면 전역 네트워크 방화벽 정책을 만들고 방화벽 규칙을 추가합니다. IAP를 사용하면 VM 인스턴스에 대한 관리 액세스를 허용할 수 있습니다.

방화벽 규칙에는 다음과 같은 특성이 포함됩니다.

  • IP 범위 35.235.240.0/20에서 들어오는 인그레스 트래픽 이 범위에는 IAP가 TCP 전달에 사용하는 모든 IP 주소가 포함됩니다.
  • IAP TCP 전달을 사용하여 액세스할 수 있는 모든 포트에 대한 연결(예: SSH의 경우 22 포트)

콘솔

vpc-consumervpc-producer 네트워크의 모든 VM 인스턴스에 IAP 액세스를 허용하려면 다음 단계를 따릅니다.

  1. Google Cloud 콘솔에서 방화벽 정책 페이지로 이동합니다.

    방화벽 정책으로 이동

  2. 방화벽 정책 만들기를 클릭합니다.

  3. 정책 구성 섹션의 정책 이름fw-policy-addressgrp를 입력합니다.

  4. 배포 범위에서 전역을 선택하고 계속을 클릭합니다.

  5. 정책에 대한 규칙을 만들려면 규칙 추가 섹션에서 규칙 추가를 클릭합니다.

    1. 우선순위100을 입력합니다.
    2. 트래픽 방향으로 수신을 선택합니다.
    3. 일치 시 작업으로 허용을 선택합니다.
    4. 대상 섹션의 대상 유형에서 네트워크의 모든 인스턴스를 선택합니다.
    5. 소스 섹션의 IP 범위35.235.240.0/20을 입력합니다.
    6. 프로토콜 및 포트 섹션에서 지정된 프로토콜 및 포트를 선택합니다.
    7. TCP 체크박스를 선택하고 포트22를 입력합니다.
    8. 만들기를 클릭합니다.
  6. 계속을 클릭합니다.

  7. VPC 네트워크를 정책과 연결하려면 VPC 네트워크와 정책 연결 섹션에서 연결을 클릭합니다.

  8. vpc-producervpc-consumer 체크박스를 선택한 다음 연결을 클릭합니다.

  9. 계속을 클릭합니다.

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

gcloud

vpc-producer 네트워크의 VM 인스턴스에 IAP 액세스를 허용하려면 다음 명령어를 실행합니다.

  1. 다음 명령어를 실행하여 방화벽 정책을 만듭니다.

    gcloud compute network-firewall-policies create fw-policy-addressgrp \
        --global
    
  2. 모든 대상으로 가는 트래픽을 허용하고 로그를 사용 설정하는 방화벽 규칙을 만들려면 다음 명령어를 실행합니다.

    gcloud compute network-firewall-policies rules create 100 \
        --firewall-policy=fw-policy-addressgrp \
        --direction=INGRESS \
        --action=ALLOW \
        --layer4-configs=tcp:22 \
        --src-ip-ranges=35.235.240.0/20 \
        --global-firewall-policy
    
  3. 방화벽 정책을 프로듀서 VPC 네트워크와 연결하려면 다음 명령어를 실행합니다.

    gcloud compute network-firewall-policies associations create \
        --firewall-policy=fw-policy-addressgrp \
        --network=vpc-producer \
        --name=pol-association-vpc-producer \
        --global-firewall-policy
    
  4. 방화벽 정책을 소비자 VPC 네트워크와 연결하려면 다음 명령어를 실행합니다.

    gcloud compute network-firewall-policies associations create \
        --firewall-policy=fw-policy-addressgrp \
        --network=vpc-consumer \
        --name=pol-association-vpc-consumer \
        --global-firewall-policy
    

프로젝트 범위 주소 그룹 만들기

vpc-consumer VPC 네트워크의 subnet-consumer-allowed 서브넷에 할당된 IP 주소를 사용하는 프로젝트 범위 주소 그룹을 만듭니다.

프로젝트 범위 주소 그룹에 대한 자세한 내용은 방화벽 정책에 주소 그룹 사용을 참조하세요.

  1. Cloud Shell 터미널을 처음 사용하는 경우 Google Cloud 콘솔에서 alt='' Cloud Shell 활성화를 클릭합니다.

  2. 주소 그룹을 만들려면 다음 명령어를 실행합니다.

    gcloud network-security address-groups create address-group-pc \
        --type IPv4 \
        --capacity 1000 \
        --location global
    
  3. Cloud Shell 터미널을 처음 사용하는 경우 Cloud Shell 승인 대화상자에서 승인을 클릭합니다.

  4. 주소 그룹에 항목을 추가하려면 다음 명령어를 실행합니다.

    gcloud network-security address-groups add-items address-group-pc \
        --items 192.168.10.0/29 \
        --location global
    

    IP 범위 192.168.10.0/29vpc-consumer VPC 네트워크의 subnet-consumer-allowed 서브넷에 할당되어 있습니다.

주소 그룹에 트래픽을 허용하는 방화벽 규칙 추가

vm-consumer-allowed VM의 인그레스 연결을 허용하려면 프로젝트 범위 주소 그룹 address-group-pc를 소스 IP 주소로 추가하는 방화벽 규칙을 만듭니다.

콘솔

  1. Google Cloud 콘솔에서 방화벽 정책 페이지로 이동합니다.

    방화벽 정책으로 이동

  2. 네트워크 방화벽 정책 섹션에서 fw-policy-addressgrp를 클릭합니다.

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

  4. 우선순위150을 입력합니다.

  5. 트래픽 방향으로 수신을 선택합니다.

  6. 일치 시 작업으로 허용을 선택합니다.

  7. 로그에서 사용을 선택합니다.

  8. 대상 섹션의 대상 유형에서 네트워크의 모든 인스턴스를 선택합니다.

  9. 소스 섹션의 주소 그룹에서 address-group-pc (PROJECT_ID)를 선택하고 확인을 클릭합니다.

    address-group-pc IP 주소 그룹에는 소비자 VPC 네트워크의 서브넷 subnet-consumer-allowed에 할당된 IP 범위 192.168.10.0/29가 포함됩니다.

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

gcloud

방화벽 정책을 업데이트하려면 다음 명령어를 실행합니다.

gcloud compute network-firewall-policies rules create 150 \
    --firewall-policy=fw-policy-addressgrp \
    --direction=INGRESS \
    --action=ALLOW \
    --src-address-groups=projects/PROJECT_ID/locations/global/addressGroups/address-group-pc \
    --layer4-configs=all \
    --global-firewall-policy \
    --enable-logging

연결 테스트

vm-consumer-allowed VM에서 vm-producer VM으로, vm-consumer-blocked VM에서 vm-producer VM으로의 연결을 테스트합니다.

vm-consumer-allowed VM에서 vm-producer VM으로의 트래픽 테스트

콘솔

  1. Google Cloud 콘솔에서 VM 인스턴스 페이지로 이동합니다.

    VM 인스턴스로 이동

  2. vm-producer VM의 내부 IP 열에서 VM의 내부 IP 주소를 복사합니다.

  3. vm-consumer-allowed VM의 연결 열에서 SSH를 클릭합니다.

  4. 브라우저에서 SSH를 통해 연결 대화상자에서 승인을 클릭하고 연결이 설정될 때까지 기다립니다.

  5. 연결을 확인하려면 다음 명령어를 실행합니다.

    curl INTERNAL_IP -m 2
    

    INTERNAL_IPvm-producer VM의 IP 주소로 바꿉니다.

    출력은 다음과 비슷합니다.

    <!doctype html><html><body><h1>Hello World!</h1></body></html>

  6. 브라우저에서 SSH를 통해 연결 대화상자를 닫습니다.

gcloud

  1. vm-producer VM의 내부 IP 주소를 보려면 다음 명령어를 실행합니다.

    gcloud compute instances describe vm-producer \
       --zone=us-central1-a \
       --format='get(networkInterfaces[0].networkIP)'
    

    메시지가 표시되면 n을 눌러 확인한 다음 Enter를 누릅니다. vm-producer VM의 내부 IP 주소를 기록해 둡니다.

  2. SSH를 사용하여 vm-consumer-allowed VM에 연결하려면 다음 명령어를 실행합니다.

    gcloud compute ssh vm-consumer-allowed \
       --zone=us-central1-a \
       --tunnel-through-iap
    
  3. 연결을 확인하려면 다음 명령어를 실행합니다.

    curl INTERNAL_IP -m 2
    

    INTERNAL_IPvm-producer VM의 내부 IP 주소로 바꿉니다.

    예상되는 응답 메시지는 다음과 같습니다.

    <!doctype html><html><body><h1>Hello World!</h1></body></html>

  4. SSH 연결을 종료하려면 exit를 입력합니다.

vm-consumer-blocked VM에서 vm-producer VM으로의 트래픽 테스트

콘솔

  1. Google Cloud 콘솔에서 VM 인스턴스 페이지로 이동합니다.

    VM 인스턴스로 이동

  2. vm-producer VM의 내부 IP 열에서 VM의 내부 IP 주소를 복사합니다.

  3. vm-consumer-blocked VM의 연결 열에서 SSH를 클릭합니다.

  4. 브라우저에서 SSH를 통해 연결 대화상자에서 승인을 클릭하고 연결이 설정될 때까지 기다립니다.

  5. 연결을 확인하려면 다음 명령어를 실행합니다.

    curl INTERNAL_IP -m 2
    

    INTERNAL_IPvm-producer VM의 IP 주소로 바꿉니다.

    모든 VM이 모든 트래픽을 거부하는 암시적 인그레스 방화벽 규칙을 만들기 때문에 Connection timed out 메시지가 예상됩니다. 트래픽을 허용하려면 방화벽 정책에 인그레스 규칙을 추가합니다.

  6. 브라우저에서 SSH를 통해 연결 대화상자를 닫습니다.

gcloud

  1. vm-producer VM의 내부 IP 주소를 보려면 다음 명령어를 실행합니다.

    gcloud compute instances describe vm-producer \
       --zone=us-central1-a \
       --format='get(networkInterfaces[0].networkIP)'
    

    메시지가 표시되면 n을 눌러 확인한 다음 Enter를 누릅니다. vm-producer VM의 내부 IP 주소를 기록해 둡니다.

  2. SSH를 사용하여 vm-consumer-blocked VM에 연결하려면 다음 명령어를 실행합니다.

    gcloud compute ssh vm-consumer-blocked \
       --zone=us-central1-a \
       --tunnel-through-iap
    
  3. 연결을 확인하려면 다음 명령어를 실행합니다.

    curl INTERNAL_IP -m 2
    

    INTERNAL_IPvm-producer VM의 내부 IP 주소로 바꿉니다.

    모든 VM이 모든 트래픽을 거부하는 암시적 인그레스 방화벽 규칙을 만들기 때문에 Connection timed out 메시지가 예상됩니다. 트래픽을 허용하려면 방화벽 정책에 인그레스 규칙을 추가합니다.

  4. SSH 연결을 종료하려면 exit를 입력합니다.

로그 보기

주소 그룹 방화벽 규칙이 인그레스 트래픽에 적용되었는지 확인하려면 로그에 액세스합니다. 로그 세부정보를 보려면 다음 단계를 수행합니다.

  1. Google Cloud 콘솔에서 방화벽 정책 페이지로 이동합니다.

    방화벽 정책으로 이동

  2. 네트워크 방화벽 정책 섹션에서 fw-policy-addressgrp 이름을 클릭합니다.

  3. 적중 횟수 열에서 주소 그룹으로 트래픽을 허용하는 방화벽 규칙 추가할 때 만든 규칙의 번호를 선택합니다. 로그 탐색기 페이지가 열립니다.

  4. 인그레스 트래픽에 적용된 방화벽 규칙을 보려면 개별 로그를 펼칩니다. 규칙 세부정보, 처리, 인스턴스 세부정보를 볼 수 있습니다.

삭제

이 튜토리얼에서 사용된 리소스 비용이 Google Cloud 계정에 청구되지 않도록 하려면 리소스가 포함된 프로젝트를 삭제하거나 프로젝트는 유지하되 개별 리소스를 삭제하세요.

이 튜토리얼에서 만든 리소스를 삭제하려면 다음을 완료하세요.

주소 그룹 삭제

  1. 주소 그룹에서 기존 항목을 삭제하려면 다음 명령어를 실행합니다.

    gcloud network-security address-groups remove-items address-group-pc \
       --items 192.168.10.0/29 \
       --location global
    
  2. address-group-pc IP 주소 그룹과 연결된 방화벽 규칙을 삭제하려면 다음 명령어를 실행합니다.

    gcloud compute network-firewall-policies rules delete 150 \
       --firewall-policy fw-policy-addressgrp \
       --global-firewall-policy
    
  3. IP 주소 그룹을 삭제하려면 다음 명령어를 실행합니다.

    gcloud network-security address-groups delete address-group-pc \
       --location global
    

    메시지가 표시되면 Y를 눌러 확인한 다음 Enter를 누릅니다.

방화벽 정책 삭제

콘솔

  1. Google Cloud 콘솔에서 방화벽 정책 페이지로 이동합니다.

    방화벽 정책으로 이동

  2. 네트워크 방화벽 정책 섹션에서 fw-policy-addressgrp 이름을 클릭합니다.

  3. 연결 탭을 클릭합니다.

  4. vpc-producer VM 및 vpc-consumer VM의 체크박스를 선택한 다음 연결 삭제를 클릭합니다.

  5. 방화벽 정책 연결 삭제 대화상자에서 삭제를 클릭합니다.

  6. fw-policy-addressgrp 제목 옆에 있는 삭제를 클릭합니다.

  7. 방화벽 정책 삭제 대화상자에서 삭제를 클릭합니다.

gcloud

  1. 방화벽 정책과 VPC 프로듀서 네트워크 사이의 연결을 삭제합니다.

    gcloud compute network-firewall-policies associations delete \
      --name=pol-association-vpc-producer \
      --firewall-policy=fw-policy-addressgrp \
      --global-firewall-policy
    
  2. 방화벽 정책과 VPC 소비자 네트워크 사이의 연결을 삭제합니다.

    gcloud compute network-firewall-policies associations delete \
      --name=pol-association-vpc-consumer \
      --firewall-policy=fw-policy-addressgrp \
      --global-firewall-policy
    
  3. 방화벽 정책을 삭제합니다.

    gcloud compute network-firewall-policies delete fw-policy-addressgrp \
        --global
    

VPC 네트워크 피어링 삭제

콘솔

  1. Google Cloud 콘솔에서 VPC 네트워크 피어링 페이지로 이동합니다.

    VPC 네트워크 피어링으로 이동

  2. peering-cppeering-pc의 체크박스를 선택합니다.

  3. 삭제를 클릭합니다.

  4. 피어링 2개를 삭제하시겠어요? 대화상자에서 삭제를 클릭합니다.

gcloud

  1. 소비자 VPC와 프로듀서 VPC 사이의 피어링을 삭제하려면 다음 명령어를 실행합니다.

    gcloud compute networks peerings delete peering-cp \
        --network=vpc-consumer
    
  2. 프로듀서 VPC와 소비자 VPC 사이의 피어링을 삭제하려면 다음 명령어를 실행합니다.

    gcloud compute networks peerings delete peering-pc \
        --network=vpc-producer
    

Cloud NAT 게이트웨이 및 Cloud Router 삭제

콘솔

  1. Google Cloud 콘솔에서 Cloud Router 페이지로 이동합니다.

    Cloud Router로 이동

  2. router-addressgrp 체크박스를 선택합니다.

  3. 삭제를 클릭합니다.

  4. router-addressgrp 삭제 대화상자에서 삭제를 클릭합니다.

Cloud Router를 삭제하면 연결된 Cloud NAT 게이트웨이도 삭제됩니다.

gcloud

router-addressgrp Cloud Router를 삭제하려면 다음 명령어를 실행합니다.

gcloud compute routers delete router-addressgrp \
    --region=us-central1

메시지가 표시되면 Y를 눌러 확인한 다음 Enter를 누릅니다.

Cloud Router를 삭제하면 연결된 Cloud NAT 게이트웨이도 삭제됩니다.

VM 삭제

콘솔

  1. Google Cloud 콘솔에서 VM 인스턴스 페이지로 이동합니다.

    VM 인스턴스로 이동

  2. vm-consumer-allowed, vm-consumer-blocked, vm-producer VM의 체크박스를 선택합니다.

  3. 삭제를 클릭합니다.

  4. 인스턴스 3개를 삭제하시겠어요? 대화상자에서 삭제를 클릭합니다.

gcloud

  1. 모든 VM을 삭제하려면 다음 명령어를 실행합니다.

    gcloud compute instances delete vm-consumer-allowed vm-consumer-blocked vm-producer \
        --zone=us-central1-a
    

    메시지가 표시되면 Y를 눌러 확인한 다음 Enter를 누릅니다.

소비자 VPC 네트워크 및 해당 서브넷 삭제

콘솔

  1. Google Cloud 콘솔에서 VPC 네트워크 페이지로 이동합니다.

    VPC 네트워크로 이동

  2. 이름 열에서 vpc-consumer를 클릭합니다.

  3. VPC 네트워크 삭제를 클릭합니다.

  4. 네트워크 삭제 대화상자에서 삭제를 클릭합니다.

VPC를 삭제하면 해당 서브넷도 삭제됩니다.

gcloud

  1. vpc-consumer VPC 네트워크의 서브넷을 삭제하려면 다음 명령어를 실행합니다.

    gcloud compute networks subnets delete subnet-consumer-allowed subnet-consumer-blocked \
       --region=us-central1
    

    메시지가 표시되면 Y를 눌러 확인한 다음 Enter를 누릅니다.

  2. vpc-consumer VPC 네트워크를 삭제하려면 다음 명령어를 실행합니다.

    gcloud compute networks delete vpc-consumer
    

    메시지가 표시되면 Y를 눌러 확인한 다음 Enter를 누릅니다.

프로듀서 VPC 네트워크 및 해당 서브넷 삭제

콘솔

  1. Google Cloud 콘솔에서 VPC 네트워크 페이지로 이동합니다.

    VPC 네트워크로 이동

  2. 이름 열에서 vpc-producer를 클릭합니다.

  3. VPC 네트워크 삭제를 클릭합니다.

  4. 네트워크 삭제 대화상자에서 삭제를 클릭합니다.

VPC를 삭제하면 해당 서브넷도 삭제됩니다.

gcloud

  1. vpc-producer VPC 네트워크의 서브넷을 삭제하려면 다음 명령어를 실행합니다.

    gcloud compute networks subnets delete subnet-vpc-producer \
       --region=us-central1
    

    메시지가 표시되면 Y를 눌러 확인하고 Enter를 누릅니다.

  2. vpc-producer VPC 네트워크를 삭제하려면 다음 명령어를 실행합니다.

    gcloud compute networks delete vpc-producer
    

    메시지가 표시되면 Y를 눌러 확인한 다음 Enter를 누릅니다.

다음 단계