LoginSignup
2
0

More than 1 year has passed since last update.

Databricks PrivateLink構成における設定確認

Last updated at Posted at 2022-05-21

DatabricksのPrivateLink構成を組む際、自分でもよく「ワークスペースは構築できたけど、クラスターが起動しない」状況に遭遇するので、その際の確認手順をまとめます。

設定の確認

セキュリティグループ

許可するポートが間違っているケースがあるのでこちらを参考に適切にインバウンドルール、アウトバウンドルールが設定されていることを確認します。

送信先に自分自身のセキュリティグループを指定した際に警告が出ることがあります。この場合は、一度ルールが空の状態でセキュリティグループを作成してから、再度編集を行なってみてください。

エンドポイント

エンドポイントにはサブネットとセキュリティグループを関連づける必要があります。S3エンドポイントはメインルートテーブルと関連づけます。

エンドポイント サブネット セキュリティグループ ルートテーブル
VPCエンドポイントサービス(Workspace VPC endpoint service) VPCエンドポイント向けサブネット VPCエンドポイント向けサブネット用セキュリティグループ -
VPCエンドポイントサービス(Back-end SCC relay service) VPCエンドポイント向けサブネット VPCエンドポイント向けサブネット用セキュリティグループ -
S3 VPCゲートウェイエンドポイント ワークスペース向けサブネット1、ワークスペース向けサブネット2 ワークスペース向けサブネット用セキュリティグループ メインルートテーブル
STS VPCインタフェースエンドポイント ワークスペース向けサブネット1、ワークスペース向けサブネット2 ワークスペース向けサブネット用セキュリティグループ -
Kinesis VPCインタフェースエンドポイント ワークスペース向けサブネット1、ワークスペース向けサブネット2 ワークスペース向けサブネット用セキュリティグループ -
Glue VPCインタフェースエンドポイント ワークスペース向けサブネット1、ワークスペース向けサブネット2 ワークスペース向けサブネット用セキュリティグループ -

VPCエンドポイントサービスを登録した後にプライベートDNS名が有効になっていることを確認します。

ネットワークオブジェクト

コマンド実行時に以下の設定を適切にしていることを確認してください。

curl -X POST -u <アカウントオーナーのメールアドレス>:<アカウントオーナーのパスワード> \
'https://accounts.cloud.databricks.com/api/2.0/accounts/<DatabricksアカウントID>/networks' \
-d '{
"network_name": "databricks-privatelink",
"vpc_id": "<VPC privatelink-testのid>",
"subnet_ids": [
"<サブネットdatabricks-ws-1のid>",
"<サブネットdatabricks-ws-2のid>"
],
"security_group_ids": [
"<セキュリティグループpl-sg-1のid>"
],
"vpc_endpoints": {
"dataplane_relay": [
"<Back-end SCC relay serviceの登録時に取得したvpc_endpoint_id>"
],
"rest_api": [
"<Workspace VPC endpoint serviceの登録時に取得したvpc_endpoint_id>"
]
}
}' | jq
パラメーター 説明
vpc_id VPCのID
subnet_ids 2つのワークスペース向けサブネットのID
security_group_ids ワークスペース向けサブネット用セキュリティグループのID
dataplane_relayvpc_endpoint_id Back-end SCC relay serviceの登録時に取得したVPCエンドポイントID。AWSのVPCエンドポイントIDではなく、登録時の結果に出力されるvpc_endpoint_idです。
rest_api Workspace VPC endpoint serviceの登録時に取得したVPCエンドポイントID。AWSのVPCエンドポイントIDではなく、登録時の結果に出力されるvpc_endpoint_idです。

Glueメタストアへの接続

こちらを参照いただき、インスタンスプロファイルを設定してもカタログにアクセスできない場合には、クラスターのSpark設定にspark.databricks.hive.metastore.glueCatalog.enabled trueがあることを確認してください。

疎通確認

よくあるのがクラスターが稼働するデータプレーンと、コントロールプレーンの通信ができていないケースです。上述の設定を確認することに加え、実際に疎通しているのかを確認することも切り分けに有効です。

Reachability Analyzerを使う手もありますが、ここではSageMakerノートブックを使います。

  1. SageMakerにアクセスし、ノートブックインスタンスをクリックします。
    Screen Shot 2022-05-21 at 10.11.43.png
  2. インスタンスを作成します。
    • ネットワーク: 上で作成したVPC
    • サブネット: ワークスペース向けサブネット
    • セキュリティグループ: ワークスペース向けサブネット用セキュリティグループ
    • 直接インターネットアクセス: 無効化
      Screen Shot 2022-05-21 at 8.36.57.png
  3. インスタンスが起動したらJupyterにアクセスします。
  4. 右上のNewから一番下のTerminalを選択してターミナルを開きます。これでDatabrikcsクラスターが稼働するサブネットからの疎通確認を行うことができます。
    Screen Shot 2022-05-21 at 10.14.50.png
  5. 以下のコマンドを実行してSuccessが帰ってくることを確認します。疎通できていない場合には関連するエンドポイント、サブネットなどの設定を確認します。
# Verify access to the web application
nc -zv tokyo.cloud.databricks.com 443

# Verify access to the secure cluster connectivity relay
nc -zv tunnel.ap-northeast-1.cloud.databricks.com 443

# Verify S3 regional access
nc -zv s3.ap-northeast-1.amazonaws.com 443

# Verify STS regional access
nc -zv sts.ap-northeast-1.amazonaws.com 443

# Verify regional Kinesis access
nc -zv kinesis.ap-northeast-1.amazonaws.com 443

Screen Shot 2022-05-21 at 10.22.34.png

注意
上の接続先は東京リージョンの場合です。他のリージョンでの接続先に関してはこちらを参照ください。

Databricks 無料トライアル

Databricks 無料トライアル

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0