Looker PSC Northbound Regional Internal L7 ALB

이 Codelab 정보
schedule47분
subject최종 업데이트: 2025년 4월 2일
account_circle작성자: Deepak Michael

이 Codelab에서는 L7 리전 내부 애플리케이션 부하 분산기와 Private Service Connect 백엔드를 만들어 Looker에 대한 Northbound 액세스를 얻습니다. Looker에 대한 Northbound 액세스를 사용하려면 소비자 VPC를 Looker PSC 인스턴스에 허용 목록에 추가해야 합니다.

Private Service Connect는 소비자가 VPC 네트워크 내부에서 비공개로 관리형 서비스에 액세스할 수 있도록 허용하는 Google Cloud Networking 기능입니다. 마찬가지로 이를 이용해 관리형 서비스 프로듀서는 이러한 서비스를 별도의 개별 VPC 네트워크에서 호스팅하고 소비자에게 비공개 연결을 제공할 수 있습니다. 예를 들어 Private Service Connect를 사용하여 Looker에 액세스하는 경우 사용자는 서비스 소비자이고 Google은 서비스 프로듀서입니다(그림 1 참고).

그림 1.

145ea4672c3a3b14.png

역방향 PSC라고도 하는 업스트림 액세스를 사용하면 소비자가 프로듀서로 게시된 서비스를 만들어 Looker가 VPC의 온프레미스 엔드포인트, 관리형 서비스, 인터넷에 액세스하도록 허용할 수 있습니다. 그림 2와 같이 Looker PSC가 배포된 위치와 관계없이 모든 리전에 southbound 연결을 배포할 수 있습니다.

그림 2.

3edfcc67e195d082.png

학습할 내용

  • 네트워크 요구사항
  • 북방향 액세스를 위한 Looker 허용 목록 업데이트
  • 소비자 VPC에서 Private Service Connect 백엔드 만들기
  • Google 인증서와 자체 서명 인증서 비교

필요한 항목

def88091b42bfe4d.png

2. 빌드할 항목

허용 목록에 있는 소비자 네트워크인 looker-psc-demo를 설정하여 Google 또는 자체 관리형 인증서가 필요한 리전 내부 L7 애플리케이션 부하 분산기 및 PSC 백엔드 NEG를 배포합니다. 자세한 내용은 부하 분산기 및 인증서 요약 페이지를 참고하세요.

3. 네트워크 요구사항

다음은 네트워크 요구사항의 세부정보입니다.

구성요소

설명

VPC (looker-psc-demo)

커스텀 모드 VPC

PSC NEG 서브넷

네트워크 엔드포인트 그룹의 IP 주소를 할당하는 데 사용됩니다.

프록시 전용 서브넷

각 부하 분산기의 프록시 에는 내부 IP 주소가 할당됩니다. 프록시에서 백엔드 VM 또는 엔드포인트로 전송되는 패킷에는 프록시 전용 서브넷의 소스 IP 주소가 있습니다.

백엔드 서비스

백엔드 서비스는 부하 분산기와 백엔드 리소스 간의 다리 역할을 합니다. 이 튜토리얼에서는 백엔드 서비스가 PSC NEG와 연결됩니다.

4. Codelab 토폴로지

2f6bb87ef0e139b2.png

5. 설정 및 요구사항

자습형 환경 설정

  1. Google Cloud Console에 로그인하여 새 프로젝트를 만들거나 기존 프로젝트를 재사용합니다. 아직 Gmail이나 Google Workspace 계정이 없는 경우 계정을 만들어야 합니다.

fbef9caa1602edd0.png

a99b7ace416376c4.png

5e3ff691252acf41.png

  • 프로젝트 이름은 이 프로젝트 참가자의 표시 이름입니다. 이는 Google API에서 사용하지 않는 문자열이며 언제든지 업데이트할 수 있습니다.
  • 프로젝트 ID는 모든 Google Cloud 프로젝트에서 고유하며, 변경할 수 없습니다(설정된 후에는 변경할 수 없음). Cloud 콘솔은 고유한 문자열을 자동으로 생성합니다. 일반적으로는 신경 쓰지 않아도 됩니다. 대부분의 Codelab에서는 프로젝트 ID (일반적으로 PROJECT_ID로 식별됨)를 참조해야 합니다. 생성된 ID가 마음에 들지 않으면 다른 임의 ID를 생성할 수 있습니다. 또는 직접 시도해 보고 사용 가능한지 확인할 수도 있습니다. 이 단계 이후에는 변경할 수 없으며 프로젝트 기간 동안 유지됩니다.
  • 참고로 세 번째 값은 일부 API에서 사용하는 프로젝트 번호입니다. 이 세 가지 값에 대한 자세한 내용은 문서를 참고하세요.
  1. 다음으로 Cloud 리소스/API를 사용하려면 Cloud 콘솔에서 결제를 사용 설정해야 합니다. 이 Codelab 실행에는 많은 비용이 들지 않습니다. 이 튜토리얼이 끝난 후에 요금이 청구되지 않도록 리소스를 종료하려면 만든 리소스 또는 프로젝트를 삭제하면 됩니다. Google Cloud 신규 사용자는 300달러(USD) 상당의 무료 체험판 프로그램에 참여할 수 있습니다.

