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

概要

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

データストリームでは、接続手段として 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 プロトコルに関連付けられているポートを 1521 に設定します。

  6. ファイアウォール ルールを保存してから終了します。

SSH トンネルを使用する

次の手順では、フォワード SSH トンネルを使用してソース データベースへの接続を設定する方法について説明します。

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

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

データベース サーバーの使用

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

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

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

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

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

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

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

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

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

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

SSH トンネル セッションを認証するには、データストリームでトンネル アカウントのパスワードか、一意の秘密鍵が必要です。一意の秘密鍵を使用するために、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 を有効にし、データストリームのサービス アカウントに権限を付与する必要があります。

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