고가용성 애플리케이션을 위한 부하 분산 사용

이 가이드에서는 리전 관리형 인스턴스 그룹에서 부하 분산을 사용해 사용량이 많거나 사용할 수 없는 VM 인스턴스에서 다른 곳으로 트래픽을 리디렉션하여 영역에 장애가 발생한 상황에서도 고가용성을 제공하는 방법을 설명합니다.

리전 관리형 인스턴스 그룹은 여러 영역에 다양한 인스턴스의 애플리케이션을 분산합니다. 전역 부하 분산기는 단일 IP 주소를 통해 여러 영역에 트래픽을 보내 애플리케이션을 사용할 수 없는 영역으로 사용자를 보내는 경우를 차단합니다. 이러한 두 서비스를 사용하여 여러 영역 간에 애플리케이션을 분산함으로써 영역의 가동 중단과 같은 심각한 상황에서도 애플리케이션의 가용성을 보장할 수 있습니다.

부하 분산기를 사용하면 다양한 트래픽 유형을 전달할 수 있습니다. 이 가이드에서는 외부 HTTP 트래픽을 전달하는 전역 부하 분산기를 만드는 방법을 안내하지만 가이드의 내용 대부분은 다른 유형의 부하 분산기에도 적용됩니다. 부하 분산기로 전달할 수 있는 다른 트래픽 유형에 대해 알아보려면 Cloud Load Balancing의 유형을 참조하세요.

이 가이드에는 리전 관리형 인스턴스 그룹에서 웹 애플리케이션을 실행하고, 네트워크 액세스를 구성하고, 웹 애플리케이션으로 트래픽을 전달하기 위한 부하 분산기를 만들며, 영역 장애를 시뮬레이션해 부하 분산기를 관찰하는 세부적인 단계가 포함되어 있습니다. 이러한 기능을 사용해 본 경험의 유무에 따라 다르겠지만 이 가이드를 완료하는 데 약 45분이 소요됩니다.

목표

  • 리전 관리형 인스턴스 그룹에서 데모 웹 애플리케이션을 실행합니다.
  • 여러 영역 간에 HTTP 트래픽을 전달하는 전역 부하 분산기를 구성합니다.
  • 영역 장애를 시뮬레이션하여 부하 분산기의 효과를 관찰합니다.

비용

이 가이드는 비용이 청구될 수 있는 다음과 같은 GCP 구성요소를 사용합니다.

  • Compute Engine

가격 계산기를 사용하면 예상 사용량을 기준으로 예상 비용을 산출할 수 있습니다. GCP 신규 사용자는 무료 체험판 사용이 가능할 수 있습니다.

시작하기 전에

  1. Google 계정에 로그인합니다.

    아직 계정이 없으면 새 계정을 등록하세요.

  2. Google Cloud Platform 프로젝트를 선택하거나 만듭니다.

    리소스 관리 페이지로 이동

  3. Google Cloud Platform 프로젝트에 결제가 사용 설정되어 있는지 확인하세요.

    결제 사용 설정 방법 알아보기

애플리케이션 아키텍처

애플리케이션에는 다음과 같은 Compute Engine 구성요소가 포함됩니다.

  • VPC 네트워크: 자체 경로 및 방화벽 규칙을 통해 전역 연결을 제공할 수 있는 GCP 내의 가상 네트워크
  • 방화벽 규칙: GCP 방화벽을 사용하면 인스턴스의 트래픽을 허용 또는 거부할 수 있습니다.
  • 인스턴스 템플릿: 관리형 인스턴스 그룹에 각 VM 인스턴스를 만들 때 사용하는 템플릿
  • 리전 관리형 인스턴스 그룹: 여러 영역에 걸쳐 동일한 애플리케이션을 실행하는 VM 인스턴스 그룹
  • 전역 고정 외부 IP 주소: 외부 네트워크에서 액세스할 수 있으며 전역 리소스에 연결할 수 있는 고정 IP 주소
  • 전역 부하 분산기: 단일(전역) IP 주소를 통해 여러 영역 간에 트래픽을 전달하는 애플리케이션. 애플리케이션을 사용할 수 없는 영역으로 사용자를 전달하는 경우를 방지하도록 설계됩니다.
  • 상태 확인: 각 VM 인스턴스에서 애플리케이션의 응답성을 평가하기 위해 부하 분산기에서 사용되는 정책

웹 애플리케이션 실행

