이 페이지에서는 Gemini와 고객 조직 간에 통신을 설정하는 방법을 설명합니다.
고객 조직은 추론 게이트웨이에서 생성형 AI 라우터 및 모델 서버를 호스팅하는 Gemini 조직으로 요청을 전송합니다. 생성형 AI 라우터의 API 플랫폼 (APIP) 통합은 추론 게이트웨이의 요청을 확인합니다. APIP 통합을 통해 요청에 적절한 사용자 인증 정보 (STS 토큰)와 역할 권한이 있는지 확인할 수 있습니다.
Gemini 및 고객 조직에 대한 자세한 내용은 Gemini 및 고객 조직을 참고하세요.
시작하기 전에
조직 간 커뮤니케이션을 사용 설정하려면 다음이 필요합니다.
- 기존 고객 조직과 동일한 영역에서 실행되는 Gemini 조직
jq및yqCLI 도구jq및yq이 포함된 도구 컨테이너 설정에 관한 자세한 내용은 OOPS-P0065 런북을 참고하세요.- 고객 및 Gemini 조직 모두를 위한 OIDC 클라이언트 및 ID 공급업체 OIDC 클라이언트를 만들려면 OC IT ADFS에서 OIDC 클라이언트 만들기를 참고하세요.
Gemini와 고객 조직 간 연결 설정
GDC에서 Gemini에 필요한 네트워크 대역폭을 충족하기 위해 Gemini 조직에 맞춤 하드웨어 네트워킹 구성이 있습니다. 하드웨어를 사용하고 대역폭을 늘리려면 Interconnect를 사용한 추가 구성이 필요합니다.
두 조직 간의 연결을 설정하려면 루트 관리자 클러스터에서 AttachmentGroup 리소스를 만들어 Gemini와 고객 조직을 페어링하세요.
커스텀 리소스는 다음 예시와 같이 표시되어야 합니다.
IDENTIFIER=ag-gdc-gemini
GEMINI_ORG_NAME=GEMINI_ORG_NAME
CUSTOMER_ORG_NAME=CUSTOMER_ORG_NAME
apiVersion: system.private.gdc.goog/v1alpha1
kind: AttachmentGroup
metadata:
name: attachment-group-$IDENTIFIER
namespace: gpc-system
spec:
entities:
- domainType: OrgMixed
orgName: $CUSTOMER_ORG_NAME
- domainType: OrgMixed
orgName: $GEMINI_ORG_NAME
identifier: $IDENTIFIER
다음을 바꿉니다.
GEMINI_ORG_NAME: Gemini 조직의 이름입니다.CUSTOMER_ORG_NAME: 고객 조직의 이름입니다.
데이터 네트워크를 사용하도록 추론 게이트웨이 요청 구성
추론 게이트웨이 및 생성형 AI 라우터 서비스는 각 조직의 조직 인프라 클러스터에서 실행됩니다. 기본적으로 두 서비스 모두 인프라 네트워크를 통해 라우팅되지만 데이터 네트워크를 사용해야 합니다.
Gemini 요청에 충분한 네트워크 대역폭이 제공되도록 하려면 데이터 네트워크를 통해 GenAI 라우터로 향하는 추론 게이트웨이 요청을 라우팅해야 합니다. 기본 인프라 인그레스 게이트웨이 대신 Gemini 조직의 데이터 인그레스 게이트웨이를 통해 요청을 라우팅하려면 Istio 네트워킹 리소스를 사용해야 합니다.
데이터 네트워크를 사용하도록 GenAI 라우터로 향하는 추론 게이트웨이 요청을 구성하려면 다음 단계를 따르세요.
생성형 AI 라우터 구성요소의 정규화된 도메인 이름 (FQDN)을 가져옵니다.
KUBECONFIG=GEMINI_ORG_MGMT_KUBECONFIG_PATH GEN_AI_ROUTER_FQDN=$(kubectl --kubeconfig ${KUBECONFIG:?} \ get dnsregistrations.network.private.gdc.goog/genai-router \ -n gemini-system -o json | jq '.status.fqdn') echo $GEN_AI_ROUTER_FQDNGEMINI_ORG_MGMT_KUBECONFIG_PATH를 Gemini 조직의 관리 API 서버 kubeconfig 파일의 경로로 바꿉니다.출력은 다음 예시와 같이 표시되어야 합니다.
"genai-router.org-1.zone1.google.gdch.test"Gemini 조직에서 서비스 계정의 FQDN을 가져옵니다.
GEM_ORG_SERVICE_ACCOUNT_SERVICE_FQDN=$(kubectl --kubeconfig ${KUBECONFIG:?} \ get dnsregistrations.network.private.gdc.goog/service-accounts-infra-external \ -n iam-system -o json | jq '.status.fqdn') echo $GEM_ORG_SERVICE_ACCOUNT_SERVICE_FQDN출력은 다음 예시와 같이 표시되어야 합니다.
"service-accounts.org-1.zone1.google.gdch.test"Gemini 조직의 데이터 영역에서 인그레스 게이트웨이 ELB IP 주소를 가져옵니다.
KUBECONFIG=GEMINI_ORG_MGMT_KUBECONFIG_PATH GEM_DATA_INGRSS_ELB_IP_ADDRESS=$(kubectl get Forwardingruleexternals/dataplane-ingress-gateway \ -n istio-system -ojson | jq .status.cidr) echo $GEM_DATA_INGRSS_ELB_IP_ADDRESS출력은 다음 예시와 같이 표시되어야 합니다.
"10.137.14.0/32"생성형 AI 라우터 및 ID FQDN의
ServiceEntry리소스를 추가합니다. 그런 다음 Gemini 조직의 데이터 플레인에서 인그레스 게이트웨이 ELB IP 주소의 고정 IP 주소로 확인합니다.KUBECONFIG=CUS_ORG_CP_KUBECONFIG_PATH kubectl apply --kubeconfig ${KUBECONFIG:?} -f - << EOF apiVersion: networking.istio.io/v1beta1 kind: ServiceEntry metadata: name: genai-service-entry namespace: aics-system spec: hosts: - $GEN_AI_ROUTER_FQDN ports: - number: 443 name: https protocol: TLS location: MESH_EXTERNAL resolution: STATIC endpoints: - address: $GEM_DATA_INGRSS_ELB_IP_ADDRESS EOF kubectl apply --kubeconfig ${KUBECONFIG:?} -f - << EOF apiVersion: networking.istio.io/v1beta1 kind: ServiceEntry metadata: name: identity-service-entry namespace: aics-system spec: hosts: - $GEM_ORG_SERVICE_ACCOUNT_SERVICE_FQDN ports: - number: 443 name: https protocol: TLS location: MESH_EXTERNAL resolution: STATIC endpoints: - address: $GEM_DATA_INGRSS_ELB_IP_ADDRESS EOFCUS_ORG_CP_KUBECONFIG_PATH를 고객 조직의 조직 인프라 클러스터 데이터 플레인의 kubeconfig 파일 경로로 바꿉니다.aics-system시스템 프로젝트 이그레스 NAT IP 주소를 검색합니다.KUBECONFIG=CUS_ORG_MGMT_KUBECONFIG_PATH IG_PROJECT_EGRESS_IP=$(kubectl --kubeconfig ${KUBECONFIG:?} get projects/aics-system \ -n gpc-system -ojson | jq .status.clusters[0].egressNATIPAddress) echo $IG_PROJECT_EGRESS_IPCUS_ORG_MGMT_KUBECONFIG_PATH를 고객 조직의 관리 API 서버에 대한 kubeconfig 파일의 경로로 바꿉니다.출력은 다음 예시와 같이 표시되어야 합니다.
"10.200.32.29"Gemini 조직에서 관리 API 서버에 조직 네트워크 정책을 적용하여 고객 조직의 요청을 허용합니다.
KUBECONFIG=GEMINI_ORG_MGMT_KUBECONFIG_PATH kubectl apply --kubeconfig ${KUBECONFIG:?} -f - << EOF apiVersion: networking.gdc.goog/v1 kind: OrganizationNetworkPolicy metadata: name: allow-all-access namespace: platform spec: subject: services: matchTypes: - "all" ingress: - from: - ipBlock: cidr: $IG_PROJECT_EGRESS_IP EOFGEMINI_ORG_MGMT_KUBECONFIG_PATH를 Gemini 조직의 관리 API 서버 kubeconfig 파일의 경로로 바꿉니다.선택사항: 고객 조직에서 관리 API 서버에 조직 네트워크 정책을 적용하여 Gemini 조직에 대한 요청을 허용합니다.
KUBECONFIG=CUS_ORG_MGMT_KUBECONFIG_PATH kubectl apply --kubeconfig ${KUBECONFIG:?} -f - << EOF apiVersion: networking.gdc.goog/v1 kind: OrganizationNetworkPolicy metadata: name: allow-all-access namespace: platform spec: ingress: - from: - ipBlock: cidr: CUSTOMER_ORG_OIQ subject: services: matchTypes: - all subjectType: ManagedService EOF다음을 바꿉니다.
CUS_ORG_MGMT_KUBECONFIG_PATH: 고객 조직의 관리 API 서버 kubeconfig 파일 경로CUSTOMER_ORG_OIQ: 고객 조직의 OIQ입니다.