ネットワーク接続オプション

データストリームを使用してソース データベースから宛先へのストリームを作成するには、ソース データベースへの接続を確立する必要があります。

データストリームでは、接続手段として IP 許可リスト、転送 SSH トンネル、VPC ピアリング ネットワーク接続がサポートされています。

特定のワークロードに最適な方法は、次の表の情報を使用して判断します。

ネットワーキングの方式 説明 利点 デメリット
IP 許可リスト

データストリームのパブリック IP アドレスからの受信接続を許可するようにソース データベース サーバーを構成することによって機能します。リージョンの IP アドレスを確認するには、IP 許可リストとリージョンをご覧ください。

  • 構成が容易
  • ソース データベースがパブリック IP アドレスに公開される。
  • 接続がデフォルトで暗号化されない。接続を暗号化するには、ソース データベースで SSL を有効にする必要があります。
  • ファイアウォールの構成で IT 部門のサポートが必要になる場合がある。
フォワード SSH トンネル

フォワード SSH トンネルを使用して、データストリームとソースとの間にパブリック ネットワーク経由の暗号化された接続を確立します。

詳細については、SSH トンネルをご覧ください。

  • 安全
  • 帯域幅の制限
  • 踏み台インスタンスを設定して維持する必要がある。
VPC ピアリング プライベート接続構成を作成することによって機能します。データストリームでは、この構成を使用して、プライベート ネットワークを介してデータソースと通信します。この通信は、Virtual Private Cloud(VPC)とのピアリング接続を介して行われます。
  • 安全なプライベート チャネル
  • 構成が容易
  • データベースと Google Cloud の間にプライベート ネットワーク接続(VPN、Interconnect など)が必要。

IP 許可リストを使用して接続を構成する

データストリームでソース データベースから宛先にデータを転送するためには、まずデータストリームをこのデータベースに接続する必要があります。

この接続を構成する方法の一つは、IP 許可リストを使用することです。パブリック IP 接続は、ソース データベースが Google Cloud の外部にあり、外部からアクセス可能な IPv4 アドレスと TCP ポートがある場合に適しています。

ソース データベースが Google Cloud の外部にある場合は、データストリームのパブリック IP アドレスをソース ネットワークの受信ファイアウォール ルールとして追加します。一般的には(ネットワーク設定によって異なる場合があります)、次の操作を行います。

  1. 移行元データベース マシンのネットワーク ファイアウォール ルールを開きます。

  2. 受信ルールを作成します。

  3. ソース データベースの IP アドレスをデータストリームの IP アドレスに設定します。

  4. プロトコルを TCP に設定します。

  5. TCP プロトコルに関連付けられたポートを設定します。デフォルト値は次のとおりです。

    • Oracle データベースの場合は 1521
    • 3306(MySQL データベースの場合)
    • 5432(PostgreSQL データベースの場合)
    • 1433(SQL Server データベースの場合)
  6. ファイアウォール ルールを保存してから終了します。

SSH トンネルを使用する

フォワード SSH トンネルを使用してソース データベースへの接続を設定する手順は次のとおりです。

ステップ 1: トンネルを終端するホストを選択する

データベースの SSH トンネル アクセスを設定する最初のステップは、トンネルの終端に使用するホストを選択することです。トンネルは、データベース ホスト自体または別のホスト(トンネル サーバー)で終端できます。

データベース サーバーを使用する

データベースでトンネルを終端すると、シンプルになるという利点があります。ホストが 1 つ少ないため、追加のマシンとそれに関連する費用がかかりません。欠点は、データベース サーバーがインターネットから直接アクセスできない保護されたネットワーク上に置かれる可能性があることです。

トンネル サーバーを使用する

別のサーバーでトンネルを終端すると、インターネットからデータベース サーバーにアクセスできないという利点が得られます。トンネル サーバーが不正使用された場合でも、データベース サーバーからは一歩距離があります。トンネル サーバーでは、重要でないソフトウェアやユーザーをすべて削除し、侵入検知システム(IDS)などのツールで注意深く監視することをおすすめします。

トンネル サーバーには、次の条件を満たす Unix または Linux ホストを指定できます。

  1. SSH を使用してインターネットからアクセスできる。
  2. データベースにアクセスできる。

ステップ 2: IP 許可リストを作成する

データベースの SSH トンネル アクセスを設定する 2 番目のステップでは、ネットワーク トラフィックが SSH(通常は TCP ポート 22)を使用して、トンネル サーバーかデータベース ホストに到達できるようにします。

データストリーム リソースが作成されるリージョンの IP アドレスそれぞれからのネットワーク トラフィックを許可します。

ステップ 3: SSH トンネルを使用する

接続プロファイルの構成でトンネルの詳細を指定します。詳細については、接続プロファイルを作成するをご覧ください。

SSH トンネル セッションを認証するために、Datastream はトンネル アカウントのパスワードまたは一意の秘密鍵を要求します。一意の秘密鍵を使用するために、OpenSSH または OpenSSL コマンドライン ツールを使用して鍵を生成できます。

Datastream は、Datastream 接続プロファイルの構成の一部として秘密鍵を安全に保存します。公開鍵は、踏み台ホストの ~/.ssh/authorized_keys ファイルに手動で追加する必要があります。

秘密鍵と公開鍵を生成する

SSH 認証鍵は、次の方法で生成できます。

  • ssh-keygen: SSH 認証鍵ペアを生成する OpenSSH コマンドライン ツール。

    有用なフラグ:

    • -t: 作成する鍵のタイプを指定します。次に例を示します。

      ssh-keygen -t rsa

      ssh-keygen -t ed25519

    • -b: 作成する鍵の鍵長を指定します。次に例を示します。

      ssh-keygen -t rsa -b 2048

    • -y: 非公開の OpenSSH 形式のファイルを読み取り、OpenSSH 公開鍵を標準出力に印刷します。

    • -f: 鍵ファイルのファイル名を指定します。次に例を示します。

      ssh-keygen -y [-f KEY_FILENAME]

    サポートされているフラグの詳細については、OpenBSD のドキュメントをご覧ください。

非公開の PEM 鍵は、次の方法で生成できます。

  • openssl genpkey: PEM 秘密鍵を生成する OpenSSL コマンドライン ツール。

    有用なフラグ:

    • algorithm: 使用する公開鍵アルゴリズムを指定します。次に例を示します。

      openssl genpkey -algorithm RSA

    • -out: 鍵を出力するファイル名を指定します。次に例を示します。

      openssl genpkey -algorithm RSA -out PRIVATE_KEY_FILENAME.pem

    サポートされているフラグの詳細については、OpenSSL のドキュメントをご覧ください。

プライベート接続を使用する

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

ソース データベースが Google Cloud の外部にある場合は、プライベート接続を使用することによって、データストリームが VPN や Interconnect 経由でデータベースと通信できます。

プライベート接続構成を作成すると、単独のリージョン内にある 1 つのプロジェクトのすべてのストリームに、1 つの構成で対応できます。

大きな括りでは、プライベート接続を確立するには次のものが必要です。

  • 既存の Virtual Private Cloud(VPC)
  • CIDR ブロックの大きさが /29 の使用可能な IP 範囲

プロジェクトで共有 VPC を使用している場合は、ホスト プロジェクトで、Datastream API と Google Compute Engine API を有効にし、データストリームのサービス アカウントに権限を付与する必要があります。

方法の詳細については、プライベート接続構成を作成するをご覧ください。

次のステップ