이 가이드에서는 GitHub에 저장된 웹 애플리케이션을 사용합니다. 애플리케이션이 구현되는 방법에 대해 자세히 알아보려면 Google Cloud Platform GitHub 저장소를 참조하세요.

인스턴스 템플릿에 시작 스크립트를 포함하여 인스턴스 그룹의 모든 VM에서 웹 애플리케이션을 실행합니다. 또한 전용 VPC 네트워크에서 인스턴스 그룹을 실행하여 이 가이드의 방화벽 규칙이 프로젝트에서 실행 중인 기존 리소스에 방해가 되지 않도록 합니다.

VPC 네트워크 만들기

VPC 네트워크를 사용하면 이 가이드용으로 만들 리소스에 의해 영향을 받지 않도록 프로젝트의 기존 리소스를 보호할 수 있습니다. VPC 네트워크는 부하 분산기를 반드시 거치도록 수신 트래픽을 제한하기 위해서도 필요합니다.

VPC 네트워크를 만들어 데모 웹 애플리케이션을 위한 방화벽 규칙을 캡슐화합니다.

  1. GCP Console에서 VPC 네트워크 페이지로 이동합니다.
    VPC 네트워크 페이지로 이동
  2. VPC 네트워크 만들기를 클릭합니다.
  3. 이름web-app-vpc를 입력합니다.
  4. 서브넷 생성 모드자동으로 설정합니다.

  5. 페이지 하단에서 만들기를 클릭합니다.

계속 진행하기 전에 VPC 네트워크 생성이 완료될 때까지 기다리세요.

방화벽 규칙 만들기

VPC 네트워크가 생성된 후 방화벽 규칙을 설정하여 VPC 네트워크의 HTTP 트래픽을 허용합니다.

  1. GCP Console에서 방화벽 페이지로 이동합니다.
    방화벽 페이지로 이동
  2. 방화벽 규칙 만들기를 클릭합니다.
  3. 이름allow-web-app-http를 입력합니다.
  4. 네트워크web-app-vpc로 설정합니다.
  5. 대상에서 네트워크의 모든 인스턴스를 선택합니다.
  6. 소스 필터IP ranges로 설정합니다.
  7. 소스 IP 범위0.0.0.0/0을 입력하여 모든 IP 주소에 대한 액세스를 허용합니다.
  8. 포트 및 프로토콜에서 지정된 프로토콜 및 포트를 선택합니다.
    tcp를 선택하고 80을 입력하여 HTTP 트래픽에 대한 액세스를 허용합니다.
  9. 만들기를 클릭합니다.

인스턴스 템플릿 만들기

VM 인스턴스 그룹을 만드는 데 사용할 템플릿을 만듭니다. 템플릿에서 생성된 각 인스턴스는 시작 스크립트를 통해 데모 웹 애플리케이션을 실행합니다.

  1. GCP Console에서 인스턴스 템플릿 페이지로 이동합니다.
    인스턴스 템플릿 페이지로 이동
  2. 인스턴스 템플릿 만들기를 클릭합니다.
  3. 이름load-balancing-web-app-template을 입력합니다.
  4. 머신 구성에서 머신 유형f1-micro로 설정합니다
  5. 부팅 디스크에서 이미지Debian GNU/Linux 9 (stretch)로 설정합니다.
  6. 방화벽에서 HTTP 트래픽 허용을 선택합니다.
  7. 관리, 보안, 디스크, 네트워킹, 단독 테넌트를 클릭하여 고급 설정을 표시합니다.
  8. 관리 탭을 클릭합니다. 자동화에서 다음 시작 스크립트를 입력합니다.

    sudo apt-get update && sudo apt-get install git gunicorn3 python3-pip -y
    git clone https://github.com/GoogleCloudPlatform/python-docs-samples.git
    cd python-docs-samples/compute/managed-instances/demo
    sudo pip3 install -r requirements.txt
    sudo gunicorn3 --bind 0.0.0.0:80 app:app --daemon
    

    스크립트는 인스턴스 시작 시 웹 애플리케이션을 가져와 설치하고 실행합니다.

  9. 네트워킹 탭을 클릭합니다. 네트워크에서 web-app-vpc를 선택합니다. 이렇게 하면 이 템플릿으로 생성된 각 인스턴스가 이전에 생성된 네트워크에서 실행되도록 강제합니다.

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

