サブネットの Private Google Access 設定の確認

外部 IP のない VM の Google API 接続経路と Private Google Access を確認してください。

説明

Private Google Access は、外部 IP アドレスのない VM から対応する Google API やサービスへアクセスするためのサブネット設定です。必要なワークロードで無効になっており、他の接続経路もない場合は API 呼び出しが失敗することがあります。

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 の認証・権限も必要です。

参考資料