설명
Private Google Access는 외부 IP 주소가 없는 VM이 지원되는 Google API와 서비스에 접근하도록 돕는 서브넷 설정입니다. 이 기능이 필요한 워크로드에서 꺼져 있고 다른 접근 경로도 없다면 API 호출이 실패할 수 있습니다.
Google API에 대한 IAM 권한을 부여하거나 모든 외부 통신을 차단하는 기능은 아닙니다. 작업에 값이 없다는 사실만으로 기존 서브넷의 실제 설정을 단정하지 말고 적용 상태와 네트워크 구성을 확인하세요.
잠재적 영향
- 외부 IP 없는 워크로드가 필요한 Google API에 연결하지 못할 수 있습니다.
- 연결 문제를 해결하려고 불필요한 외부 IP나 넓은 통신 경로를 추가할 수 있습니다.
해결 방법
- 필요한 경우
private_ip_google_access: yes를 설정하세요. 이미 승인된 다른 접근 방식이 있다면 해당 경로와 요구사항도 확인하세요. - DNS, 경로, 방화벽과 API 권한을 함께 점검하고 외부 IP 없는 VM에서 연결을 시험하세요. 일반 인터넷 접근 제한은 별도로 관리하세요.
예시
서브넷 작업 발췌입니다. network 결과 객체, 프로젝트와 서비스 계정 JSON 파일을 실제 환경에 맞게 준비하세요. DNS, 라우팅과 방화벽 설정은 포함하지 않습니다.
변경 전
yaml
- name: 서브넷 생성
google.cloud.gcp_compute_subnetwork:
name: ansiblenet
region: us-west1
network: "{{ network }}"
ip_cidr_range: 172.16.0.0/16
project: test_project
auth_kind: serviceaccount
service_account_file: /tmp/auth.pem
state: present
변경 후
yaml
- name: 서브넷 생성
google.cloud.gcp_compute_subnetwork:
name: ansiblenet
region: us-west1
network: "{{ network }}"
ip_cidr_range: 172.16.0.0/16
project: test_project
auth_kind: serviceaccount
service_account_file: /tmp/auth.pem
private_ip_google_access: yes
state: present
설명:
- 변경 전: 이 작업은 Private Google Access 값을 지정하지 않습니다. 기존 서브넷의 실제 상태를 확인해야 합니다.
- 변경 후: 기능을 명시적으로 켭니다. 네트워크 경로와 Google API 인증·권한이 갖추어져야 사용할 수 있습니다.