계속 진행하기 전에 템플릿 생성이 완료될 때까지 기다리세요.

리전 관리형 인스턴스 그룹 만들기

웹 애플리케이션을 실행하려면 인스턴스 템플릿을 사용하여 리전 관리형 인스턴스 그룹을 만듭니다.

  1. GCP Console에서 인스턴스 그룹 페이지로 이동합니다.
    인스턴스 그룹 페이지로 이동
  2. 인스턴스 그룹 만들기를 클릭합니다.
  3. 이름load-balancing-web-app-group을 입력합니다.
  4. 위치에서 다중 영역을 선택합니다.

  5. 리전에서 us-central1을 선택합니다.

  6. 영역 구성 드롭다운 메뉴를 클릭하여 영역을 표시합니다. 다음 영역을 선택합니다.

    • us-central1-b
    • us-central1-c
    • us-central1-f
  7. 인스턴스 템플릿에서 load-balancing-web-app-template을 선택합니다.

  8. 자동 확장에서 끄기를 선택합니다.

  9. 인스턴스 수6으로 설정합니다.

  10. 인스턴스 재배포에서 켜기를 선택합니다.

  11. 자동 복구상태 확인에서 상태 확인 없음을 선택합니다.

  12. 만들기를 클릭합니다. 인스턴스 그룹 페이지로 리디렉션됩니다.

  13. 인스턴스가 데모 웹 애플리케이션을 올바르게 실행 중인지 확인하려면 다음 안내를 따르세요.

    1. 인스턴스 그룹 페이지에서 load-balancing-web-app-group을 클릭하여 해당 그룹의 인스턴스를 확인합니다.
    2. 외부 IP에서 해당 인스턴스를 연결할 IP 주소를 클릭합니다. 새 브라우저 탭이 열리고 데모 웹 애플리케이션이 표시됩니다.

      인스턴스에 대한 정보를 나열하고 작업 버튼이 있는 데모 웹 애플리케이션의 스크린샷

      작업을 마치면 데모 웹 애플리케이션의 브라우저 탭을 닫습니다.

부하 분산기 구성

부하 분산기를 사용하여 웹 애플리케이션으로 트래픽을 전달하려면 모든 수신 트래픽을 받을 외부 IP 주소를 예약해야 합니다. 그런 다음 이 IP 주소에서 트래픽을 받아 인스턴스 그룹으로 리디렉션하는 부하 분산기를 만듭니다.

고정 IP 주소 예약

전역 고정 외부 IP 주소를 사용하여 부하 분산기에 모든 사용자 트래픽을 수신하기 위한 단일 진입 지점을 제공합니다. 관련된 GCP 리소스를 변경하거나 삭제하더라도 Compute Engine은 고정 IP 주소를 보존합니다. 이를 통해 웹 애플리케이션은 웹 애플리케이션의 다른 부분이 변경되더라도 항상 같은 진입 지점을 가질 수 있습니다.

  1. GCP Console에서 외부 IP 주소 페이지로 이동합니다.
    외부 IP 주소 페이지로 이동
  2. 고정 주소 예약을 클릭합니다.
  3. 이름web-app-ipv4를 입력합니다.
  4. IP 버전IPv4로 설정합니다.
  5. 유형전역으로 설정합니다.
  6. 예약을 클릭합니다.

부하 분산기 만들기

이 섹션에서는 HTTP 트래픽을 전달하는 전역 부하 분산기를 만들기 위한 단계를 설명합니다.

이 부하 분산기는 프런트엔드를 사용하여 수신 트래픽을 받고 백엔드를 사용하여 이 트래픽을 정상 상태의 인스턴스로 분배합니다. 부하 분산기는 여러 구성요소로 이뤄지므로 이 작업 역시 여러 부분으로 나뉩니다.

  • 백엔드 구성
  • 프런트엔드 구성
  • 검토 및 완료

모든 단계를 완료하여 부하 분산기를 만듭니다.

  1. GCP Console에서 부하 분산기 만들기 페이지로 이동합니다.
    부하 분산기 만들기 페이지로 이동
  2. HTTP(S) 부하 분산 아래에서 구성 시작을 클릭합니다.
  3. 인터넷 연결 또는 내부 전용 아래에서 인터넷 트래픽을 VM으로 분산을 선택하고 계속을 클릭합니다.
  4. 부하 분산기의 이름에는 web-app-load-balancer를 입력합니다.

