로드 중...
검색 결과가 없습니다.

Google Cloud 콘솔에서 기술 적용

02

Google Cloud Compute and Scalability for Azure Professionals

700개 이상의 실습 및 과정 이용하기

자동 확장 기능을 갖춘 애플리케이션 부하 분산기 구성(Azure)

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

네트워킹 전문가로서 가상 네트워크에서 실행되는 웹 서버 집합에 대해 내부 부하 분산기를 구현하는 작업을 수행해야 합니다. 웹 서버는 많은 양의 트래픽을 수신하므로 트래픽이 서버 전체에 고르게 분산되도록 해야 합니다. 웹 애플리케이션에 대해 자동 확장 기능을 갖춘 애플리케이션 부하 분산기(HTTP)를 구성해야 합니다. 하루 중 웹 애플리케이션의 트래픽이 많은 특정 시간대에 다운타임 없이 트래픽을 처리할 수 있도록 해야 합니다.

Azure에서 자동 확장 기능을 갖춘 HTTP 부하 분산기를 구성하기 위해 수행할 수 있는 단계는 다음과 같습니다.

  1. 가상 머신 확장 집합(VMSS) 만들기
  2. 자동 확장 구성: 수요에 따라 VMSS의 VM 수를 자동으로 늘리거나 줄일 수 있습니다.
  3. 공개 IP 주소 만들기: 공개 IP 주소가 트래픽을 부하 분산기로 라우팅하도록 허용합니다.
  4. Azure 부하 분산기 만들기: VM에 트래픽을 전송하기 전에 VM의 상태를 점검하는 상태 프로브를 사용하도록 부하 분산기를 구성합니다.
  5. 자동 확장 기능을 갖춘 Azure 부하 분산기 구성: 필요에 따라 부하 분산기 수를 자동으로 늘리거나 줄이는 규칙을 정의합니다.
  6. DNS 레코드 구성: 백엔드 풀 공개 IP 주소를 가리키도록 웹 애플리케이션의 DNS 레코드를 업데이트합니다.

네트워크 다이어그램 지금부터는 가용성이 높고 확장 가능한 솔루션을 빌드하는 데 도움이 되는 Google Cloud의 다양한 서비스를 살펴보겠습니다.

개요

애플리케이션 부하 분산(HTTP/HTTPS)은 전 세계 Google 접속 지점(POP)의 Google 네트워크 에지에서 구현됩니다. 애플리케이션 부하 분산기(HTTP/HTTPS)로 전달된 사용자 트래픽은 사용자에게 가장 가까운 POP로 유입되고, 이어서 Google의 전역 네트워크를 통해 여유 용량이 충분한 가장 가까운 백엔드로 부하가 분산됩니다.

이 실습에서는 아래 다이어그램과 같이 애플리케이션 부하 분산기(HTTP)를 구성합니다. 그런 다음 부하 분산기를 스트레스 테스트하여 전역 부하 분산과 자동 확장을 시연합니다.

목표

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

  • 상태 점검 방화벽 규칙 만들기
  • Cloud Router를 사용하여 NAT 구성 만들기
  • 웹 서버의 커스텀 이미지 만들기
  • 커스텀 이미지 기반으로 인스턴스 템플릿 만들기
  • 관리형 인스턴스 그룹 2개 만들기
  • IPv4 및 IPv6로 애플리케이션 부하 분산기(HTTP) 구성
  • 애플리케이션 부하 분산기(HTTP) 스트레스 테스트

각 실습에서는 정해진 기간 동안 새 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. 상태 점검 방화벽 규칙 구성

이 작업에서는 인스턴스에 대한 상태 점검 트래픽을 허용하는 방화벽 규칙을 구성합니다.

상태 점검을 통해 새 연결을 수신할 수 있는 애플리케이션 부하 분산기(HTTP) 인스턴스를 판별합니다. 130.211.0.0/2235.191.0.0/16 범위 내 주소에서 부하 분산 인스턴스의 상태 점검 프로브를 가져옵니다. 방화벽 규칙은 이 연결을 허용해야 합니다.

상태 점검 규칙 만들기