Cloud Shell 시작

Google Cloud를 노트북에서 원격으로 실행할 수 있지만, 이 Codelab에서는 Cloud에서 실행되는 명령줄 환경인 Google Cloud Shell을 사용합니다.

Google Cloud Console의 오른쪽 상단 툴바에 있는 Cloud Shell 아이콘을 클릭합니다.

55efc1aaa7a4d3ad.png

환경을 프로비저닝하고 연결하는 데 몇 분 정도 소요됩니다. 완료되면 다음과 같이 표시됩니다.

7ffe5cbb04455448.png

가상 머신에는 필요한 개발 도구가 모두 들어있습니다. 영구적인 5GB 홈 디렉터리를 제공하고 Google Cloud에서 실행되므로 네트워크 성능과 인증이 크게 개선됩니다. 이 Codelab의 모든 작업은 브라우저 내에서 수행할 수 있습니다. 아무것도 설치할 필요가 없습니다.

6. 시작하기 전에

API 사용 설정

Cloud Shell에서 프로젝트 ID가 설정되어 있는지 확인합니다.

gcloud config list project
gcloud config set project [YOUR-PROJECT-ID]
project=[YOUR-PROJECT-ID]
region=[YOUR-REGION]
echo $project
echo $region

필요한 모든 서비스를 사용 설정합니다.

gcloud services enable compute.googleapis.com

7. 소비자 네트워크

다음 섹션에서는 Looker PSC VPC 허용 목록에 업데이트될 소비자 네트워킹을 만듭니다.

VPC 네트워크

Cloud Shell에서 다음을 실행합니다.

gcloud compute networks create looker-psc-demo --subnet-mode custom

서브넷 만들기

Cloud Shell에서 소비자 네트워크 엔드포인트 그룹 서브넷을 만듭니다.

gcloud compute networks subnets create consumer-psc-neg-subnet --network looker-psc-demo --range 172.16.30.0/28 --region $region --enable-private-ip-google-access

Cloud Shell에서 내부 애플리케이션 부하 분산기 서브넷을 만듭니다.

gcloud compute networks subnets create consumer-ilb-subnet --network looker-psc-demo --range 172.16.40.0/28 --region $region --enable-private-ip-google-access

Cloud Shell에서 제작자 지역 프록시 전용 서브넷을 만듭니다.

gcloud compute networks subnets create $region-proxy-only-subnet \
  --purpose=REGIONAL_MANAGED_PROXY \
  --role=ACTIVE \
  --region=$region \
  --network=looker-psc-demo \
  --range=10.10.10.0/24

8. 커스텀 도메인 만들기

커스텀 도메인을 설정하려면 다음 단계를 따르세요.

아래 예에서 looker.cosmopup.com은 맞춤 도메인입니다.

5424ce99136d5b3a.png

OAuth 예시

다음은 승인된 출처의 OAuth 사용자 인증 정보와 하위 도메인 looker.cosmopup.com의 콜백의 예입니다.

c7e5b8c7d2cc6a01.png

9. 인증서

Compute Engine 또는 인증서 관리자 인증서를 만들 수 있습니다. 인증서 관리자를 사용하여 인증서를 만들려면 다음 방법 중 하나를 사용합니다.

  • 리전별 자체 관리형 인증서 리전별 자체 관리형 인증서 만들기 및 사용에 대한 자세한 내용은 리전별 자체 관리형 인증서 배포를 참고하세요. 인증서 맵은 지원되지 않습니다.
  • 리전별 Google 관리형 인증서. 인증서 맵은 지원되지 않습니다. 인증서 관리자에서 지원되는 리전별 Google 관리형 인증서 유형은 다음과 같습니다.
  • 프로젝트별 DNS 승인을 사용하는 리전별 Google 관리형 인증서. 자세한 내용은 리전별 Google 관리형 인증서 배포를 참고하세요.
  • Certificate Authority Service를 사용하는 리전별 Google 관리형(비공개) 인증서. 자세한 내용은 CA 서비스를 사용하여 리전별 Google 관리형 인증서 배포를 참고하세요.

10. Looker VPC 허용 목록

허용된 VPC 보기