백엔드 구성

  1. 새 HTTP(S) 부하 분산기 페이지 왼쪽 패널에서 백엔드 구성을 클릭합니다.
  2. 백엔드 서비스 및 백엔드 버킷 만들기 또는 선택을 클릭하여 드롭다운 메뉴를 엽니다. 백엔드 서비스를 클릭한 다음 백엔드 서비스 만들기를 클릭합니다.
  3. 새 창에서 백엔드 애플리케이션의 이름web-app-backend를 입력합니다.
  4. 인스턴스 그룹load-balancing-web-app-group으로 설정합니다.
  5. 포트 번호80으로 설정합니다. 이렇게 하면 부하 분산기와 인스턴스 그룹 간의 HTTP 트래픽이 허용됩니다.
  6. 분산 모드에서 사용률을 선택합니다.
  7. 완료를 클릭하여 백엔드를 만듭니다.
  8. 부하 분산기의 백엔드에 대한 상태 확인을 생성합니다.

    1. 상태 확인의 드롭다운 메뉴에서 상태 확인 만들기(또는 다른 상태 확인 만들기)를 선택합니다. 새 창이 열립니다.
    2. 새 창의 이름web-app-load-balancer-check를 입력합니다.
    3. 프로토콜HTTP로 설정합니다.
    4. 포트80을 입력합니다.
    5. 이 가이드에서는 요청 경로를 데모 웹 애플리케이션이 응답하도록 설정된 경로인 /health로 설정합니다.
    6. 다음 상태 기준을 설정합니다.

      1. 확인 간격3초로 설정합니다. 이는 한 프로브의 시작부터 다른 프로브의 시작까지의 시간을 정의합니다.
      2. 시간 제한3초로 설정합니다. 이는 GCP가 프로브에 대한 응답을 대기하는 시간을 정의합니다. 해당 값은 확인 간격보다 작거나 같아야 합니다.
      3. 정상 기준2회 연속 성공으로 설정합니다. 이는 인스턴스가 정상으로 간주되도록 하기 위해 성공해야 하는 순차적 프로브의 수를 정의합니다.
      4. 비정상 기준2회 연속 실패로 설정합니다. 이는 인스턴스가 비정상으로 간주되도록 하기 위해 실패해야 하는 순차적 프로브의 수를 정의합니다.
    7. 저장 후 계속을 클릭하여 상태 확인을 만듭니다.

  9. 만들기를 클릭하여 백엔드 서비스를 만듭니다.

프런트엔드 구성

  1. 새 HTTP(S) 부하 분산기 페이지 왼쪽 패널에서 프런트엔드 구성을 클릭합니다.
  2. 프런트엔드 구성 페이지의 이름web-app-ipv4-frontend를 입력합니다.
  3. 프로토콜HTTP로 설정합니다.
  4. IP 버전IPv4로 설정합니다.
  5. IP 주소web-app-ipv4로 설정합니다.
  6. 포트80으로 설정합니다.
  7. 완료를 클릭하여 프런트엔드를 만듭니다.

검토 및 완료

  1. 부하 분산기를 만들기 전에 부하 분산 설정을 확인합니다.

    1. 새 HTTP(S) 부하 분산기 페이지 왼쪽 패널에서 검토 및 완료를 클릭합니다.
    2. 검토 및 완료 페이지에서 다음 백엔드 설정을 확인합니다.

      • 백엔드 서비스web-app-backend입니다.
      • 엔드포인트 프로토콜HTTP입니다.
      • 상태 확인web-app-load-balancer-check입니다.
      • 인스턴스 그룹load-balancing-web-app-group입니다.
    3. 같은 페이지에서 프런트엔드HTTP 프로토콜의 IP 주소를 사용하는지 확인합니다.

  2. 새 HTTP(S) 부하 분산기 페이지의 왼쪽 패널에서 만들기를 클릭하여 부하 분산기 만들기를 마칩니다.

부하 분산기 만들기가 완료될 때까지 몇 분 정도 기다려야 할 수 있습니다.

영역 장애 시뮬레이션