상태 점검을 허용하는 방화벽 규칙을 만듭니다.

  1. Cloud 콘솔의 탐색 메뉴()에서 VPC 네트워크 > 방화벽을 클릭합니다.
    기존 ICMP, 내부, RDP, SSH 방화벽 규칙을 확인합니다.

    각 Google Cloud 프로젝트는 기본 네트워크와 이러한 방화벽 규칙으로 시작합니다.

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

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

    속성 값(지정된 대로 값 입력 또는 옵션 선택)
    이름 fw-allow-health-checks
    네트워크 기본값
    대상 지정된 대상 태그
    대상 태그 allow-health-checks
    소스 필터 IPv4 범위
    소스 IPv4 범위 130.211.0.0/22 및 35.191.0.0/16
    프로토콜 및 포트 지정된 프로토콜 및 포트
참고: 소스 IP 범위/22/16을 포함해야 합니다.
  1. tcp를 선택하고 포트 80을 지정합니다.
  2. 만들기를 클릭합니다.

내 진행 상황 확인하기를 클릭하여 목표를 확인합니다. 상태 점검 방화벽 규칙 구성

작업 2. Cloud Router를 사용하여 NAT 구성 만들기

이 작업에서는 Cloud Router 인스턴스를 만들고 Cloud NAT 게이트웨이를 구성하여 VM 인스턴스의 아웃바운드 인터넷 연결을 사용 설정합니다.

작업 3에서 설정하는 Google Cloud VM 백엔드 인스턴스는 외부 IP 주소로 구성되지 않습니다.

대신 Cloud NAT 서비스를 설정하여 이러한 VM 인스턴스에서 아웃바운드 트래픽은 Cloud NAT를 통해서만 전송하고 인바운드 트래픽은 부하 분산기를 통해 수신할 수 있도록 합니다.

Cloud Router 인스턴스 만들기

  1. Google Cloud 콘솔 제목 표시줄의 검색창에 네트워크 서비스를 입력한 다음, 네트워크 관리 도구 섹션에서 네트워크 서비스를 클릭합니다.

  2. 네트워크 서비스 페이지에서 '네트워크 서비스' 옆의 고정을 클릭합니다.

  3. Cloud NAT를 클릭합니다.

  4. 시작하기를 클릭하여 NAT 게이트웨이를 구성합니다.

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

    속성 값(지정된 대로 값 입력 또는 옵션 선택)
    게이트웨이 이름 nat-config
    네트워크 기본값
    리전
  6. Cloud Router를 클릭하고 새 라우터 만들기를 선택합니다.

  7. 이름nat-router-us1을 입력합니다.

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

  9. NAT 게이트웨이 만들기에서 만들기를 클릭합니다.

참고: NAT 게이트웨이 상태가 '실행 중'으로 변경되면 다음 작업으로 넘어갑니다.

내 진행 상황 확인하기를 클릭하여 목표를 확인합니다. Cloud Router를 사용하여 NAT 구성 만들기

작업 3. 웹 서버의 커스텀 이미지 만들기

이 작업에서는 부하 분산기 백엔드를 위한 커스텀 웹 서버 이미지를 만듭니다.

VM 만들기

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

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

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

    속성 값(지정된 대로 값 입력 또는 옵션 선택)
    이름 webserver
    리전
    영역
  4. OS 및 스토리지를 클릭한 다음 변경을 클릭합니다.

  5. 고급 구성 표시를 클릭합니다.

  6. 삭제 규칙에서 부팅 디스크 유지를 선택합니다.

  7. 선택을 클릭합니다.

  8. 네트워킹을 클릭합니다.

    • 네트워크 태그allow-health-checks를 입력합니다.
    • 네트워크 인터페이스에서 기본값을 클릭합니다.
    • 외부 IPv4 주소 드롭다운에서 없음을 선택합니다.
  9. 완료를 클릭합니다.

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

VM 맞춤설정

  1. webserver의 경우 SSH를 클릭하여 터미널을 실행하고 연결합니다.
  2. 메시지가 표시되면 '브라우저에서 SSH를 통해 연결'이 VM에 연결하도록 허용하고 승인을 클릭합니다.
  3. Apache2를 설치하려면 다음 명령어를 실행합니다.
sudo apt-get update sudo apt-get install -y apache2
  1. Apache 서버를 시작하려면 다음 명령어를 실행합니다.
sudo service apache2 start
  1. Apache2 서버의 기본 페이지를 테스트하려면 다음 명령어를 실행합니다.
curl localhost

Apache2 서버의 기본 페이지가 표시됩니다.

