Cloud SQL インスタンスへのアクセスを設定する
このドキュメントでは、Virtual Private Cloud ピアリングの設定、Cloud SQL プロキシのインストール、さまざまな Google Cloud プロジェクトの内部 Cloud SQL IP アドレスへの接続の詳細な手順について説明します。この設定により、Cloud SQL インスタンスと次のコネクタ間の通信が安全かつ効率的になります。
このドキュメントでは、BigQuery Data Transfer Service コネクタ プロジェクトでのネットワーク アタッチメントの作成についても説明します。
始める前に
以下を用意してください。
- BigQuery Data Transfer Service コネクタを使用する Google Cloud プロジェクトと、Cloud SQL インスタンスを使用する別の Google Cloud プロジェクトへのアクセス権。
- Google Cloud プロジェクト内の既存の MySQL または PostgreSQL データベース。
- VPC の作成、ファイアウォール ルールの作成、ソフトウェアのインストールを行うための適切な権限。
- 仮想マシン(VM)インスタンス。
VPC ピアリングを設定する
VPC ピアリングを設定するには、BigQuery Data Transfer Service コネクタ プロジェクトから VPC ピアリングを作成し、Cloud SQL データベース プロジェクトで BigQuery Data Transfer Service プロジェクトへの VPC ピアリングを作成し、ルートとファイアウォール ルールを設定する必要があります。
BigQuery Data Transfer Service コネクタ プロジェクトから VPC ピアリングを作成する
- Google Cloud コンソールで、BigQuery Data Transfer Service コネクタ プロジェクトの [VPC ネットワーク ピアリング] ページに移動します。 
- [ピアリング接続の作成] をクリックします。 
- [名前] フィールドに、ピアリング設定の名前を入力します。 
- [VPC ネットワーク] で、BigQuery Data Transfer Service コネクタ プロジェクトでピアリングする VPC ネットワークを選択します。 
- [ピアリングした VPC ネットワーク] で [別のプロジェクト] オプションを選択します。 
- [プロジェクト ID] に、Cloud SQL プロジェクトのプロジェクト ID を入力します。 
- [VPC ネットワーク名] に、Cloud SQL プロジェクトの VPC ネットワークの名前を入力します。 
- [作成] をクリックします。 
Cloud SQL データベース プロジェクトに VPC ピアリングを作成する
Cloud SQL データベース プロジェクトから BigQuery Data Transfer Service プロジェクトへの VPC ピアリングを作成するには、次の操作を行います。
- Google Cloud コンソールで、BigQuery Data Transfer Service コネクタ プロジェクトの [VPC ネットワーク ピアリング] ページに移動します。 
- [ピアリング接続の作成] をクリックします。 
- [名前] フィールドに、ピアリング設定の名前を入力します。 
- Cloud SQL データベース プロジェクトでピアリングする VPC ネットワークを選択します。 
- [ピア プロジェクト ID] に、BigQuery Data Transfer Service プロジェクトのプロジェクト ID を入力します。 
- [ピアリングされた VPC ネットワーク] に、BigQuery Data Transfer Service コネクタ プロジェクトの VPC ネットワークの名前を入力します。 
- [作成] をクリックします。 
ルートとファイアウォール ルールを設定する
前の手順でピアリング接続を設定するときにインポート / エクスポート ルートを選択しなかった場合は、次の手順で選択します。
- BigQuery Data Transfer Service コネクタ プロジェクトの [ルート] ページに移動します。 
- ピアリングされた VPC 環境間のトラフィックを許可するルートが存在することを確認します。 
- [ファイアウォール ポリシー] ページに移動 
- ピアリングされたネットワーク間で必要なポート(MySQL の場合はポート 3306、PostgreSQL の場合はポート 5432 など)でトラフィックを許可するファイアウォール ルールを作成します。 
- BigQuery Data Transfer Service コネクタ プロジェクトに必要なカスタム ファイアウォール ルールを、Cloud SQL データベース ホスト型プロジェクトに追加します。 
- 前の手順と同様に、Cloud SQL インスタンスを使用してプロジェクトのルートとファイアウォール ルールを設定します。 
Cloud SQL Proxy を設定する
- SSH を使用して、BigQuery Data Transfer Service コネクタ プロジェクトの仮想マシン(VM)インスタンスに接続します。 
- ターミナルで Cloud SQL Proxy をダウンロードします。 - wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.amd64 -O cloud_sql_proxy
- ダウンロードしたファイルの権限を更新します。 - chmod +x cloud_sql_proxy
- Cloud SQL Proxy を実行します。 - ./cloud_sql_proxy -instances=NAME=tcp:3306 or 5432 &- NAMEは、Cloud SQL インスタンスの名前に置き換えます。
内部 Cloud SQL IP アドレスに接続する
- 接続には Cloud SQL インスタンスの内部 IP アドレスを使用します。
- 適切な認証情報とデータベースの詳細を指定して、内部 IP アドレスに接続するようにアプリケーションまたはツールを構成します。
別の Google Cloud プロジェクトから接続する場合は、前にデプロイしたプロキシ VM の内部 IP アドレスを使用します。このソリューションにより、トランジティブ ピアリングの問題が解決されます。
ネットワーク アタッチメントを作成する
BigQuery Data Transfer Service コネクタ プロジェクトでネットワーク アタッチメントを作成するには、次の操作を行います。
- Google Cloud コンソールで、[ネットワーク アタッチメント] ページに移動します。 
- [ネットワーク アタッチメントの作成] をクリックします。 
- ネットワークの [名前] を指定します。 
- 適切な VPC ネットワークを選択します。 
- [リージョン] に、BigQuery Data Transfer Service コネクタが配置されているリージョンを指定します。 
- [サブネットワーク] で、設定に適したオプションを選択します。 
- [ネットワーク アタッチメントの作成] をクリックします。 
接続をテストする
- Cloud SQL Proxy を使用する VM が Cloud SQL インスタンスに接続できることを確認します。 - mysql -u USERNAME -p -h IP_ADDRESS- 次のように置き換えます。 - USERNAME: データベース ユーザーのユーザー名
- IP_ADDRESS: Cloud SQL インスタンスの IP アドレス
 
- BigQuery Data Transfer Service コネクタ プロジェクト内のアプリケーションが、内部 IP を使用して Cloud SQL インスタンスに接続できることを確認します。 
トラブルシューティング
ネットワーク設定の設定で問題が発生した場合は、次の操作を行います。
- VPC ピアリングが確立され、ルートが正しく設定されていることを確認します。
- ファイアウォール ルールで必要なポートのトラフィックが許可されていることを確認します。
- Cloud SQL Proxy のログをチェックしてエラーがないか確認し、正しく実行されていることを確認します。
- ネットワーク アタッチメントが正しく設定され、接続されていることを確認します。