영역 장애로 인한 광범위한 사용 불능 상황을 시뮬레이션하여 부하 분산기의 기능을 관찰할 수 있습니다. 이 시뮬레이션은 지정된 영역에 위치한 모든 인스턴스를 대상으로 /health 요청 경로에 비정상 상태를 보고하도록 강제하는 방법으로 실행됩니다. 이러한 인스턴스는 비정상 상태를 보고할 때 부하 분산 상태 확인을 실패 처리하고 부하 분산기에 해당 인스턴스로의 트래픽 전달을 중지하도록 합니다.

  1. 부하 분산기가 트래픽을 전달하는 영역을 모니터링합니다.

    1. GCP Console에서 Cloud Shell을 사용하여 터미널을 엽니다.

      Cloud Shell 열기

      GCP Console 하단에 Cloud Shell이 열립니다. 세션이 초기화되는 데 몇 초 정도 걸릴 수 있습니다.

    2. 부하 분산기의 고정 외부 IP 주소를 저장합니다.

      1. 터미널에 다음 명령어를 입력하여 부하 분산기의 프런트엔드 전달 규칙에서 외부 IP 주소를 가져옵니다.

        gcloud compute forwarding-rules list | grep web-app-ipv4-frontend
        

        출력에서 EXTERNAl_IP_ADDRESS를 복사합니다.

        web-server-ipv4-frontend    EXTERNAl_IP_ADDRESS    TCP    web-app-load-balancer-target-proxy
        
      2. 로컬 bash 변수를 만듭니다.

        export LOAD_BALANCER_IP=EXTERNAl_IP_ADDRESS
        

        여기서 EXTERNAl_IP_ADDRESS는 복사한 외부 IP 주소입니다.

    3. 부하 분산기가 트래픽을 전달하는 영역을 모니터링하려면 다음 bash 스크립트를 실행합니다.

      while true
      do
              BODY=$(curl -s "$LOAD_BALANCER_IP")
              NAME=$(echo -n "$BODY" | grep "load-balancing-web-app-group" | perl -pe 's/.+?load-balancing-web-app-group-(.+?)<.+/\1/')
              ZONE=$(echo -n "$BODY" | grep "us-" | perl -pe 's/.+?(us-.+?)<.+/\1/')
      
              echo $ZONE
      done
      

      이 스크립트는 부하 분산기 프런트엔드의 IP 주소를 통해 지속적으로 웹 애플리케이션 연결을 시도하고, 각 연결에 대해 웹 애플리케이션이 실행되는 영역을 출력합니다.

      결과 출력에는 영역 us-central1-b, us-central1-c, us-central1-f가 포함되어야 합니다.

      us-central1-f
      us-central1-b
      us-central1-c
      us-central1-f
      us-central1-f
      us-central1-c
      us-central1-f
      us-central1-c
      us-central1-c
      

      이 터미널을 열어 두세요.

  2. 모니터링이 실행되는 동안 영역 장애 시뮬레이션을 시작합니다.

    1. Cloud Shell에서 추가 버튼을 클릭하여 두 번째 터미널 세션을 엽니다.
    2. 프로젝트 ID에 대한 로컬 bash 변수를 만듭니다.

      export PROJECT_ID=PROJECT_ID
      

      여기서 PROJECT_ID는 Cloud Shell의 각 새 줄에 표시되는 현재 프로젝트의 프로젝트 ID입니다.

      user@cloudshell:~ (PROJECT_ID)$
      
    3. 사용 중지하려는 영역에 대해 로컬 bash 변수를 만듭니다. us-central1-f 영역의 장애를 시뮬레이션하려면 다음 명령어를 사용합니다.

      export DISABLE_ZONE=us-central1-f
      

      이후 다음 bash 스크립트를 실행합니다. 이 스크립트는 사용 중지된 영역의 데모 웹 애플리케이션 인스턴스가 부하 분산기 상태 확인에 비정상 응답을 출력하도록 합니다. 비정상 응답은 부하 분산기에서 해당 인스턴스로 트래픽을 전달하지 않도록 합니다.

      export MACHINES=$(gcloud --project=$PROJECT_ID compute instances list --filter="zone:($DISABLE_ZONE)" --format="csv(name,networkInterfaces[0].accessConfigs[0].natIP)" | grep "load-balancing-web-app-group")
      for i in $MACHINES;
      do
        NAME=$(echo "$i" | cut -f1 -d,)
        IP=$(echo "$i" | cut -f2 -d,)
        echo "Simulating zonal failure for zone $DISABLE_ZONE, instance $NAME"
        curl -q -s "http://$IP/makeUnhealthy" >/dev/null --retry 2
      done
      

      짧은 지연 후 부하 분산기는 비정상 영역으로의 트래픽 전달을 중지하므로 첫 번째 터미널 창의 출력에서 us-central1-f 영역의 나열이 중지됩니다.

      us-central1-c
      us-central1-c
      us-central1-c
      us-central1-b
      us-central1-b
      us-central1-c
      us-central1-b
      us-central1-c
      us-central1-c
      

      이는 부하 분산기가 정상적이고 응답하는 인스턴스로만 트래픽을 전달하고 있음을 나타냅니다.

      두 터미널 모두 열어 둡니다.

    4. 두 번째 터미널에서 복원할 영역에 대한 로컬 bash 변수를 만듭니다. us-central1-f 영역으로 트래픽을 복원하려면 다음 명령어를 사용합니다.

      export ENABLE_ZONE=us-central1-f
      

      이후 다음 bash 스크립트를 실행합니다. 이 스크립트는 사용 설정된 영역의 데모 웹 애플리케이션 인스턴스가 부하 분산기 상태 확인에 정상 응답을 출력하도록 합니다. 정상 응답은 부하 분산기에서 이러한 인스턴스로 트래픽 분배를 다시 시작하도록 합니다.

      export MACHINES=$(gcloud --project=$PROJECT_ID compute instances list --filter="zone:($ENABLE_ZONE)" --format="csv(name,networkInterfaces[0].accessConfigs[0].natIP)" | grep "load-balancing-web-app-group")
      for i in $MACHINES;
      do
        NAME=$(echo "$i" | cut -f1 -d,)
        IP=$(echo "$i" | cut -f2 -d,)
        echo "Simulating zonal restoration for zone $ENABLE_ZONE, instance $NAME"
        curl -q -s "http://$IP/makeHealthy" >/dev/null --retry 2
      done
      

      몇 분 후 첫 번째 터미널 창의 출력에 us-central1-f 영역이 서서히 다시 나열됩니다.

      us-central1-b
      us-central1-b
      us-central1-c
      us-central1-f
      us-central1-c
      us-central1-c
      us-central1-b
      us-central1-c
      us-central1-f
      

      이는 부하 분산기가 수신 트래픽을 다시 모든 영역으로 전달하고 있음을 나타냅니다.

      마치면 두 터미널을 모두 닫습니다.

