はじめに
Azure 内部からインターネットにアクセスするときに Azure Firewall を経由することでセキュリティを強化できます。今回は Azure Databricks と Azure Firewall を組み合わせるときのデータ プレーンからコントロール プレーンへのアクセス許可設定について説明します。
Azure Databricks のアーキテクチャーについて
Azure Databricks ではデータ プレーンとコントロール プレーンが存在します。コードを実行するのはデータ プレーンの VM となります。この VM は VNet Injection によって独自の VNet 上にデプロイできます。しかしながら、コントロール プレーンのデプロイ場所はユーザーは設定できません。Azure Firewall を導入している場合は、データ プレーンからコントロール プレーンへの接続方式を考える必要があります。
Azure Firewall 設定
Azure Firewall を導入しているときの、Azure Databricks のデータ プレーンからコントロール プレーンにアクセスする際の設定について説明していきます。なお、Secure Cluster Connectivity (SCC) が有効であることを前提としています。
1. FQDN / IP 許可
Azure Firewall でこのページ に記載された FQDN と IP を許可します。
Japan East リージョンの場合は以下となります。
名前 | ソースの種類 | ソース | プロトコル | 宛先ポート | 宛先の種類 | 宛先 |
---|---|---|---|---|---|---|
Webapp | IP アドレス | 10.0.0.0/16 |
TCP | 443 | IP アドレス | 52.246.160.72/32 |
Extended Infrastructure | IP アドレス | 10.0.0.0/16 |
TCP | 443 | IP アドレス | 20.78.226.176/28 |
SCC Relay | IP アドレス | 10.0.0.0/16 |
TCP | 443 | FQDN | tunnel.japaneast.azuredatabricks.net |
DBFS Root | IP アドレス | 10.0.0.0/16 |
TCP | 443 | FQDN | dbstorage*****.blob.core.windows.net |
Metastore | IP アドレス | 10.0.0.0/16 |
TCP | 3306 | FQDN | consolidated-japaneast-prod-metastore.mysql.database.azure.com |
Artifact Blob storage primary | IP アドレス | 10.0.0.0/16 |
TCP | 443 | FQDN | dbartifactsprodjapaneast.blob.core.windows.net |
Artifact Blob storage secondary | IP アドレス | 10.0.0.0/16 |
TCP | 443 | FQDN | dbartifactsprodjapanwest.blob.core.windows.net |
Log Blob storage | IP アドレス | 10.0.0.0/16 |
TCP | 443 | FQDN | dblogprodjapaneast.blob.core.windows.net |
Event Hub endpoint | IP アドレス | 10.0.0.0/16 |
TCP | 9093 | FQDN | prod-japaneast-observabilityeventhubs.servicebus.windows.net |
2. サービス タグ許可
Azure Firewall でサービス タグを許可します。設定項目は少ないですが、FQDN や IP を許可する場合より許可範囲が大きくなります。
許可するサービス タグは以下となります。
名前 | ソースの種類 | ソース | プロトコル | 宛先ポート | 宛先の種類 | 宛先 |
---|---|---|---|---|---|---|
Databricks | IP アドレス | 10.0.0.0/16 |
TCP | 443 | サービス タグ | Azure Databricks |
Storage | IP アドレス | 10.0.0.0/16 |
TCP | 443 | サービス タグ | Storage |
Event Hub | IP アドレス | 10.0.0.0/16 |
TCP | 9093 | サービス タグ | EventHub |
Sql | IP アドレス | 10.0.0.0/16 |
TCP | 3306 | サービス タグ | Sql |
SCC 設定に関する注意点
Azure Firewall を経由してコントロール プレーンにアクセスする場合は SCC 設定を有効 (パブリック IP 無効) にすべきです。
SCC 設定が無効 (パブリック IP 有効) の場合、クラスター作成時にコントロール プレーンからデータ プレーンへのパブリック アクセスが発生し、戻り通信が Azure Firewall によってブロックされます。
おわりに
Azure Databricks と Azure Firewall を組み合わせるときのデータ プレーンからコントロール プレーンへのアクセス許可設定について説明しました。User Defined Route でコントロール プレーンへのルーティングを設定すれば、Azure Firewall を経由する必要もなくなりますが、各 FQDN のグローバル IP を確認しなくてはならず、IP 変更のリスクを考えると長期運用には向いていません。