独自に作成することも、特定の移行ジョブのコンテキストで作成することも可能です。いずれの場合も、すべての接続プロファイルは [接続プロファイル] ページで確認および変更でき、移行ジョブ間で再利用できます。
ソース接続プロファイルを独自に作成すると、ソースのアクセス情報を持っているユーザーと移行ジョブを作成したユーザーが異なる場合に役立ちます。また、複数の移行ジョブで移行元接続プロファイル定義を再利用することもできます。
ソース接続プロファイルを作成する手順は次のとおりです。
コンソール
- Google Cloud コンソールの [接続プロファイル] ページに移動します。
- [プロファイルを作成] をクリックします。
- [接続プロファイルの作成] ページの [プロファイル ロール] リストから、[ソース] を選択します。
- [データベース エンジン] リストから、移行元データベース エンジンを選択します。
- [接続プロファイル名] フィールドに、接続プロファイルの人間が読める名前を入力します。この値は、接続プロファイル リストに表示されます。
- 自動生成された接続プロファイル ID を保持します。
- ホスト名または IP アドレスを入力します。
ソース データベースが Google Cloudでホストされている場合、またはリバース SSH トンネルを使用して移行先データベースをソース データベースに接続する場合は、ソース データベースのプライベート(内部)IP アドレスを指定します。このアドレスは Cloud SQL の宛先からアクセスできます。詳細については、 VPC ピアリングを使用して接続を構成するをご覧ください。
IP 許可リストなどの他の接続方法の場合は、パブリック IP アドレスを指定します。
- MySQL では、ホスト名が 60 文字に制限されています。Amazon RDS データベースのホスト名は通常、60 文字を超えます。移行するデータベースがこれに該当する場合は、DNS リダイレクトを構成して、ドメイン名を RDS DB インスタンスのドメイン名に関連付ける CNAME レコードを作成します。DNS CNAME の設定について詳しくは、Google Cloud または AWS Route53 をご覧ください。
- ホストへのアクセスに使用するポートを入力します。デフォルトの MySQL ポートは 3306 です。
- 移行先データベースのユーザー名とパスワードを入力します。ユーザー アカウントには、データにアクセスするために必要な権限が必要です。詳細については、 移行元データベースを構成するをご覧ください。
- ページの [接続プロファイルのリージョン] セクションで、接続プロファイルを保存するリージョンを選択します。
省略可: パブリック ネットワーク上で(IP 許可リストを使用して)接続している場合は、移行元データベースと移行先データベース間の接続に SSL/TLS 暗号化を使用することをおすすめします。
[接続を保護する] セクションの [暗号化タイプ] リストで、次のいずれかの SSL/TLS 構成オプションを選択できます。
- なし: Cloud SQL の宛先インスタンスは、暗号化なしでソース データベースに接続します。データベースで暗号化された接続が必要な場合は、このオプションを使用しないことをおすすめします。
- 基本: Cloud SQL の宛先インスタンスは、暗号化を使用してソース データベースに接続しますが、認証局(CA)は検証しません。
TLS 認証: Cloud SQL の宛先インスタンスがソース データベースに接続すると、インスタンスはソースを認証し、インスタンスが正しいホストに安全に接続していることを確認します。これにより、中間者(PITM)攻撃を防ぐことができます。TLS 認証の場合、ソースはインスタンスを認証しません。
TLS 認証を使用するには、外部サーバーの証明書に署名した CA の x509 PEM エンコード証明書を指定する必要があります。
- mTLS 認証: 宛先インスタンスがソースに接続すると、インスタンスはソースを認証し、ソースはインスタンスを認証します。
mTLS 認証は、最も強力なセキュリティを提供します。ただし、Cloud SQL の宛先インスタンスの作成時にクライアント証明書と秘密鍵を提供したくない場合は、TLS 認証を使用することもできます。
mTLS 認証を使用するには、宛先接続プロファイルを作成するときに次の項目を指定する必要があります。
- ソース データベース サーバーの証明書に署名した CA の証明書(CA 証明書)。
- インスタンスがソース データベース サーバーに対する認証に使用する証明書(クライアント証明書)。
- クライアント証明書に関連付けられた秘密鍵(クライアント鍵)。
[作成] をクリックします。
[接続プロファイル] ページが表示され、新しく作成された接続プロファイルが表示されます。
gcloud
このサンプルでは、すべてのオペレーションが同期的に実行されるように、オプションの --no-async フラグを使用しています。つまり、一部のコマンドは完了するまでに時間がかかることがあります。--no-async フラグを省略して、コマンドを非同期で実行できます。その場合は、gcloud database-migration operations describe コマンドを使用して、オペレーションが成功したかどうかを確認する必要があります。
後述のコマンドデータを使用する前に、次のように置き換えます。
- CONNECTION_PROFILE_ID: 接続プロファイルの機械可読識別子。
- REGION は、接続プロファイルを保存するリージョンの ID に置き換えます。
- Database Migration Service が移行元のデータベース インスタンスにアクセスできる IP アドレスを持つ HOST_IP_ADDRESS。この値は、移行に使用する 接続方法によって異なります。
- PORT_NUMBER は、ソース データベースが受信接続を受け入れるポート番号に置き換えます。デフォルトの MySQL ポートは 3306 です。
- Database Migration Service が移行元データベース インスタンスに接続するデータベース ユーザー アカウントの名前。USERNAME に指定します。
- PASSWORD は、データベース ユーザー アカウントのパスワードに置き換えます。
- (省略可)CONNECTION_PROFILE_NAME: 接続プロファイルの人間が読める名前。この値は Google Cloud コンソールに表示されます。
次のコマンドを実行します。
Linux、macOS、Cloud Shell
gcloud database-migration connection-profiles \ create mysql CONNECTION_PROFILE_ID \ --no-async \ --region=REGION \ --host=HOST_IP_ADDRESS \ --port=PORT_NUMBER \ --username=USERNAME \ --password=PASSWORD \ --display-name=CONNECTION_PROFILE_NAME
Windows(PowerShell)
gcloud database-migration connection-profiles ` create mysql CONNECTION_PROFILE_ID ` --no-async ` --region=REGION ` --host=HOST_IP_ADDRESS ` --port=PORT_NUMBER ` --username=USERNAME ` --password=PASSWORD ` --display-name=CONNECTION_PROFILE_NAME
Windows(cmd.exe)
gcloud database-migration connection-profiles ^ create mysql CONNECTION_PROFILE_ID ^ --no-async ^ --region=REGION ^ --host=HOST_IP_ADDRESS ^ --port=PORT_NUMBER ^ --username=USERNAME ^ --password=PASSWORD ^ --display-name=CONNECTION_PROFILE_NAME
次のようなレスポンスが返されます。
Waiting for connection profile [CONNECTION_PROFILE_ID] to be created with [OPERATION_ID] Waiting for operation [OPERATION_ID] to complete...done. Created connection profile CONNECTION_PROFILE_ID [OPERATION_ID]