Apache 서비스가 부팅 시 시작되도록 설정

소프트웨어 설치가 완료되었습니다. 그러나 이 이미지를 사용하여 새 VM을 만들면 새로 부팅된 VM에서 실행 중인 Apache 웹 서버가 없습니다. 다음 명령어를 사용하여 Apache 서비스가 부팅 시 자동으로 시작되도록 설정합니다. 그런 다음 제대로 작동하는지 테스트합니다.

  1. webserver SSH 터미널에서 서비스가 부팅 시 시작되도록 설정합니다.
sudo update-rc.d apache2 enable
  1. Cloud 콘솔에서 webserver를 선택한 후 작업 더보기 를 클릭합니다.

  2. 재설정을 클릭합니다.

  3. 확인 대화상자에서 재설정을 클릭합니다.

참고: 재설정하면 머신이 중지되었다가 재부팅됩니다. IP와 영구 부팅 디스크는 동일하게 유지되지만 메모리는 완전 삭제됩니다. 따라서 재설정 후 Apache 서비스를 사용할 수 있다면 update-rc 명령어가 제대로 실행된 것입니다.
  1. SSH를 통해 VM에 연결하고 다음 명령어를 입력하여 서버 상태를 점검합니다.
sudo service apache2 status 참고: Cloud Identity-Aware Proxy를 통한 연결 실패 팝업이 표시되면 다시 시도를 클릭합니다.
  1. 결과에 Apache HTTP 서버 시작됨이 표시됩니다.

커스텀 이미지를 만들 디스크 준비

인스턴스가 삭제될 때 부팅 디스크도 삭제되지 않는지 확인합니다.

  1. VM 인스턴스 페이지에서 webserver를 클릭하여 VM 인스턴스 세부정보를 확인합니다.
  2. 스토리지 > 부팅 디스크에서 인스턴스 삭제 시디스크 유지로 설정되어 있는지 확인합니다.
  3. VM 인스턴스 페이지로 돌아가 webserver를 선택한 후 작업 더보기()를 클릭합니다.
  4. 삭제를 클릭합니다.
  5. 확인 대화상자에서 삭제를 클릭합니다.
  6. 왼쪽 창에서 디스크를 클릭하고 webserver 디스크가 있는지 확인합니다.

커스텀 이미지 만들기

  1. 왼쪽 창에서 이미지를 클릭합니다.

  2. 이미지 만들기를 클릭합니다.

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

    속성 값(지정된 대로 값 입력 또는 옵션 선택)
    이름 mywebserver
    소스 디스크
    소스 디스크 webserver
  4. 만들기를 클릭합니다.

참고: 같은 webserver가 여러 개 시작될 수 있는 커스텀 이미지를 만들었습니다. 이제 webserver 디스크를 삭제해도 됩니다.

다음 단계에서는 이 이미지를 사용하여 관리형 인스턴스 그룹에서 사용할 수 있는 인스턴스 템플릿을 정의합니다.

내 진행 상황 확인하기를 클릭하여 목표를 확인합니다. 웹 서버의 커스텀 이미지 만들기

작업 4. 인스턴스 템플릿 구성 및 인스턴스 그룹 만들기

이 작업에서는 인스턴스 템플릿을 구성하고 부하 분산된 웹 서버의 관리형 인스턴스 그룹을 만듭니다.

관리형 인스턴스 그룹에서는 인스턴스 템플릿을 사용하여 동일한 인스턴스 그룹을 만들 수 있습니다. 이를 사용하여 HTTP 부하 분산기의 백엔드를 만듭니다.

인스턴스 템플릿 구성