다음 섹션에서는 Cloud 콘솔 UI를 사용하여 Looker 허용 VPC 목록을 확인합니다.

Cloud 콘솔에서 다음 위치로 이동합니다.

Looker → Looker 인스턴스 → 세부정보

아래 예에서는 허용된 VPC 목록에 항목이 없습니다.

ad33177a2d721ea7.png

허용된 VPC 업데이트

looker-psc-demo를 허용된 VPC로 추가하여 북방향 액세스를 지원하도록 Looker 인스턴스를 업데이트합니다.

Cloud 콘솔에서 다음 위치로 이동합니다.

Looker → Looker 인스턴스 → 수정

cbbc069688890b82.png

연결 → 허용된 VPC

looker-psc-demo가 배포된 프로젝트와 VPC looker-psc-demo를 차례로 선택한 후 '계속'을 클릭합니다.

dc931643e1b220a.png

3e26d16d83cceae9.png

허용된 VPC 유효성 검사

업데이트된 허용된 VPC 목록 보기

Cloud 콘솔에서 다음 위치로 이동합니다.

Looker → Looker 인스턴스 → 세부정보

e34664c867929c66.png

11. PSC 백엔드 만들기

서비스 프로듀서인 Looker PSC는 서비스 소비자가 엔드포인트와 백엔드를 배포하여 Looker에 대한 northbound 액세스 권한을 얻는 데 사용하는 서비스 연결 URI를 생성합니다. 다음 단계에서는 Looker PSC 서비스 연결 URI를 식별한 후 소비자 VPC에서 Private Service Connect 네트워크 엔드포인트 그룹 (NEG) 백엔드를 만듭니다.

Looker PSC 서비스 연결 식별하기

Cloud Console에서 서비스 연결 URI를 찾아 복사합니다.

Looker → Looker 인스턴스 → 세부정보

a253f94e946a1eef.png

PSC 네트워크 엔드포인트 그룹 만들기

Cloud Shell에서 psc-target-service를 업데이트하면서 다음을 실행합니다.

gcloud compute network-endpoint-groups create looker-northbound-neg \
    --network-endpoint-type=private-service-connect \
    --psc-target-service=[UPDATE WITH YOU LOOKER SERVICE ATTACHMENT URI] \
    --region=$region \
    --network=looker-psc-demo \
    --subnet=consumer-psc-neg-subnet

예:

gcloud compute network-endpoint-groups create looker-northbound-neg \
    --network-endpoint-type=private-service-connect \
 --psc-target-service=projects/t7ec792caf2a609d1-tp/regions/us-central1/serviceAttachments/looker-psc-f51982e2-ac0d-48b1-91bb-88656971c183 \
    --region=$region \
    --network=looker-psc-demo \
    --subnet=consumer-psc-neg-subnet

PSC 네트워크 엔드 그룹 생성 확인

Cloud Shell에서 다음을 실행하여 pscConnectionStatus가 허용되는지 확인합니다.

gcloud compute network-endpoint-groups describe looker-northbound-neg --region=$region | grep -i pscConnectionStatus:

예:

user@cloudshell$ gcloud compute network-endpoint-groups describe looker-northbound-neg --region=$region | grep -i pscConnectionStatus: 
  pscConnectionStatus: ACCEPTED

리전 내부 애플리케이션 부하 분산기 만들기

다음 단계에서는 Cloud 콘솔을 사용하여 리전 내부 애플리케이션 부하 분산기를 만들고 생성된 인증서를 프런트엔드 구성에 연결합니다.

Cloud 콘솔에서 다음 위치로 이동합니다.

네트워크 서비스 → 부하 분산 → 부하 분산기 만들기

e3474ca153d7c55a.png

다음 옵션을 선택합니다.

c80afa6a28b6d922.png

백엔드 구성 만들기

다음 옵션을 선택하고 배포에 따라 환경을 맞춤설정합니다.

  • 네트워크 인프라를 배포하는 데 사용되는 리전
  • 네트워크: looker-psc-demo
  • 프록시 전용 서브넷은 리전 및 네트워크를 기반으로 자동으로 채워집니다.

115627dc54d7a582.png

b3eaa88dd02a95c1.png

cf519145f0259061.png

530527bc9273e002.png

라우팅 규칙

구성이 필요하지 않습니다.

53a80d74b3c7dd56.png

프런트엔드 구성

29faa25397025fb4.png

538da2b4930d243b.png

bbc13e921681dd65.png

부하 분산기가 사용 설정되어 있는지 확인하고 IP 주소를 가져옵니다.

Cloud 콘솔 → 네트워크 서비스 → 부하 분산 → looker-ilb-alb

abc7d02b4c951c73.png

12. DNS 변환

