피드로 돌아가기
Dev.toInfrastructure
원문 읽기
GoogleCredential 설정을 통한 BigQuery 인증 트래픽 Proxy 라우팅 해결
Fixing Google BigQuery Auth Proxying
AI 요약
Context
C# BigQuery 클라이언트 라이브러리에서 HttpClientFactory 설정만으로는 데이터 쿼리 요청만 Proxy로 전송되는 한계 존재. 인증 및 OAuth Token 갱신 요청이 Proxy 설정을 무시하고 표준 네트워크로 직접 접근하여 발생하는 Connection Timeout 문제 발생.
Technical Solution
- HttpClientFactory.ForProxy 설정을 통한 Proxy 서버 호스트 및 인증 정보 정의
- GoogleCredential.CreateWithHttpClientFactory 메서드를 사용하여 인증 전용 HTTP 클라이언트에 Proxy 설정 주입
- BigQueryClientBuilder의 Credential 필드 대신 GoogleCredential 필드에 프록시가 적용된 객체 할당
- 데이터 평면(Data Plane)과 제어 평면(Control Plane)의 HTTP 통신 경로를 모두 Proxy로 일치시킨 구조 설계
- OAuth Token 요청 단계부터 Proxy를 타도록 강제하여 네트워크 격리 환경의 통신 병목 제거
실천 포인트
1. Proxy 환경의 Google Cloud SDK 사용 시 데이터 호출뿐 아니라 인증 요청 경로 확인
2. Credential 인터페이스 대신 구체 타입인 GoogleCredential 사용 여부 검토
3. 인증 토큰 갱신 시점의 네트워크 타임아웃 발생 시 HttpClientFactory 주입 경로 전수 조사