VPN ゲートウェイとピア ゲートウェイを作成する

このページでは、VPN ゲートウェイまたはピア ゲートウェイ リソースを作成する方法について説明します。

VPN ゲートウェイは、オンプレミス データセンターとクラウド環境など、複数のサイト間での安全な接続を実現します。Google Distributed Cloud(GDC)エアギャップ VPN 用に構成するゲートウェイ コンポーネントは 2 つあります。

  • GDC の VPN ゲートウェイ。
  • ピア VPN ゲートウェイ。これは、VPN ゲートウェイが接続するピア ネットワーク内の物理 VPN ゲートウェイ デバイスまたはソフトウェア アプリケーションです。ピア ゲートウェイは、オンプレミス VPN ゲートウェイまたは他のクラウド プロバイダにホストされているゲートウェイです。

始める前に

GDC コンソールから VPN リソースを管理または表示するには、必要な ID とアクセスロールが必要です。

  • VPN 管理者: VPN 関連のすべてのリソースに対する読み取り / 書き込み権限があります。組織の IAM 管理者に、VPN 管理者(vpn-admin)ロールを付与するよう依頼します。
  • VPN 閲覧者: VPN 関連のすべてのリソースに対する読み取り権限があります。組織の IAM 管理者に、VPN 閲覧者(vpn-viewer)ロールを付与するよう依頼します。
  • 詳細については、ロールの定義をご覧ください。

VPN ゲートウェイを作成する

VPN ゲートウェイを作成する手順は次のとおりです。

  1. IP アドレスを表すゲートウェイのインターフェース名を指定します。ゲートウェイが作成されると、外部 IPv4 アドレスが自動的に割り振られます。プラットフォーム Namespace に VPN ゲートウェイ オブジェクトを作成します。

    kubectl --kubeconfig MANAGEMENT_API_SERVER create -n platform -f - <<EOF
    apiVersion: networking.gdc.goog/v1
    kind: VPNGateway
    metadata:
      name: VPN_GW_NAME
    spec:
      interfaces:
      - name: VPN_INTERFACE_NAME
    EOF
    

    次のように置き換えます。

    • MANAGEMENT_API_SERVER: ゾーン API サーバーの kubeconfig パス。ターゲット ゾーンの API サーバーの kubeconfig ファイルをまだ生成していない場合は、ログインで詳細を確認してください。
    • VPN_GW_NAME: VPN ゲートウェイ オブジェクトの名前。例: vpngateway
    • VPN_INTERFACE_NAME: VPN インターフェースの名前。例: interface0
  2. Status フィールドを調べて、VPN_GW_NAME オブジェクトが正しく調整されたことを確認します。VPN ゲートウェイ オブジェクトの詳細を取得します。

    kubectl --kubeconfig MANAGEMENT_API_SERVER describe -n platform vpngateway VPN_GW_NAME
    

    出力を確認します。次の例のようになっている必要があります。

    
    status:
      conditions:
      - lastTransitionTime: "2024-05-10T00:12:58Z"
        message: All interfaces are assigned an IP.
        observedGeneration: 1
        reason: Ready
        status: "True"
        type: IPsAssigned
      - lastTransitionTime: "2024-05-10T00:12:36Z"
        message: Condition "TunnelsAttached" is not ready.
        observedGeneration: 1
        reason: NotReady
        status: "False"
        type: Ready
      - lastTransitionTime: "2024-05-10T00:12:36Z"
        message: 'At least one interface is not attached to any VPNTunnel: ["interface0"]'
        observedGeneration: 1
        reason: NoTunnelAttached
        status: "False"
        type: TunnelsAttached
      interfaces:
      - ip: 10.252.218.240
        name: interface0
    

VPNGateway オブジェクトは VPNTunnel にアタッチする必要があります。この手順は、VPN トンネルを作成するで説明します。

ピア VPN ゲートウェイを作成する

Management API サーバーに PeerGateway オブジェクトを作成して、ピア VPN ゲートウェイを作成します。PeerGateway オブジェクトは、リモート VPN エンドポイントを表します。PeerGateway オブジェクトのインターフェースは、VPN トンネルによってリモートサイトへの暗号化トンネルを確立するために使用されます。ピア VPN ゲートウェイを作成する手順は次のとおりです。

  1. インターフェース名とピア VPN ゲートウェイの静的外部 IPv4 アドレスを指定します。PeerGateway オブジェクトは、プラットフォーム Namespace に作成する必要があります。

    kubectl --kubeconfig MANAGEMENT_API_SERVER create -n platform -f - <<EOF
    apiVersion: networking.gdc.goog/v1
    kind: PeerGateway
    metadata:
      name: PEER_GW_NAME
    spec:
      interfaces:
      - name: PEER_INTERFACE_NAME
        ip: PEER_INTERFACE_IP
    EOF
    

    次のように置き換えます。

    • PEER_GW_NAME: ピア VPN ゲートウェイの名前。例: peergateway
    • PEER_INTERFACE_NAME: ピア インターフェースの名前。例: interface0
    • PEER_INTERFACE_IP: ピア VPN ゲートウェイの静的外部 IPv4 アドレス。
  2. Status フィールドを調べて、PEER_GW_NAME オブジェクトが正しく調整されたことを確認します。

    ピア VPN ゲートウェイ オブジェクトの詳細を取得します。

    kubectl --kubeconfig MANAGEMENT_API_SERVER describe -n platform peergateway PEER_GW_NAME
    

    出力を確認します。次の例のようになっている必要があります。

    Status:
      Conditions:
        Last Transition Time:  2024-05-10T00:15:25Z
        Message:               Condition "TunnelsAttached" is not ready.
        Observed Generation:   1
        Reason:                NotReady
        Status:                False
        Type:                  Ready
        Last Transition Time:  2024-05-10T00:20:45Z
        Message:               Ready
        Observed Generation:   1
        Reason:                Ready
        Status:                True
        Type:                  ValidGatewayIPs
        Last Transition Time:  2024-05-10T00:15:25Z
        Message:               At least one interface is not attached to any VPNTunnel: ["interface0"]
        Observed Generation:   1
        Reason:                NoTunnelAttached
        Status:                False
        Type:                  TunnelsAttached
    

    PeerGateway オブジェクトは VPNTunnel によって参照される必要があります。この手順は、VPN トンネルを作成するで説明します。

次のステップ