FQDN으로의 이그레스 트래픽을 허용하도록 전역 네트워크 방화벽 정책 구성

Google Cloud 콘솔을 사용하여 특정 정규화된 도메인 이름(FQDN)으로 이그레스 트래픽을 허용하도록 전역 네트워크 방화벽 정책을 만들고 구성하는 방법을 알아봅니다. 방화벽 정책은 네트워크에서 발생하는 다른 모든 이그레스 트래픽을 차단합니다. 이 빠른 시작에서는 서브넷이 있는 가상 프라이빗 클라우드(VPC) 네트워크를 만들고, VPC 네트워크에 가상 머신(VM) 인스턴스를 만들고, 이그레스 규칙을 사용하는 방화벽 정책을 설정한 후 VM의 방화벽 정책을 테스트합니다.

시작하기 전에

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Compute Engine and Identity-Aware Proxy (IAP) APIs.

    Enable the APIs

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Compute Engine and Identity-Aware Proxy (IAP) APIs.

    Enable the APIs

  8. Compute 네트워크 관리자 역할(roles/compute.networkAdmin)이 있는지 확인합니다.

IPv4 서브넷이 있는 커스텀 VPC 네트워크 만들기

IPv4 서브넷이 있는 커스텀 모드 VPC 네트워크를 만듭니다.

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

    VPC 네트워크로 이동

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

  3. 이름vpc-fw-policy-egress를 입력합니다.

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

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

    • 이름subnet-1를 입력합니다.
    • 리전: us-central1을 선택합니다.
    • IPv4 범위: 10.0.0.0/24을 입력합니다.
  6. 완료를 클릭합니다.

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

VM 만들기

이전 섹션에서 구성한 서브넷에 VM을 만듭니다.

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

    인스턴스 만들기로 이동

  2. 이름instance-1-us를 입력합니다.

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

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

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

    • 네트워크: vpc-fw-policy-egress를 선택합니다.
    • 서브네트워크: subnet-1 IPv4(10.0.0.0/24)를 선택합니다.
    • 외부 IPv4 주소: 없음을 선택합니다.
  6. 완료를 클릭합니다.

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

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

이전 섹션에서는 외부 IP 주소가 없는 VM을 만들었습니다. VM이 공개 인터넷에 액세스할 수 있게 하려면 VM을 만든 동일한 리전과 서브넷에 대해 Cloud Router와 Cloud NAT 게이트웨이를 만듭니다.

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

    Cloud NAT로 이동

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

    참고: Cloud NAT 게이트웨이를 처음 만드는 경우 시작하기를 클릭합니다. 기존 게이트웨이가 이미 있으면 Google Cloud에 Cloud NAT 만들기 게이트웨이 버튼이 표시됩니다. 다른 게이트웨이를 만들려면 Cloud NAT 게이트웨이 만들기를 클릭합니다.

  3. 게이트웨이 이름fw-egress-nat-gw을 입력합니다.

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

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

    • 네트워크: vpc-fw-policy-egress를 선택합니다.
    • 리전: us-central1(아이오와)을 선택합니다.
    • Cloud Router: 새 라우터 만들기를 클릭합니다.
      1. 이름fw-egress-router을 입력합니다.
      2. 만들기를 클릭합니다.
  6. 만들기를 클릭합니다.

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

네트워크의 VM에 대해 IAP(Identity-Aware Proxy)를 사용 설정하려면 전역 네트워크 방화벽 정책을 만들고 정책에 방화벽 규칙을 추가합니다. IAP는 VM에 대한 관리 액세스를 허용합니다.

방화벽 규칙에는 다음과 같은 특성이 있어야 합니다.

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

vpc-fw-policy-egress 네트워크의 모든 VM에 대한 IAP 액세스를 사용 설정하려면 다음 단계를 따르세요.

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

    방화벽 정책으로 이동

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

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

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

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

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

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

  8. vpc-fw-policy-egress 체크박스를 선택하고 연결을 클릭합니다.

  9. 계속을 클릭합니다.

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

모든 대상으로의 이그레스 트래픽을 거부하는 방화벽 규칙 추가

모든 대상으로의 이그레스 트래픽을 거부하려면 fw-egress-policy에 방화벽 규칙을 추가합니다.

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

    방화벽 정책으로 이동

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

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

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

  5. 트래픽 방향에 대해 이그레스를 선택합니다.

  6. 일치 시 작업거부를 선택합니다.

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

  8. 대상 섹션의 IP 범위0.0.0.0/0을 입력합니다.

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

특정 FQDN으로만의 이그레스 트래픽을 허용하는 방화벽 규칙 추가

특정 FQDN ads.google.com으로만 이그레스 트래픽을 허용하려면 fw-egress-policy에 방화벽 규칙을 추가합니다.

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

    방화벽 정책으로 이동

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

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

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

  5. 트래픽 방향에 대해 이그레스를 선택합니다.

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

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

  8. 대상 섹션의 FQDNads.google.com을 입력합니다.

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

전역 네트워크 방화벽 정책 테스트

전역 네트워크 방화벽 정책을 구성한 후 다음 단계에 따라 정책을 테스트합니다.

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

    VM 인스턴스로 이동

  2. instance-1-us VM의 연결 열에서 SSH를 클릭합니다.

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

  4. https://ads.google.com으로의 이그레스 트래픽이 허용되는지 확인하려면 다음 명령어를 실행합니다.

      curl -I https://ads.google.com
    

    위의 명령어는 https://ads.google.com의 헤더 정보를 반환하며, 이는 이그레스 연결이 허용됨을 의미합니다.

  5. 다른 대상으로의 이그레스 트래픽이 차단되었는지 확인하려면 FQDN을 지정하고 다음 명령어를 실행합니다.

      curl -m 2 -I https://mail.yahoo.com
    

    위의 명령어는 https://ads.google.com을 제외한 모든 대상으로의 이그레스 트래픽을 거부하는 방화벽 규칙을 만들었으므로 예상되는 Connection timed out 메시지를 반환합니다.

로그 보기

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

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

    방화벽 정책으로 이동

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

  3. 적중 횟수 열에서 전역 네트워크 방화벽 정책 만들기 섹션에서 만든 규칙의 수를 클릭합니다. 로그 탐색기 페이지가 열립니다.

  4. 이그레스 트래픽에 적용된 방화벽 규칙을 보려면 개별 로그를 펼칩니다. 관련 섹션을 펼쳐 연결, 처리, 원격 위치, 규칙 세부정보를 볼 수 있습니다.

삭제

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

이 빠른 시작에서 만든 리소스를 삭제하려면 다음 태스크를 완료하세요.

방화벽 정책 삭제

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

    방화벽 정책으로 이동

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

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

  4. vpc-fw-policy-egress 체크박스를 선택하고 연결 삭제를 클릭합니다.

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

  6. 삭제를 클릭합니다.

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

VM 삭제

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

    VM 인스턴스로 이동

  2. instance-1-us VM의 체크박스를 선택합니다.

  3. 삭제를 클릭합니다.

  4. instance-1-us 삭제 대화상자에서 삭제를 클릭합니다.

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

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

    Cloud Router로 이동

  2. fw-egress-router의 체크박스를 선택합니다.

  3. 삭제를 클릭합니다.

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

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

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

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

    VPC 네트워크로 이동

  2. 이름 열에서 vpc-fw-policy-egress를 클릭합니다.

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

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

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

다음 단계