データストリームを使用してソース データベースから宛先へのストリームを作成するには、ソース データベースへの接続を確立する必要があります。
データストリームでは、接続手段として IP 許可リスト、転送 SSH トンネル、VPC ピアリング ネットワーク接続がサポートされています。
特定のワークロードに最適な方法は、次の表の情報を使用して判断します。
ネットワーキングの方式 | 説明 | 利点 | デメリット |
---|---|---|---|
IP 許可リスト | データストリームのパブリック IP アドレスからの受信接続を許可するようにソース データベース サーバーを構成することによって機能します。リージョンの IP アドレスを確認するには、IP 許可リストとリージョンをご覧ください。 |
|
|
フォワード SSH トンネル |
フォワード SSH トンネルを使用して、データストリームとソースとの間にパブリック ネットワーク経由の暗号化された接続を確立します。 詳細については、SSH トンネルをご覧ください。 |
|
|
VPC ピアリング | プライベート接続構成を作成することによって機能します。データストリームでは、この構成を使用して、プライベート ネットワークを介してデータソースと通信します。この通信は、Virtual Private Cloud(VPC)とのピアリング接続を介して行われます。 |
|
|
IP 許可リストを使用して接続を構成する
データストリームでソース データベースから宛先にデータを転送するためには、まずデータストリームをこのデータベースに接続する必要があります。
この接続を構成する方法の一つは、IP 許可リストを使用することです。パブリック IP 接続は、ソース データベースが Google Cloud の外部にあり、外部からアクセス可能な IPv4 アドレスと TCP ポートがある場合に適しています。
ソース データベースが Google Cloud の外部にある場合は、データストリームのパブリック IP アドレスをソース ネットワークの受信ファイアウォール ルールとして追加します。一般的には(ネットワーク設定によって異なる場合があります)、次の操作を行います。
移行元データベース マシンのネットワーク ファイアウォール ルールを開きます。
受信ルールを作成します。
ソース データベースの IP アドレスをデータストリームの IP アドレスに設定します。
プロトコルを
TCP
に設定します。TCP
プロトコルに関連付けられたポートを設定します。デフォルト値は次のとおりです。- Oracle データベースの場合は
1521
3306
(MySQL データベースの場合)5432
(PostgreSQL データベースの場合)1433
(SQL Server データベースの場合)
- Oracle データベースの場合は
ファイアウォール ルールを保存してから終了します。
SSH トンネルを使用する
フォワード SSH トンネルを使用してソース データベースへの接続を設定する手順は次のとおりです。
ステップ 1: トンネルを終端するホストを選択する
データベースの SSH トンネル アクセスを設定する最初のステップは、トンネルの終端に使用するホストを選択することです。トンネルは、データベース ホスト自体または別のホスト(トンネル サーバー)で終端できます。
データベース サーバーを使用する
データベースでトンネルを終端すると、シンプルになるという利点があります。ホストが 1 つ少ないため、追加のマシンとそれに関連する費用がかかりません。欠点は、データベース サーバーがインターネットから直接アクセスできない保護されたネットワーク上に置かれる可能性があることです。
トンネル サーバーを使用する
別のサーバーでトンネルを終端すると、インターネットからデータベース サーバーにアクセスできないという利点が得られます。トンネル サーバーが不正使用された場合でも、データベース サーバーからは一歩距離があります。トンネル サーバーでは、重要でないソフトウェアやユーザーをすべて削除し、侵入検知システム(IDS)などのツールで注意深く監視することをおすすめします。
トンネル サーバーには、次の条件を満たす Unix または Linux ホストを指定できます。
- SSH を使用してインターネットからアクセスできる。
- データベースにアクセスできる。
ステップ 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 を有効にし、データストリームのサービス アカウントに権限を付与する必要があります。
方法の詳細については、プライベート接続構成を作成するをご覧ください。
次のステップ
- プライベート接続の詳細を確認する。
- プライベート接続構成を作成する方法を学習する。