인스턴스 템플릿은 VM 인스턴스 및 관리형 인스턴스 그룹을 만드는 데 사용할 수 있는 API 리소스입니다. 인스턴스 템플릿은 머신 유형과 부팅 디스크 이미지, 서브넷, 라벨, 기타 인스턴스 속성을 정의합니다.

  1. Google Cloud 콘솔의 탐색 메뉴()에서 Compute Engine > 인스턴스 템플릿을 클릭합니다.
  2. 인스턴스 템플릿 만들기를 클릭합니다.
  3. 이름mywebserver-template을 입력합니다.
  4. 위치에서 전역을 선택합니다.
  5. 시리즈에서 E2를 선택합니다.
  6. 머신 유형 > 공유 코어에서 e2-micro(vCPU 2개, 코어 1개, 1GB 메모리)를 선택합니다.
  7. 부팅 디스크에서 변경을 클릭합니다.
  8. 커스텀 이미지를 클릭하고 이미지용 소스 프로젝트에서 Qwiklabs 프로젝트 ID가 선택되어 있는지 확인합니다.
  9. 이미지에서 mywebserver를 선택합니다.
  10. 선택을 클릭합니다.
  11. 고급 옵션을 클릭합니다.
  12. 네트워킹을 클릭합니다.
    • 네트워크 태그allow-health-checks를 입력합니다.
    • 네트워크 인터페이스에서 기본값을 클릭합니다.
    • 외부 IPv4 주소 드롭다운에서 없음을 선택합니다.
    • 완료를 클릭합니다.
  13. 만들기를 클릭합니다.

관리형 인스턴스 그룹의 상태 점검 만들기

  1. 탐색 메뉴에서 Compute Engine > 상태 점검을 클릭합니다.

  2. 상태 점검 만들기를 클릭합니다.

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

    속성 값(지정된 대로 옵션 선택)
    이름 http-health-check
    프로토콜 TCP
    포트 80
  4. 만들기를 클릭합니다.

관리형 인스턴스 그룹 상태 점검은 비정상 상태가 된 인스턴스를 삭제하고 다시 만들라는 신호를 선제적으로 보냅니다.

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

에 관리형 인스턴스 그룹을 하나씩 만듭니다.

  1. 탐색 메뉴에서 Compute Engine > 인스턴스 그룹을 클릭합니다.

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

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

    속성 값(지정된 대로 값 입력 또는 옵션 선택)
    이름 us-1-mig
    인스턴스 템플릿 mywebserver-template
    위치 다중 영역
    리전
  4. 자동 확장에서 최소 인스턴스 수로 1, 최대 인스턴스 수로 2를 입력합니다.

  5. 자동 확장 신호에서 CPU 사용률을 클릭합니다.

  6. 신호 유형에서 HTTP 부하 분산 사용률을 선택합니다.

  7. 목표 HTTP 부하 분산 사용률을 80으로 입력합니다.

  8. 완료를 클릭합니다.

  9. 초기화 기간을 클릭하고 60초로 설정합니다.

참고: 관리형 인스턴스 그룹은 부하가 증가하거나 감소함에 따라 관리형 인스턴스 그룹에서 인스턴스를 자동으로 추가하거나 삭제할 수 있는 자동 확장 기능을 제공합니다. 자동 확장을 사용하면 애플리케이션은 증가한 트래픽을 원활하게 처리할 수 있게 되며 리소스 수요가 적을 때 비용을 절감할 수 있습니다. 자동 확장 정책을 정의하기만 하면 됩니다. 그러면 측정된 부하에 따라 자동 확장 처리에서 자동 확장을 실행합니다.
  1. 자동 복구상태 점검http-health-check를 입력합니다.

  2. http-health-check(TCP)를 선택합니다.

  3. 초기 지연60을 입력합니다. 이는 VM 부팅을 초기화한 후 인스턴스 그룹이 상태 점검을 시도할 때까지 기다리는 시간입니다. 실습 중에는 상태 점검을 위해 5분 기다리지 않아도 되도록 1분으로 설정합니다.

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

  5. 대화상자 창에서 확인을 클릭합니다.

참고: 인스턴스 그룹이 생성될 때까지 몇 분간 기다린 후 notus-1-mig에 대해 동일한 절차를 반복하세요. 상태가 변환 중으로 변경될 때까지 새로고침 아이콘을 클릭하세요. 참고: 인스턴스 그룹에 연결된 백엔드 서비스가 없습니다라는 경고 창이 표시되거나 생성된 인스턴스 그룹 왼쪽에 빨간색 느낌표가 표시되면 무시하세요. 다음 실습 섹션에서 백엔드 서비스로 부하 분산기를 구성합니다.
  1. 인스턴스 그룹 만들기를 클릭합니다.

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

    속성 값(지정된 대로 값 입력 또는 옵션 선택)
    이름 notus-1-mig
    인스턴스 템플릿 mywebserver-template
    위치 다중 영역
    리전
    자동 확장 > 최소 인스턴스 수 1
    자동 확장 > 최대 인스턴스 수 2
    자동 확장 신호 > 신호 유형 HTTP 부하 분산 사용률
    목표 HTTP 부하 분산 사용률 80
    초기화 기간 60
  3. 상태 점검에서 http-health-check(TCP)를 선택합니다.

  4. 초기 지연60을 입력합니다.

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

  6. 대화상자 창에서 확인을 클릭합니다.

