이 가이드에서는 사이드카 삽입 워크로드에서 직접 연결을 사용할 수 없을 때(예: 방화벽 또는 기타 제한된 기능 때문에) 프록시를 통해 인증 기관(CA) 연결을 구성하는 방법을 설명합니다.
이 구성은 Certificate Authority Service를 사용하는 Cloud Service Mesh 설치에만 적용됩니다.
일반적인 클러스터 내 Cloud Service Mesh 설치에서는 CA 서비스(예: meshca.googleapis.com 및 privateca.googleapis.com)에 직접 연결할 수 있는 애플리케이션 포드에 사이드카를 배포합니다. 직접 연결을 사용할 수 없는 시나리오에서는 명시적 CONNECT 기반 HTTPS 프록시를 구성해야 합니다.
기본 요건
프록시를 통해 CA 연결을 구성하기 전에 다음이 있는지 확인합니다.
모든 사이드카 삽입 포드에서 HTTPS 프록시로의 네트워크 연결을 설정합니다.
배포된 HTTPS 프록시에 대한 액세스 권한을 모든 Google Cloud 서비스에 부여합니다.
CA_PLUGIN_PROXY_URL은 사이드카가 프록시로 CONNECT 핸드셰이크를 설정하기 위해 사용하는 구성이며, CA를 대상으로 하는 모든 트래픽을 관련 엔드포인트로 전달합니다.
proxy-service는 proxy-ns 네임스페이스에 배포되며 proxy-port 포트에서 CONNECT 핸드셰이크를 리슨합니다. 이 환경 변수의 형식은 표준 HTTPS_PROXY 환경 변수와 유사합니다.
Cloud Service Mesh 컨트롤 플레인이 설치되면 Cloud Service Mesh 라벨이 지정된 네임스페이스의 워크로드를 다시 시작하기 전에 클러스터에 적절한 ProxyConfig CR(1단계에서 구성됨)을 적용하여 사이드카에 구성이 올바르게 삽입되도록 합니다. 이 구성은 사이드카가 서명된 워크로드 인증서를 CA에서 가져올 때 필요합니다. 이를 통해 사이드카 삽입 포드가 시작될 수 있습니다.
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["이해하기 어려움","hardToUnderstand","thumb-down"],["잘못된 정보 또는 샘플 코드","incorrectInformationOrSampleCode","thumb-down"],["필요한 정보/샘플이 없음","missingTheInformationSamplesINeed","thumb-down"],["번역 문제","translationIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-09-04(UTC)"],[],[],null,["# Configure Certificate Authority connectivity through a proxy\n============================================================\n\nThis guide explains how to configure certificate authority (CA) connectivity\nthrough a proxy when direct connectivity from the sidecar-injected workloads is\nnot available (for example, due to firewalls or other restrictive features).\nThis configuration is only applicable for Cloud Service Mesh installations that use\n[Certificate Authority Service](../install-anthos-service-mesh#install_ca_service).\n| **Warning:** This guide only ensures CA connectivity through a proxy. However, note that Telemetry and Observability features (including metrics explorer, Cloud Service Mesh UI) **do not work** when workloads are behind a proxy.\n\nIn a typical in-cluster Cloud Service Mesh installation, you deploy sidecars in\napplication pods where direct connectivity to CA services (such as\n`meshca.googleapis.com` and `privateca.googleapis.com`) is available. In\nscenarios where a direct connection is not available, you must configure an\nexplicit `CONNECT`-based HTTPS proxy.\n\nPrerequisites\n-------------\n\nBefore configuring CA connectivity through a proxy, ensure you have:\n\n- Established network connectivity from all sidecar injected pods to the HTTPS proxy.\n- Granted access for the deployed HTTPS proxy to all Google Cloud services.\n\nConfigure a ProxyConfig custom resource\n---------------------------------------\n\n1. Configure an\n [Istio ProxyConfig custom resource (CR)](https://istio.io/latest/docs/reference/config/networking/proxy-config/)\n to inject into the sidecar proxy to point to the HTTPS proxy. For example:\n\n apiVersion: networking.istio.io/v1beta1\n kind: ProxyConfig\n metadata:\n labels:\n istio.io/rev: \u003cistio-rev\u003e # To target proxies mapped to a specific control plane if needed.\n name: test-proxy-inject\n namespace: istio-system # To ensure side-cars injected into all namespaces process this CR\n spec:\n environmentVariables:\n CA_PLUGIN_PROXY_URL: http://\u003cproxy-service\u003e.\u003cproxy-ns\u003e:\u003cproxy-port\u003e\n\n where:\n - `CA_PLUGIN_PROXY_URL` is the configuration consumed by sidecars to establish a `CONNECT` handshake with the proxy which then forwards all CA-destined traffic to the relevant endpoint.\n - `proxy-service` is deployed in the `proxy-ns` namespace and listening for `CONNECT` handshakes on `proxy-port` port. The format of this environment variable is similar to the standard `HTTPS_PROXY` environment variable.\n2. Once the Cloud Service Mesh control plane has been installed, apply the\n appropriate `ProxyConfig` CR (configured in step 1) on the cluster **before**\n restarting workloads in Cloud Service Mesh-labeled namespaces to ensure that the\n configuration is correctly injected into the sidecars. This configuration is\n required for sidecars to get signed workload certificates from the CA, which\n ensures that the sidecar injected pod can start up."]]