컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.

부하 분산기에 Private Service Connect NEG 추가

Private Service Connect를 소비자 HTTP(S) 서비스 제어와 함께 사용하면 정책 시행을 위한 부하 분산기를 사용하여 지원되는 서비스에 연결할 수 있습니다. Private Service Connect 네트워크 엔드포인트 그룹(NEG)에 매핑된 전달 규칙을 통해 서비스에 연결합니다.

지원되는 서비스 및 구성에 대한 자세한 내용은 소비자 HTTP(S) 제어로 Private Service Connect를 참조하세요.

이 페이지에서는 Google API 또는 게시된 서비스에 액세스하기 위해 기존 HTTP(S) 부하 분산기에 Private Service Connect NEG를 추가하는 방법을 보여줍니다.

HTTP(S) 부하 분산기 만들기를 포함한 안내는 다음을 참조하세요.

역할

Compute 부하 분산기 관리자 역할(roles/compute.loadBalancerAdmin)에는 이 가이드에서 설명하는 태스크를 수행하는 데 필요한 권한이 포함되어 있습니다.

시작하기 전에

  1. 연결하려는 API 또는 서비스를 확인합니다.

    • Google API의 경우:

    • 관리형 서비스의 경우:

      • 자체 서비스를 게시하려면 관리형 서비스 게시를 참조하세요.

      • Google Cloud 또는 타사 관리형 서비스에 연결하려면 제작자에게 다음 정보를 문의합니다.

        • 연결하려는 서비스에 대한 서비스 연결 URI

        • 요청을 전송하는 데 사용하는 DNS 이름의 요구사항. URL 맵 구성에 특정 DNS 이름을 사용해야 할 수도 있습니다.

  2. 연결하려는 서비스를 지원하는 부하 분산기 유형을 확인합니다. 자세한 내용은 지원되는 부하 분산기 및 대상을 참조하세요.

Private Service Connect NEG 만들기

게시된 서비스를 가리키는 NEG를 만드는 경우 서비스에 대해 서비스 연결 URI가 필요합니다. 서비스 연결 형식: projects/SERVICE_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAME

콘솔

  1. Google Cloud 콘솔에서 네트워크 엔드포인트 그룹 페이지로 이동합니다.

    네트워크 엔드포인트 그룹으로 이동

  2. 네트워크 엔드포인트 그룹 만들기를 클릭합니다.

  3. 네트워크 엔드포인트 그룹의 이름을 입력합니다.

  4. 네트워크 엔드포인트 그룹 유형네트워크 엔드포인트 그룹(Private Service Connect)을 선택합니다.

  5. 대상을 구성합니다.

    • 리전별 Google API에 연결하려면 다음을 수행합니다.
      1. 대상에서 Google API를 선택합니다.
      2. 리전대상 서비스를 선택합니다.
    • 게시된 서비스에 연결하려면 다음을 수행합니다.

      1. 대상에서 게시된 서비스를 선택합니다.
      2. 대상 서비스에 서비스 연결의 URI를 입력합니다.
      3. 네트워크 엔드포인트 그룹을 만들 네트워크서브네트워크를 선택합니다.

        서브넷은 게시된 서비스와 동일한 리전에 있어야 합니다.

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

gcloud

  • 리전 Google API에 연결되는 NEG를 만들려면 다음을 수행합니다.

    gcloud compute network-endpoint-groups create NEG_NAME \
      --network-endpoint-type=private-service-connect \
      --psc-target-service=TARGET_SERVICE \
      --region=REGION
    

    다음을 바꿉니다.

    • NEG_NAME: 네트워크 엔드포인트 그룹의 이름입니다.

    • TARGET_SERVICE: 연결할 리전 서비스 엔드포인트입니다.

    • REGION: 네트워크 엔드포인트 그룹을 만들 리전입니다. 리전은 연결할 서비스와 동일한 리전이어야 합니다.

  • 게시된 서비스에 연결하는 NEG를 만들려면 다음을 수행합니다.

    gcloud compute network-endpoint-groups create NEG_NAME \
      --network-endpoint-type=private-service-connect \
      --psc-target-service=TARGET_SERVICE \
      --region=REGION \
      --network=NETWORK \
      --subnet=SUBNET
    

    다음을 바꿉니다.

    • NEG_NAME: 네트워크 엔드포인트 그룹의 이름입니다.

    • TARGET_SERVICE: 서비스 연결의 URI입니다.

    • REGION: 네트워크 엔드포인트 그룹을 만들 리전입니다. 리전은 대상 서비스와 동일한 리전이어야 합니다.

    • NETWORK: 네트워크 엔드포인트 그룹을 만들 네트워크입니다. 생략할 경우 기본 네트워크가 사용됩니다.

    • SUBNET: 네트워크 엔드포인트 그룹을 만들 서브넷입니다. 서브넷은 대상 서비스와 동일한 리전에 있어야 합니다. 네트워크를 제공하는 경우 서브넷을 제공해야 합니다. 네트워크 및 서브넷이 모두 생략되면 기본 네트워크가 사용되고, 지정된 REGION의 기본 서브넷이 사용됩니다.

기존 부하 분산기에 Private Service Connect NEG 추가

Private Service Connect NEG로 트래픽을 전송하도록 지원되는 부하 분산기를 구성할 수 있습니다.

지원되는 구성에 대한 자세한 내용은 사양을 참조하세요.

콘솔

부하 분산기 수정

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

    부하 분산으로 이동

  2. 수정할 부하 분산기를 클릭합니다.

  3. 수정을 클릭합니다.