(선택사항) 수신 트래픽 제한

리전 관리형 인스턴스 그룹을 만들 때 외부 임시 IP 주소를 통해 직접 각 인스턴스에 액세스할 수 있습니다. 그러나 이제 부하 분산기와 고정 외부 IP 주소를 준비했으므로 네트워크 방화벽을 수정하여 수신 트래픽이 부하 분산기를 반드시 거치도록 하는 것이 좋습니다.

수신 트래픽을 부하 분산기로 제한하려면 네트워크 방화벽을 수정하여 각 인스턴스의 임시 외부 IP 주소를 사용 중지합니다.

  1. 방화벽 규칙을 편집하여 부하 분산기를 통해서만 웹 애플리케이션에 액세스할 수 있도록 HTTP 트래픽을 제한합니다.

    1. GCP Console에서 방화벽 페이지로 이동합니다.
      방화벽 페이지로 이동
    2. 이름에서 allow-web-app-http를 클릭합니다.
    3. 수정을 클릭합니다.
    4. 소스 IP 범위를 수정하여 상태 확인 프로브만 허용합니다.

      1. 0.0.0.0/0을 삭제합니다.
      2. 같은 줄에서 130.211.0.0/22를 입력하고 Tab을 누릅니다.
      3. 같은 줄에서 35.191.0.0/16을 입력하고 Tab을 누릅니다.
    5. 저장을 클릭합니다.

  2. 특정 인스턴스에 대해 임시 외부 IP 주소를 통해 웹 애플리케이션에 연결할 수 없음을 확인합니다.

    1. GCP Console에서 인스턴스 그룹 페이지로 이동합니다.
      인스턴스 그룹 페이지로 이동
    2. load-balancing-web-app-group을 클릭하여 해당 그룹의 인스턴스를 확인합니다.
    3. 외부 IP에서 해당 인스턴스를 연결할 IP 주소를 클릭합니다. 새 브라우저 탭이 열리지만 웹 애플리케이션은 열리지 않습니다. (최종적으로 이 페이지에는 시간 제한 오류가 표시됩니다.)

      작업을 마치면 인스턴스의 브라우저 탭을 닫습니다.

  3. 부하 분산기를 통해 웹 애플리케이션에 연결할 수 있는지 확인합니다.

    1. GCP Console에서 부하 분산 페이지로 이동합니다.
      부하 분산 페이지로 이동
    2. 이름에서 web-app-load-balancer를 클릭하여 방금 만든 부하 분산기를 확장합니다.
    3. 외부 고정 IP 주소를 통해 웹 앱에 연결하려면 프런트엔드IP:포트 아래에서 IP 주소를 복사합니다. 그런 다음 새 브라우저 탭을 열고 주소 표시줄에 IP 주소를 붙여넣습니다. 이렇게 하면 데모 웹 애플리케이션이 표시될 것입니다.

      데모 웹 애플리케이션의 스크린샷

      페이지를 새로고칠 때마다 부하 분산기가 다른 영역의 다른 인스턴스에 연결되는 것을 볼 수 있습니다. 이렇게 되는 이유는 인스턴스에 직접 연결하는 것이 아니라 부하 분산기에 연결하고, 리디렉션되는 인스턴스를 부하 분산기가 선택하기 때문입니다.

      작업을 마치면 데모 웹 애플리케이션의 브라우저 탭을 닫습니다.

