프로젝트 간 참조 설정
이 문서는 Google Cloud 서비스 라우팅 API를 사용하는 Cloud Service Mesh에만 적용됩니다. Istio API로 Cloud Service Mesh를 구성하는 경우에는 이 문서를 따르지 마세요.
일부 시나리오의 서비스 메시 구성에는 서로 다른 프로젝트에 있는 서비스가 포함됩니다. 예를 들어 공유 VPC 또는 피어링된 VPC 배포에서 각 프로젝트 소유자가 자체 서비스 집합을 정의하여 이러한 서비스를 다른 모든 프로젝트에서 사용할 수 있습니다.
여러 프로젝트에 정의된 여러 리소스가 조합되어 Envoy 프록시 또는 프록시리스 gRPC에 제공될 수 있는 단일 구성을 형성하기 때문에 이 구성을 교차 프로젝트 구성이라고 합니다.
다음 안내에서는 Mesh
및 HTTPRoute
리소스를 사용하지만 Gateway
, GRPCRoute
, TCPRoute
리소스에도 적용할 수 있습니다.
Mesh
리소스 구성
프로젝트를 Mesh
리소스를 관리하는 호스트 프로젝트로 지정합니다. 이 프로젝트에서 Mesh
리소스를 생성, 업데이트 또는 삭제할 권한이 있는 모든 서비스 계정은 이 프로젝트의 Mesh
리소스에 연결된 라우팅 구성을 제어할 수 있습니다.
shared-mesh.yaml
파일에서Mesh
사양을 만듭니다.name: shared-mesh interceptionPort: 15001
이 프로젝트에서
Mesh
리소스를 정의합니다.gcloud network-services meshes import shared-mesh \ --source=shared-mesh.yaml \ --location=global
서비스 소유자가 이
Mesh
에 경로를 연결할 URI가 필요하므로Mesh
리소스의 전체 URI를 기록해 둡니다./projects/[HOST_PROJECT_NUMBER]/locations/global/meshes/shared-mesh
서비스 정보를
Mesh
에 연결할 수 있어야 하는 교차 프로젝트 서비스 계정에 이Mesh
의networkservices.meshes.use
IAM 권한을 부여합니다.gcloud projects add-iam-policy-binding [HOST_PROJECT_NUMBER] --member='[HTTP_ROUTE_SERVICE_OWNER_ACCOUNT]' --role='roles/compute.networkAdmin'
networkservices.meshes.use
권한이 부여된 모든 서비스 소유자는 이 Mesh
리소스에 라우팅 규칙을 추가할 수 있습니다.
서비스 프로젝트에서 라우팅 설정
각 서비스 소유자는 사이드카 프록시 구성 가이드의 예시와 비슷하게 해당 프로젝트에 하나 이상의 백엔드 서비스 및 Route
리소스를 만들어야 합니다.
유일한 차이점은 각 HTTPRoute
, GRPCRoute
또는 TCPRoute
리소스에는 meshes
필드에 호스트 프로젝트의 Mesh
리소스 URI가 있어야 한다는 점입니다.
다음을 사용하여
meshes
필드를 채웁니다. 프로젝트 ID 또는 프로젝트 번호를 사용할 수 있습니다.echo "name: sharedvpc-http-route hostnames: - helloworld-gce meshes: - /projects/[HOST_PROJECT_NUMBER]/locations/global/meshes/shared-mesh rules: - action: destinations: - serviceName: \"url/of/the/service\"" | \ gcloud network-services http-routes import sharedvpc-http-route \ --source=- \ --location=global
서비스 프로젝트에서 클라이언트 서비스 만들기
서비스 프로젝트에 있는 Cloud Service Mesh 클라이언트를 구성할 때 부트스트랩 구성은 Mesh
리소스가 있는 프로젝트 번호와 Mesh
이름을 지정해야 합니다. 이 요구사항은 Envoy 프록시와 프록시리스 gRPC 배포 모두에 적용됩니다.
Envoy 배포의 경우 --service-proxy:project-number
옵션을 사용합니다.
다음 단계
Mesh
또는Gateway
리소스와 연결된 경로 리소스 나열에 관한 자세한 내용은Route
리소스 나열을 참조하세요. 이 기능은 미리보기 버전으로 제공됩니다.