커스텀 도메인의 DNS 확인은 권한 있는 온프레미스 또는 Cloud DNS일 수 있습니다. 이 튜토리얼에서는 Cloud DNS를 Looker 맞춤 도메인의 권한 있는 서버로 정의합니다. 온프레미스에서 GCP DNS 확인을 사용 설정하려면 인바운드 서버 정책을 사용 설정해야 합니다. 인바운드 서버 정책을 만들면 Cloud DNS는 서버 정책이 적용되는 VPC 네트워크에 인바운드 서버 정책 진입점을 만듭니다. 인바운드 서버 정책 진입점은 프록시 전용 서브넷을 제외하고 관련 VPC 네트워크의 모든 서브넷 기본 IPv4 주소 범위에서 가져온 내부 IPv4 주소입니다.

다음 섹션에서는 Looker 커스텀 도메인(looker.cosmopup.com)의 비공개 DNS 영역과 부하 분산기 IP 주소로 구성된 A 레코드가 생성됩니다.

13. 비공개 DNS 영역 만들기

Cloud Shell에서 Cloud DNS 비공개 영역을 만듭니다.

gcloud dns --project=$projectid managed-zones create looker-cosmopup-dns --description="" --dns-name="looker.cosmopup.com." --visibility="private" --networks="https://compute.googleapis.com/compute/v1/projects/$projectid/global/networks/looker-psc-demo"

Cloud Shell에서 이전 단계에서 가져온 부하 분산기 IP 주소로 구성된 A 레코드를 만듭니다.

gcloud dns --project=$projectid record-sets create looker.cosmopup.com. --zone="looker-cosmopup-dns" --type="A" --ttl="300" --rrdatas="<insert-your-ip>"

예:

gcloud dns --project=$projectid record-sets create looker.cosmopup.com. --zone="looker-cosmopup-dns" --type="A" --ttl="300" --rrdatas="172.16.20.7"

그런 다음 looker-psc-demo VPC와 온프레미스 네트워크 간에 하이브리드 네트워킹 (예: Interconnect, HA-VPN)을 구성하여 연결을 사용 설정해야 합니다.

온프레미스와 하이브리드 NEG 연결을 설정하는 데 필요한 단계는 다음과 같습니다.

  • 네트워크 연결 제품 선택 | Google Cloud
  • VPC 피어링이 있는 허브 및 스포크 아키텍처에서 하이브리드 NEG는 Cloud Router와 동일한 VPC (허브)에 배포됩니다.
  • 이 서브넷은 온프레미스 워크로드와 통신할 때 소스 IP 주소 역할을 하므로 프록시 전용 서브넷 범위를 수용하도록 온프레미스 방화벽을 업데이트합니다.
  • looker.cosomopup.com의 DNS 리졸버로 인바운드 전달 IP 주소를 사용하여 온프레미스 DNS 업데이트

Looker UI 액세스

이제 부하 분산기가 작동하므로 웹브라우저를 통해 맞춤 Looker 도메인에 액세스할 수 있습니다. 사용하는 인증서 유형(예: 신뢰할 수 없는 인증서와 신뢰할 수 있는 인증서)에 따라 경고가 표시될 수 있습니다.

다음은 Looker UI에 대한 상위 액세스 권한을 얻는 Looker 커스텀 도메인 looker.cosmopup.com에 액세스하는 예시 (신뢰할 수 없는 인증서)입니다.

ae43d0d0d7136044.png

14. 삭제

단일 Cloud Shell 터미널에서 실험실 구성요소를 삭제합니다.

gcloud compute forwarding-rules delete regional-internal-alb-fr --region=$region -q

gcloud compute target-https-proxies delete regional-internal-alb-target-proxy --region=$region -q

gcloud compute url-maps delete regional-internal-alb --region=$region -q

gcloud compute backend-services delete looker-psc-neg-backend-svc --region=$region -q

gcloud compute addresses delete regional-alb-static-ip --region=$region -q

gcloud compute network-endpoint-groups delete looker-northbound-neg --region=$region -q

gcloud compute networks delete looker-psc-demo -q

15. 축하합니다

축하합니다. 고객 도메인 및 리전 내부 애플리케이션 부하 분산기를 사용하여 Looker에 대한 업스트림 연결을 구성하고 확인했습니다.

소비자 인프라를 만들고 PSC NEG, 맞춤 도메인을 만드는 방법을 알아보고 다양한 인증서 옵션을 알아봤습니다. Looker를 시작하는 데 도움이 되는 흥미로운 기능이 많이 있습니다.

코스모퍼프는 Codelab이 멋지다고 생각합니다.

c911c127bffdee57.jpeg

다음 단계

다음 Codelab을 확인하세요.

추가 리소스 및 동영상

참조 문서