3단계: 부하 분산기 만들기

이 단계에서는 애플리케이션 부하 분산기를 만들어 Cloud Run에서 호스팅되는 백엔드 인스턴스에 트래픽을 분산합니다. 부하 분산기 구성에서 부하 분산기가 트래픽을 전달하는 방식을 결정하는 라우팅 규칙을 정의합니다. 라우팅 규칙에는 외부 애플리케이션 부하 분산기의 URL 맵 구성 구성요소를 구성하는 호스트 규칙 및 경로 일치가 포함됩니다.

이 단계를 완료하려면 유효한 도메인 이름 또는 유효한 자체 관리형 인증서가 있어야 합니다.

Cloud Run 서비스의 부하 분산기 만들기

  1. Google Cloud 콘솔에서 부하 분산 페이지로 이동합니다.

    부하 분산으로 이동

  2. 부하 분산기 만들기를 클릭합니다.

  3. 부하 분산기 유형 섹션에서 애플리케이션 부하 분산기 (HTTP/HTTPS)를 클릭한 다음 다음을 클릭합니다.

  4. 공개 또는 내부 섹션에서 공개 (외부)를 클릭한 다음 다음을 클릭합니다.

  5. 전역 또는 단일 리전 배포 섹션에서 전역 워크로드에 적합을 클릭한 다음 다음을 클릭합니다.

  6. 부하 분산기 생성 섹션에서 전역 외부 애플리케이션 부하 분산기를 클릭한 다음 다음을 클릭합니다.

  7. 구성을 클릭합니다.

  8. 부하 분산기 이름 필드에 gemini-streamlit-app-lb을 입력합니다.

  9. 프런트엔드 구성, 백엔드 구성, 라우팅 규칙 섹션을 작성하여 부하 분산기를 구성합니다.

프런트엔드 구성

  1. 다음 프런트엔드 구성을 지정합니다.

    • 이름gemini-streamlit-app-frontend를 입력합니다.

    • 프로토콜: HTTPS (HTTP/2 및 HTTP/3 포함)를 선택합니다.

    • 네트워크 서비스 등급: 새로운 외부 정적 IP 주소를 예약하여 IP 주소를 설정합니다. 새 IP 주소를 예약할 때 이름으로 genai-app-ip를 지정합니다.

    • 인증서: 새 Google 관리형 인증서를 만들려면 다음 단계를 따르세요.

      1. 새 인증서 만들기를 클릭합니다.

      2. 다음 세부정보를 지정합니다.

        • 이름my-genai-app-certificate를 입력합니다.

        • 만들기 모드: Google 관리 인증서 만들기를 클릭합니다.

        • Domains(도메인): 인증서 프로비저닝을 위한 도메인 이름을 입력합니다.

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

      Google 관리형 SSL 인증서에 대한 자세한 내용은 Google 관리형 SSL 인증서 사용을 참고하세요.

    • HTTP-HTTPS 리디렉션 사용 설정 체크박스를 선택합니다.
  2. 완료를 클릭합니다.

  3. 백엔드 구성을 클릭하여 백엔드를 구성합니다.

백엔드 구성

  1. 백엔드 서비스 및 백엔드 버킷 목록을 클릭한 다음 다음 세부정보를 입력합니다.

    • 이름gemini-streamlit-app-backend를 입력합니다.

    • 백엔드 유형: 서버리스 네트워크 엔드포인트 그룹을 클릭합니다.

    • 백엔드: 새 백엔드 카드에서 다음 단계를 수행합니다.

      1. 서버리스 네트워크 엔드포인트 그룹 목록을 클릭한 다음 서버리스 네트워크 엔드포인트 그룹 만들기를 클릭합니다.

      2. 다음 세부정보를 입력합니다.

        • 이름streamlit-app-neg를 입력합니다.

        • 리전us-central1를 선택합니다.

        • 서버리스 네트워크 엔드포인트 그룹 유형: Cloud Run을 선택합니다.

        • 서비스 선택: gemini-streamlit-cloudrun Cloud Run 서비스를 선택합니다.

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

      4. 완료를 클릭합니다.

  2. Cloud CDN 사용 설정 체크박스를 선택 취소합니다.

  3. 정책 이름 상자에 default-security-policy-gemini-app-backend을 입력합니다.

  4. 만들기를 클릭한 다음 확인을 클릭합니다.

  5. 라우팅 규칙을 클릭하여 라우팅 규칙을 구성합니다.

라우팅 규칙

  1. 고급 호스트 및 경로 규칙을 클릭합니다.

  2. 호스트 및 경로 규칙 섹션에서 (기본값) 일치하지 않는 호스트의 경우 트래픽을 백엔드로 라우팅을 클릭한 후 다음 세부정보를 입력합니다.

    • 작업: 단일 백엔드로 트래픽 라우팅을 선택합니다.

    • 백엔드: gemini-streamlit-app-backend를 선택합니다.

  3. 완료를 클릭합니다.

  4. 호스트 및 경로 규칙 추가를 클릭하여 새 규칙을 추가합니다.

  5. 새 호스트 및 경로 규칙에서 다음 세부정보를 입력합니다.

    • 호스트: Google 관리 인증서를 만들 때 사용된 도메인 이름을 입력합니다.

    • 경로 일치자: 다음 URL 맵 구성을 복사합니다.

      defaultService: projects/PROJECT_ID/global/backendServices/gemini-streamlit-app-backend
      name: matcher1
      routeRules:
        - matchRules:
            - prefixMatch: /gemini-streamlit-app
          priority: PRIORITY
          routeAction:
            weightedBackendServices:
              - backendService: projects/PROJECT_ID/global/backendServices/gemini-streamlit-app-backend
                weight: 100
      

      다음을 바꿉니다.

      • PROJECT_ID: Google Cloud 프로젝트 ID입니다.

      • PRIORITY: 라우팅 규칙이 평가되는 백엔드 서비스의 우선순위를 지정합니다. 이 시나리오에서는 백엔드 서비스를 하나만 만들었으므로 이 값을 임의의 값으로 설정합니다.

  6. 완료를 클릭합니다.

  7. 검토 및 완료를 클릭하여 구성을 검토하고 부하 분산기를 만듭니다.

검토 및 완료

  1. 부하 분산기 구성을 검토합니다.

  2. 부하 분산기를 만들려면 만들기를 클릭합니다.

도메인 DNS 레코드에 IP 주소 추가

부하 분산기용으로 생성된 예약된 IP 주소를 가리키도록 도메인의 DNS 레코드를 업데이트합니다. 이 단계를 완료하려면 도메인 관리자에게 문의해야 할 수도 있습니다.