내 진행 상황 확인하기를 클릭하여 목표를 확인합니다. 인스턴스 템플릿 구성 및 인스턴스 그룹 만들기

백엔드 확인

VM 인스턴스가 두 리전에서 모두 만들어지고 있는지 확인합니다.

  • 탐색 메뉴에서 Compute Engine > VM 인스턴스를 클릭합니다.
    us-1-mignotus-1-mig로 시작하는 인스턴스를 확인합니다. 이러한 인스턴스는 관리형 인스턴스 그룹의 일부입니다.

작업 5. HTTP 부하 분산기 구성

이 작업에서는 네트워크 다이어그램에 설명된 대로 두 백엔드(us-1-mignotus-1-mig) 간에 트래픽을 분산하도록 애플리케이션 부하 분산기(HTTP)를 구성합니다.

구성 시작

  1. 탐색 메뉴에서 네트워크 서비스 > 부하 분산을 클릭합니다.
  2. 부하 분산기 만들기를 클릭합니다.
  3. 부하 분산기 유형에서 애플리케이션 부하 분산기(HTTP/HTTPS)를 선택하고 다음을 클릭합니다.
  4. 공개 또는 내부에서 공개(외부)를 선택하고 다음을 클릭합니다.
  5. 전역 또는 단일 리전 배포에서 전역 워크로드에 적합을 선택하고 다음을 클릭합니다.
  6. 부하 분산기 생성에서 전역 외부 애플리케이션 부하 분산기를 선택하고 다음을 클릭합니다.
  7. 부하 분산기 만들기에서 구성을 클릭합니다.
  8. 부하 분산기 이름http-lb를 입력합니다.

프런트엔드 구성

호스트 및 경로 규칙은 트래픽의 전달 방식을 결정합니다. 예를 들어 동영상 트래픽을 한 백엔드에 전달하고 정적 트래픽을 다른 백엔드에 전달할 수 있습니다. 그러나 이 실습에서는 호스트 및 경로 규칙을 구성하지 않습니다.

  1. 프런트엔드 구성을 클릭합니다.

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

    속성 값(지정된 대로 값 입력 또는 옵션 선택)
    프로토콜 HTTP
    IP 버전 IPv4
    IP 주소 임시
    포트 80
  3. 완료를 클릭합니다.

  4. 프런트엔드 IP 및 포트 추가를 클릭합니다.

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

    속성 값(지정된 대로 값 입력 또는 옵션 선택)
    프로토콜 HTTP
    IP 버전 IPv6
    IP 주소 자동 할당
    포트 80
  6. 완료를 클릭합니다.

애플리케이션 부하 분산(HTTP/HTTPS)은 클라이언트 트래픽에 IPv4 주소와 IPv6 주소를 모두 지원합니다. 클라이언트 IPv6 요청은 전역 부하 분산 레이어에서 종료된 후 IPv4를 통해 백엔드로 프록시 처리됩니다.

백엔드 구성

백엔드 서비스는 수신 트래픽을 하나 이상의 연결된 백엔드에 전달합니다. 각 백엔드는 인스턴스 그룹과 추가 제공 용량 메타데이터로 구성됩니다.

  1. 백엔드 구성을 클릭합니다.

  2. 백엔드 서비스 및 백엔드 버킷 > 백엔드 서비스 만들기를 클릭합니다.

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

    속성 값(지정된 대로 옵션 선택)
    이름 http-backend
    백엔드 유형 인스턴스 그룹
    인스턴스 그룹 us-1-mig
    포트 번호 80
    분산 모드 Rate
    최대 RPS 50
    용량 100
참고: 이 구성은 부하 분산기가 us-1-mig의 각 인스턴스를 초당 요청수(RPS) 50회 이하로 유지하려고 함을 의미합니다.
  1. 완료를 클릭합니다.

  2. 백엔드 추가를 클릭합니다.

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

    속성 값(지정된 대로 옵션 선택)
    인스턴스 그룹 notus-1-mig
    포트 번호 80
    분산 모드 Utilization
    최대 백엔드 사용률 80
    용량 100
