プライベート接続

をご覧ください。

概要

プライベート接続は、Virtual Private Cloud(VPC)ネットワークと Datastream のプライベート ネットワーク間の接続であり、Datastream は内部 IP アドレスを使用してリソースと通信できます。プライベート接続を使用すると、Datastream ネットワーク上に専用接続が確立され、他のお客様と共有できなくなります。

プライベート接続を使用すると、Datastream を任意のソースに接続できます。ただし、相互に通信できるのは、直接ピアリングされた VPC ネットワークのみです。

推移的ピアリングはサポートされていません。Datastream がピアリングされているネットワークが、ソースがホストされているネットワークでない場合は、プロキシが必要です。

このページでは、プロキシを使用して Datastream と Cloud SQL の間、または Datastream と別の VPC または Google ネットワーク外でホストされているソースとの間でプライベート接続を確立する方法について説明します。

なぜ Cloud SQL Auth プロキシが必要なのですか?

プライベート IP アドレスを使用するように Cloud SQL インスタンスを構成する場合は、VPC ネットワークと、Cloud SQL インスタンスが存在する基盤となる Google サービスの VPC ネットワークとの間の VPC ピアリング接続を使用します。

Datastream のネットワークは Cloud SQL のプライベート サービス ネットワークと直接ピアリングできないため、VPC ピアリングが推移的ではないため、Datastream から Cloud SQL インスタンスへの接続をブリッジするには Cloud SQL Auth プロキシが必要です。

次の図は、Cloud SQL Auth プロキシを使用して、Datastream と Cloud SQL の間にプライベート接続を確立する方法を示しています。

Datastream ユーザーフローの図

Cloud SQL Auth プロキシを設定する

  1. Datastream がソースの Cloud SQL インスタンスに接続する VPC ネットワークを特定します。この VPC ネットワークはインスタンスに接続できる必要があります。

  2. この VPC ネットワークで、Debian または Ubuntu の基本的なイメージを使用して新しい VM を作成します。この VM は Cloud SQL Auth プロキシ クライアントをホストします。

  3. このガイドの手順に従って、Cloud SQL Auth プロキシを設定します。

  4. Datastream でプライベート接続構成を作成し、VPC と Datastream の VPC との間の VPC ピアリングを確立します。

  5. Datastream で接続プロファイルを作成します。接続の詳細として、プロキシ クライアントをホストする VM の IP アドレスとポートを入力します。

リバース プロキシが必要な理由

Datastream の VPC ネットワークが VPC ネットワーク(「Network1」)とピアリングされていて、別の VPC ネットワーク(「Network2」)からソースにアクセスできる場合、Datastream はソースとの通信に VPC ネットワーク ピアリングのみを使用できません。リバース プロキシは、Datastream とソースの間の接続をブリッジするためにも必要です。

次の図は、リバース プロキシを使用して Datastream と Google ネットワークの外部でホストされているソースとのプライベート接続を確立している方法を示しています。

Datastream ユーザーフローの図

リバース プロキシを設定する

  1. Datastream がソースに接続する VPC ネットワークを特定します。
  2. この VPC ネットワークで、Debian または Ubuntu の基本的なイメージを使用して新しい VM を作成します。この VM はリバース プロキシをホストします。
  3. サブネットが Datastream と同じリージョン内にあり、リバース プロキシが(ソースではなく)ソースにトラフィックを転送することを確認します。
  4. VM からソースの内部 IP アドレスとポートに ping または telnet コマンドを実行して、VM がソースと通信できることを確認します。
  5. 次のスクリプトを使用して、リバース プロキシに SSH 接続し、ファイルを作成します。
        #! /bin/bash
    
        export DB_ADDR=[IP]
        export DB_PORT=[PORT]
    
        export ETH_NAME=$(ip -o link show | awk -F': ' '{print $2}' |
        grep -v lo)
    
        export REMOTE_IP_ADDR=$(getent hosts $DB_ADDR | awk '{print $1}')
    
        export LOCAL_IP_ADDR=$(ip -4 addr show $ETH_NAME |
        grep -Po 'inet \K[\d.]+')
    
        echo 1 > /proc/sys/net/ipv4/ip_forward
        iptables -t nat -A PREROUTING -p tcp -m tcp --dport $DB_PORT
        -j DNAT --to-destination       $REMOTE_IP_ADDR:$DB_PORT
        iptables -t nat -A POSTROUTING -j SNAT --to-source $LOCAL_IP_ADDR
        
  6. スクリプトを実行します。
  7. Datastream でプライベート接続構成を作成し、VPC と Datastream の VPC との間の VPC ピアリングを確立します。
  8. Datastream で接続プロファイルを作成します。接続の詳細として、プロキシをホストする VM の内部 IP アドレスとポートを入力します。