独自に作成することも、特定の移行ジョブのコンテキストで作成することも可能です。どちらの場合でも、すべての接続プロファイルは [接続プロファイル] ページで確認と変更を行うことができ、移行ジョブ間で再利用できます。
ソース接続プロファイルを独自に作成すると、ソースのアクセス情報を持っているユーザーと移行ジョブを作成したユーザーが異なる場合に役立ちます。また、複数の移行ジョブでソース接続プロファイル定義を再利用することもできます。
ソース接続プロファイルを作成する手順は次のとおりです。
コンソール
- コンソールで [接続プロファイル] ページに移動します。 Google Cloud
- [プロファイルを作成] をクリックします。
- [接続プロファイルの作成] ページの [プロファイル ロール] リストから、[ソース] を選択します。
- [データベース エンジン] リストから、移行元データベース エンジンを選択します。
- [**接続プロファイル名**] フィールドに、接続プロファイルのわかりやすい名前を入力します。この値は、接続プロファイル リストに表示されます。
- 自動生成された接続プロファイル ID を保持します。
- ホスト名 または IP アドレス を入力します。
移行元データベースが Google Cloudでホストされている場合、 またはリバース SSH トンネルを使用して移行先データベースを移行元データベースに接続する場合は、 移行元データベースのプライベート(内部)IP アドレスを指定します。 このアドレスは Cloud SQL の移行先からアクセスできます。詳細については、 VPC ピアリングを使用して接続を構成するをご覧ください。
- 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:接続プロファイルを保存するリージョンの識別子。
- HOST_IP_ADDRESS:Database Migration Service が移行元データベース インスタンスに到達できる IP アドレス。 この値は、移行に使用する 接続方法によって異なります。
- PORT_NUMBER PORT_NUMBER: 移行元 データベースが受信接続を受け入れるポート番号。デフォルトの MySQL ポートは 3306 です。
- USERNAME Database Migration Service が移行元データベース インスタンスに接続するデータベース ユーザー アカウントの名前。
- 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]