VPCピアリング
VPCピアリングにより、DatabricksクラスターはAWS内部ネットワーク内のプライベートIPアドレスを使用して他のAWSインフラストラクチャ(RDS、Redshift、Kafka、Cassandraなど)に接続できます。
他のインフラストラクチャをホストするVPCは、Databricks VPCおよびDatabricks VPCメインルートテーブルの宛先として含まれる他のCIDR範囲とは異なるCIDR範囲を持つ必要があります。コンフリクトが発生した場合は、Databricksサポートに連絡して、選択した新しいCIDR範囲へのDatabricks VPCの移動についてお問い合わせください。AWSコンソールでDatabricks VPCを検索し、それに関連するメインのルートテーブルをクリックし、[ルートテーブル]タブを調べることで表示できます。以下は、すでに他のいくつかのVPCとピアリングされているDatabricksデプロイメントのメインルートテーブルの例です。
VPCピアリングについては、 AWS VPCピアリングガイドを参照してください。
このガイドでは、AWS コンソールを使用して AWS Aurora RDS を Databricks VPC にピアリングする例を順を追って説明します。 プログラムによるソリューションをご希望の場合は、すべてのステップを自動的に実行するノートブックの プログラムによる VPC ピアリング をご覧ください。 最後に、一般的な問題と解決策の トラブルシューティング セクションがあります。
重要
VPC ピアリングを設定する前に、AWS/DevOps チームに相談してください。 AWS に関するある程度の知識と十分な権限があれば、このプロセスはスムーズに進むでしょう。 ノートブックはこの移行に役立ちますが、環境に応じて、既存のインフラストラクチャに影響が及ばないように必要な変更を加えることが重要です。
AWSコンソールの例
以下の図は、Databricksデプロイメントを他のAWSインフラストラクチャにピアリングする際に関係するすべての異なるコンポーネントを示しています。この例では、Databricksは1つのAWSアカウントにデプロイされ、Aurora RDSは別のアカウントにデプロイされます。ピアリング接続が確立され、2つのVPCが両方のAWSアカウントにまたがってリンクされます。
自分のAWSコンソールでこのプロセスを進める際、参照できるように情報を表にまとめておくと便利です。以下を記録してください。
Databricks VPCのIDとCIDR範囲。
他のインフラストラクチャ(Aurora RDS)のIDとCIDR範囲。
Databricks VPCのメインルートテーブルのID。
AWSサービス |
名前 |
ID |
CIDRレンジ |
---|---|---|---|
VPC |
Databricks VPC |
vpc-dbcb3fbc |
10.126.0.0/16 |
VPC |
Aurora RDS VPC |
vpc-7b52471c |
172.78.0.0/16 |
ルートテーブル |
Databricksメインルートテーブル |
rtb-3775c750 |
ステップ1:ピアリング接続を作成する
VPC ダッシュボードに移動します。
[ピアリング接続]を選択します。
[ピアリング接続を作成]をクリックします。
VPCリクエスターをDatabricks VPC IDに設定します。
VPC AcceptorをAurora VPC IDに設定します。
[ピアリング接続の作成]をクリックします。
ステップ2:ピアリング接続のIDを記録する
AWSサービス |
名前 |
ID |
CIDRレンジ |
---|---|---|---|
VPC |
Databricks VPC |
vpc-dbcb3fbc |
10.126.0.0/16 |
VPC |
Aurora RDS VPC |
vpc-7b52471c |
172.78.0.0/16 |
ルートテーブル |
Databricksメインルートテーブル |
rtb-3775c750 |
|
ピアリング接続 |
Databricks VPC <> Aurora VPC |
pcx-4d148024 |
ステップ3:ピアリング接続リクエストを許可する
Aurora RDSのあるVPCは、その所有者にリクエストを承認してもらう必要があります。これが完了するまで、ピアリング接続のステータスは[承認待ち]と表示されます。
[アクション] > [リクエストの承認]を選択します。
ステップ4:ピアリング接続にDNS解決を追加する
Databricks VPCをホストするAWSアカウントにログインします。
VPC ダッシュボードに移動します。
[ピアリング接続]を選択します。
[アクション] メニューから[DNS 設定の編集]を選択します。
クリックしてDNS解決を有効にします。
Aurora VPCをホストするAWSアカウントにログインし、ステップ2~4を繰り返します。
ステップ5:宛先をDatabricks VPCメインルートテーブルに追加する
VPCダッシュボードで[ルートテーブル]を選択します。
Databricks VPC IDを検索します。
[ルート]タブの[編集]ボタンをクリックします。
[別のルートを追加] をクリックします。
[宛先] のAurora VPCの CIDR範囲を入力します。
[ターゲット] にピアリング接続のIDを入力します。
ステップ6:Aurora VPCメインルートテーブルに宛先を追加する
VPCダッシュボードで[ルートテーブル]を選択します。
Aurora VPC IDを検索します。
[ルート]タブの[編集]ボタンをクリックします。
[別のルートを追加] をクリックします。
[宛先] にDatabricks VPCの CIDR範囲を入力します。
[ターゲット] にピアリング接続のIDを入力します。
ステップ7:Databricksのアンマネージドセキュリティグループを見つける
VPCダッシュボードで[セキュリティグループ] を選択します。
Databricks VPCのIDを検索します。
名前に [アンマネージド] と付いているセキュリティグループのIDを探して記録します。マネージドセキュリティグループは選択しないでください 。
AWSサービス |
名前 |
ID |
CIDRレンジ |
---|---|---|---|
VPC |
Databricks VPC |
vpc-dbcb3fbc |
10.126.0.0/16 |
VPC |
Aurora RDS VPC |
vpc-7b52471c |
172.78.0.0/16 |
ルートテーブル |
Databricksメインルートテーブル |
rtb-3775c750 |
|
ピアリング接続 |
Databricks VPC <> Aurora VPC |
pcx-4d148024 |
|
セキュリティグループ |
Databricksアンマネージドグループ |
sg-96016bef |
プログラムによるVPCピアリング
このノートブックでは、次の2つのシナリオがサポートされています。
Databricks VPCと同じAWSアカウント内の別のVPC間でVPCピアリングを確立する
Databricks VPCと別のAWSアカウントにある別のVPCとの間でVPCピアリングを確立する
トラブルシューティング
以下との接続を確立できません: netcat
netcat
で接続を確立できない場合は、host
Linuxコマンドを使用して、ホスト名がDNSで解決されていることを確認します。ホスト名が解決しない場合は、ピアリング接続でDNS解決が有効になっていることを確認してください。
%sh host -t a <hostname>
ホスト名またはIPアドレスで接続を確立できません
ホスト名またはIPアドレスのいずれでも接続を確立できない場合は、Aurora RDSのVPCにメインルートテーブルに関連付けられた3つのサブネットがあることを確認してください。
VPCダッシュボードからサブネットを選択し、Aurora VPCのIDを検索します。アベイラビリティゾーンごとにサブネットが必要です。
これらの各サブネットがメインルートテーブルに関連付けられていることを確認します。
VPCダッシュボードから [ルートテーブル] を選択し、Aurora RDSに関連付けられているメインルートテーブルを検索します。
[サブネットの関連付け] タブをクリックし、[編集] をクリックします。リストには3つのサブネットがすべて表示されますが、どのサブネットも [関連付ける] が選択されていないはずです。
DNSが機能していません
Route 53を確認し、Databricks VPCがVPC内で使用されているプライベートホストゾーンに関連付けられていることを確認します。