백엔드 구성 업데이트

  1. 백엔드 구성을 클릭합니다.
  2. 백엔드 서비스 목록을 확장하고 백엔드 서비스 만들기를 선택합니다.
  3. 백엔드 서비스의 이름을 입력합니다.
  4. 백엔드 유형Private Service Connect 네트워크 엔드포인트 그룹으로 설정합니다.
  5. 백엔드 섹션에서 Private Service Connect 네트워크 엔드포인트 그룹 목록을 클릭하고 만든 Private Service Connect NEG를 선택합니다. 완료를 클릭합니다.
  6. 여러 리전의 게시된 서비스에 연결하도록 전역 외부 HTTP(S) 부하 분산기를 구성하는 중이고 Private Service Connect NEG를 하나 넘게 만들었으면 백엔드 추가를 클릭하여 다른 NEG를 선택합니다.

    이 관리형 서비스의 모든 NEG가 백엔드 서비스에 추가될 때까지 이 단계를 반복합니다.

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

라우팅 규칙 업데이트

  1. 라우팅 규칙을 클릭합니다.
  2. 추가한 각 백엔드 서비스에 대해 호스트경로를 입력합니다.
  3. 구성을 검토하려면 검토 및 완료를 클릭합니다.
  4. 만들기를 클릭합니다.

gcloud

백엔드 구성 업데이트

  1. 대상 서비스의 백엔드 서비스를 만듭니다.

    gcloud compute backend-services create BACKEND_SERVICE_NAME \
        --load-balancing-scheme=EXTERNAL_MANAGED \
        --protocol=HTTPS \
        --global
    

    BACKEND_SERVICE_NAME을 백엔드 서비스 이름으로 바꿉니다.

  2. 대상 서비스를 가리키는 Private Service Connect NEG를 추가합니다.

    • 리전 부하 분산기에 백엔드 서비스를 추가하는 경우 --region 플래그를 사용하여 부하 분산기와 동일한 리전을 지정합니다.

      gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \
          --network-endpoint-group=NEG_NAME \
          --network-endpoint-group-region=REGION \
          --region-REGION
      

      다음을 바꿉니다.

      • BACKEND_SERVICE_NAME: 백엔드 서비스 이름입니다.
      • NEG_NAME: 네트워크 엔드포인트 그룹의 이름입니다.
      • REGION: 네트워크 엔드포인트 그룹의 리전입니다. 백엔드 서비스에 동일한 리전을 사용합니다.
      • REGION: 백엔드 서비스의 리전입니다. NEG에 동일한 리전을 사용합니다.
    • 전역 부하 분산기에 백엔드 서비스를 추가하는 경우 --global 플래그를 사용합니다.

      동일한 서비스에 대해 서로 다른 리전에 여러 개의 NEG를 만든 경우 이 단계를 반복하여 모든 NEG를 백엔드 서비스에 추가합니다.

      gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \
        --network-endpoint-group=NEG_NAME \
        --network-endpoint-group-region=NEG_REGION \
        --global
      

      다음을 바꿉니다.

      • BACKEND_SERVICE_NAME: 백엔드 서비스 이름입니다.
      • NEG_NAME: 네트워크 엔드포인트 그룹의 이름입니다.
      • NEG_REGION: 네트워크 엔드포인트 그룹의 리전입니다.

라우팅 규칙 업데이트

  1. 만든 각 백엔드 서비스에 대해 부하 분산기의 URL 맵에 대한 경로 일치자를 추가합니다.

    • URL 맵이 리전이면 --region 플래그를 사용하여 리전을 지정합니다.

      gcloud compute url-maps add-path-matcher URL_MAP_NAME \
      --path-matcher-name=PATH_MATCHER \
      --default-service=BACKEND_SERVICE_NAME \
      --region=REGION
      

      다음을 바꿉니다.

      • URL_MAP_NAME: URL 맵의 이름입니다.
      • PATH_MATCHER: 경로 일치자의 이름입니다.
      • BACKEND_SERVICE_NAME: 백엔드 서비스 이름입니다.
      • REGION: URL 맵의 리전입니다.
    • URL 맵이 전역이면 --global 플래그를 지정합니다.

      gcloud compute url-maps add-path-matcher URL_MAP_NAME \
      --path-matcher-name=PATH_MATCHER \
      --default-service=BACKEND_SERVICE_NAME \
      --global
      

      다음을 바꿉니다.

      • URL_MAP_NAME: URL 맵의 이름입니다.
      • PATH_MATCHER: 경로 일치자의 이름입니다.
      • BACKEND_SERVICE_NAME: 백엔드 서비스 이름입니다.
      • REGION: URL 맵의 리전입니다.
  2. 각 호스트 이름에 대해 호스트 규칙을 추가합니다.

    호스트 규칙마다 경로 일치자를 하나씩 참조할 수 있지만 2개 이상의 호스트 규칙이 동일한 경로 일치자를 참조할 수 있습니다.

    • URL 맵이 리전이면 --region 플래그를 사용하여 리전을 지정합니다.

      gcloud compute url-maps add-host-rule URL_MAP_NAME \
      --hosts=HOST \
      --path-matcher-name=PATH_MATCHER \
      --region=REGION
      

      다음을 바꿉니다.

      • URL_MAP_NAME: URL 맵의 이름입니다.
      • HOST: 이 호스트에 대해 요청을 전송할 호스트 이름입니다.
      • PATH_MATCHER: 경로 일치자의 이름입니다.
      • REGION: URL 맵의 리전입니다.
    • URL 맵이 전역이면 --global 플래그를 지정합니다.

      gcloud compute url-maps add-host-rule URL_MAP_NAME \
      --hosts=HOST \
      --path-matcher-name=PATH_MATCHER \
      --global
      

      다음을 바꿉니다.

      • URL_MAP_NAME: URL 맵의 이름입니다.
      • HOST: 이 호스트에 대해 요청을 전송할 호스트 이름입니다.
      • PATH_MATCHER: 경로 일치자의 이름입니다.