삭제

부하 분산 가이드를 완료한 후에는 할당량을 차지하지 않고 이후에 요금이 청구되지 않도록 GCP에서 만든 리소스를 삭제할 수 있습니다. 다음 섹션에서는 리소스를 삭제하거나 사용 중지하는 방법을 설명합니다.

이 가이드용으로 별도의 프로젝트를 만든 경우 전체 프로젝트를 삭제합니다. 그렇지 않고 프로젝트에 유지하려는 리소스가 있는 경우 이 가이드에서 만든 리소스만 삭제합니다.

프로젝트 삭제

  1. GCP Console에서 프로젝트 페이지로 이동합니다.

    프로젝트 페이지로 이동

  2. 프로젝트 목록에서 삭제할 프로젝트를 선택하고 삭제 삭제를 클릭합니다.
  3. 대화상자에서 프로젝트 ID를 입력한 다음 종료를 클릭하여 프로젝트를 삭제합니다.

특정 리소스 삭제

부하 분산기 삭제

  1. GCP Console에서 부하 분산 페이지로 이동합니다.
    부하 분산 페이지로 이동
  2. web-app-load-balancer 옆의 체크박스를 클릭합니다.
  3. 페이지 상단의 삭제 를 클릭합니다.
  4. 새 창에서 모든 체크박스를 선택합니다. 그런 다음 부하 분산기 및 선택한 리소스 삭제를 클릭하여 삭제를 확인합니다.

고정 외부 IP 주소 삭제

  1. GCP Console에서 외부 IP 주소 페이지로 이동합니다.
    외부 IP 주소 페이지로 이동
  2. web-app-ipv4 옆의 체크박스를 클릭합니다.
  3. 페이지 상단의 고정 주소 해제 를 클릭합니다. 새 창에서 삭제를 클릭하여 삭제를 확인합니다.

인스턴스 그룹 삭제

  1. GCP Console에서 인스턴스 그룹 페이지로 이동합니다.

    인스턴스 그룹 페이지로 이동

  2. 다음 옆에 있는 체크박스를 클릭합니다. load-balancing-web-app-group 인스턴스 그룹
  3. 페이지 상단의 삭제 delete를 클릭하여 인스턴스 그룹을 삭제합니다.

인스턴스 템플릿 삭제

  1. GCP Console에서 인스턴스 템플릿 페이지로 이동합니다.

    인스턴스 템플릿 페이지로 이동

  2. load-balancing-web-app-template 옆의 체크박스를 클릭합니다.

  3. 페이지 상단의 삭제 를 클릭합니다. 새 창에서 삭제를 클릭하여 삭제를 확인합니다.

VPC 네트워크 삭제

  1. GCP Console에서 VPC 네트워크 페이지로 이동합니다.

    VPC 네트워크 페이지로 이동

  2. web-app-vpc를 클릭합니다.

  3. 페이지 상단의 삭제 를 클릭합니다. 새 창에서 삭제를 클릭하여 삭제를 확인합니다.

다음 단계

이 페이지가 도움이 되었나요? 평가를 부탁드립니다.

다음에 대한 의견 보내기...

Compute Engine 문서