참고: 이 구성은 부하 분산기가 notus-1-mig의 각 인스턴스를 CPU 사용률 80% 이하로 유지하려고 함을 의미합니다.
  1. 완료를 클릭합니다.
  2. 상태 점검에서 http-health-check를 선택합니다.
  3. 로깅 사용 설정 체크박스를 클릭하여 선택합니다.
  4. 샘플링 레이트1로 지정합니다.
  5. 만들기를 클릭합니다.
  6. 확인을 클릭합니다.

HTTP 부하 분산기 검토 및 만들기

  1. 검토 및 완료를 클릭합니다.
  2. 백엔드 서비스프런트엔드를 검토합니다.
  3. 만들기를 클릭합니다. 부하 분산기가 생성될 때까지 기다립니다.
  4. 부하 분산기 이름(http-lb)을 클릭합니다.
  5. 다음 작업을 위해 부하 분산기의 IPv4 및 IPv6 주소를 확인합니다. 각각 [LB_IP_v4][LB_IP_v6]라고 합니다.
참고: IPv6 주소는 16진수 형식입니다.

내 진행 상황 확인하기를 클릭하여 목표를 확인합니다. 애플리케이션 부하 분산기(HTTP) 구성

작업 6. 애플리케이션 부하 분산기(HTTP) 스트레스 테스트

이 작업에서는 애플리케이션 부하 분산기(HTTP)에 대한 스트레스 테스트를 실행하여 트래픽이 백엔드 서비스로 전달되는지 확인합니다.

애플리케이션 부하 분산기(HTTP)에 액세스

  1. Google Cloud 콘솔 제목 표시줄에서 Cloud Shell 활성화()를 클릭합니다.
  2. 메시지가 표시되면 계속을 클릭합니다.
  3. 부하 분산기의 상태를 확인하려면 [LB_IP_v4]를 부하 분산기의 IPv4 주소로 바꿔서 다음 명령어를 실행합니다.
LB_IP=[LB_IP_v4] while [ -z "$RESULT" ] ; do echo "Waiting for Load Balancer"; sleep 5; RESULT=$(curl -m1 -s $LB_IP | grep Apache); done 참고: 부하 분산기가 준비되면 명령어가 종료됩니다.
  1. 브라우저에서 새 탭을 열고 http://[LB_IP_v4]로 이동합니다. [LB_IP_v4]를 부하 분산기의 IPv4 주소로 바꿔야 합니다.

애플리케이션 부하 분산기(HTTP) 스트레스 테스트

애플리케이션 부하 분산기(HTTP)에서 부하를 시뮬레이션할 새 VM을 만듭니다. 그런 다음 부하가 클 때 두 백엔드에서 모두 트래픽이 분산되는지 확인합니다.

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

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

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

    속성 값(지정된 대로 값 입력 또는 옵션 선택)
    이름 stress-test
    리전 과(와) 다르지만 더 가까운 리전
    영역 리전의 영역
  4. 시리즈에서 E2를 선택합니다.

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

참고: 미국의 리전은 notus-1보다 에 더 가까우므로 트래픽이 us-1-mig로만 전달되어야 합니다(단, 부하가 너무 클 때는 예외).
  1. OS 및 스토리지를 클릭한 다음 변경을 클릭합니다.
  2. 커스텀 이미지를 클릭합니다.
  3. 커스텀 이미지를 클릭하고 이미지용 소스 프로젝트에서 Qwiklabs 프로젝트 ID가 선택되어 있는지 확인합니다.
  4. 이미지에서 mywebserver를 선택합니다.
  5. 선택을 클릭합니다.
  6. 만들기를 클릭합니다.
  7. stress-test 인스턴스가 만들어질 때까지 기다립니다.
  8. stress-test에서 SSH를 클릭하여 터미널 및 연결을 실행합니다.
  9. 메시지가 표시되면 '브라우저에서 SSH를 통해 연결'이 VM에 연결하도록 허용하고 승인을 클릭합니다.
  10. 부하 분산기 IP 주소의 환경 변수를 만들려면 다음 명령어를 실행합니다.
export LB_IP=<Enter your [LB_IP_v4] here>
  1. echo를 사용하여 확인합니다.
echo $LB_IP
  1. 부하 분산기에 부하를 가하려면 다음 명령어를 실행합니다.
ab -n 500000 -c 1000 http://$LB_IP/

내 진행 상황 확인하기를 클릭하여 목표를 확인합니다. 애플리케이션 부하 분산기(HTTP) 스트레스 테스트

  1. Cloud 콘솔의 탐색 메뉴()에서 네트워크 서비스 > 부하 분산을 클릭합니다.
  2. http-lb를 클릭합니다.
  3. 모니터링을 클릭합니다.
  4. 북미와 두 백엔드 간의 프런트엔드 위치(총 인바운드 트래픽)를 몇 분 동안 모니터링합니다.
참고: 처음에는 트래픽이 us-1-mig로만 전달되지만 RPS가 증가함에 따라 트래픽이 notus-1-mig로도 전달됩니다. 이를 통해 기본적으로 트래픽은 가장 가까운 백엔드로 전달되지만 부하가 매우 크면 백엔드 간에 트래픽이 분산되기도 함을 알 수 있습니다.
  1. Cloud 콘솔의 탐색 메뉴()에서 Compute Engine > 인스턴스 그룹을 클릭합니다.
  2. us-1-mig를 클릭하여 인스턴스 그룹 페이지를 엽니다.
  3. 모니터링을 클릭하여 인스턴스 수와 LB 용량을 모니터링합니다.
  4. notus-1-mig 인스턴스 그룹에도 같은 작업을 반복합니다.
참고: 부하에 따라, 부하를 수용하도록 백엔드가 확장되는 것을 확인할 수 있습니다.

작업 7. 검토

이 실습에서는 에 백엔드가 있는 애플리케이션 부하 분산기(HTTP)를 구성했습니다. 그런 다음 VM으로 애플리케이션 부하 분산기를 스트레스 테스트하여 전역 부하 분산과 자동 확장을 시연했습니다.

Azure에서 내부 부하 분산기를 구현하려면 가상 네트워크를 만들고, 백엔드 풀을 구성하고, 부하 분산기를 만들고, 상태 프로브를 구성하며, 잠재적으로 네트워크 주소 변환(NAT) 규칙을 구성해야 합니다. 내부 애플리케이션 부하 분산기와 Azure에서 이에 상응하는 Azure Internal Load Balancer는 모두 해당 클라우드 환경에서 작동하는 부하 분산 솔루션입니다. 그러나 이러한 두 부하 분산기 사이에는 몇 가지 유사점과 차이점이 있습니다. 유사점

  • 내부 애플리케이션 부하 분산기와 Azure Internal Load Balancer 모두 내부 네트워크 트래픽에 대한 부하 분산 기능을 제공합니다. 둘 다 TCP 및 UDP 프로토콜을 지원하며 가상 네트워크의 여러 가상 머신(VM)에서 실행되는 애플리케이션의 트래픽 부하를 분산할 수 있습니다.
  • 두 부하 분산기 모두 백엔드 VM의 상태를 모니터링하고 트래픽을 정상 인스턴스로 라우팅하는 상태 프로브를 제공합니다.

차이점

  • 내부 애플리케이션 부하 분산기는 HTTP/HTTPS 트래픽용으로 특별히 설계된 반면 Azure Internal Load Balancer는 프로토콜에 구애받지 않고 모든 TCP/UDP 트래픽을 처리할 수 있습니다.
  • 내부 애플리케이션 부하 분산기는 외부 트래픽에 Google Cloud의 네트워크 부하 분산기를 사용해야 하는 반면 Azure Internal Load Balancer는 Azure의 외부 부하 분산기와 함께 사용해야 합니다.
  • 내부 애플리케이션 부하 분산기는 완전 관리형 서비스인 반면 Azure Internal Load Balancer는 소유자가 수동으로 구성하고 관리해야 합니다.

요약하면 내부 애플리케이션 부하 분산기와 Azure Internal Load Balancer 모두 내부 네트워크 트래픽에 대한 부하 분산 기능을 제공하지만 프로토콜 지원, 외부 부하 분산 통합, 관리 방식, 리전별 가용성에 차이가 있습니다.

실습 종료

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

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

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

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

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

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

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

이전 다음

시작하기 전에

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

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

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

감사합니다

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

한 번에 실습 1개만 가능

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

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

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