Azure Virtual Network (VNet インジェクション) で Azure Databricks をデプロイする Deploy Azure Databricks in your Azure Virtual Network (VNet Injection)

重要

VNet インジェクションプレビューで独自の Azure Virtual Network に Azure Databricks ワークスペースをデプロイした場合は、2020年1月31日までにプレビューワークスペースを GA バージョンにアップグレードする必要があります。If you deployed an Azure Databricks workspace in your own Azure Virtual Network during the VNet injection preview, you must upgrade your preview workspace to the GA version before January 31, 2020. VNet インジェクションプレビューワークスペースを GA にアップグレードする」を参照してください。See Upgrade your VNet Injection Preview Workspace to GA.

Azure Databricks の既定のデプロイは、完全に管理された Azure 上のサービスです。すべてのクラスターが関連付けられる仮想ネットワーク (VNet)を含むすべてのデータプレーンリソースは、ロックされたリソースグループにデプロイされます。The default deployment of Azure Databricks is a fully managed service on Azure: all data plane resources, including a virtual network (VNet) that all clusters will be associated with, are deployed to a locked resource group. ただし、ネットワークのカスタマイズが必要な場合は、Azure Databricks データプレーンリソースを独自の仮想ネットワーク ( _VNet インジェクション_とも呼ばれます) にデプロイできます。これにより、次のことが可能になります。If you require network customization, however, you can deploy Azure Databricks data plane resources in your own virtual network (sometimes called VNet injection), enabling you to:

Azure Databricks データプレーンリソースを独自の仮想ネットワークにデプロイすると、柔軟な CIDR 範囲を利用できます (仮想ネットワークの場合は/16-/24、サブネットの場合は最大/26)。Deploying Azure Databricks data plane resources to your own virtual network also lets you take advantage of flexible CIDR ranges (anywhere between /16-/24 for the virtual network and up to /26 for the subnets).

重要

仮想ネットワークを既存のワークスペースに置き換えることはできません。You cannot replace the virtual network for an existing workspace. 現在のワークスペースが、必要な数のアクティブなクラスターノードに対応できない場合は、大規模な仮想ネットワークで別のワークスペースを作成することをお勧めします。If your current workspace cannot accommodate the required number of active cluster nodes, we recommend that you create another workspace in a larger virtual network. 次の詳細な移行手順に従って、古いワークスペースから新しいワークスペースにリソース (ノートブック、クラスター構成、ジョブ) をコピーします。Follow these detailed migration steps to copy resources (notebooks, cluster configurations, jobs) from the old to new workspace.

仮想ネットワークの要件 Virtual network requirements

Azure Databricks ワークスペースをデプロイする仮想ネットワークは、以下の要件を満たす必要があります。The virtual network that you deploy your Azure Databricks workspace to must meet the following requirements:

  • 場所: 仮想ネットワークは、Azure Databricks ワークスペースと同じ場所に存在する必要があります。Location: The virtual network must reside in the same location as the Azure Databricks workspace.

  • サブスクリプション: 仮想ネットワークは、Azure Databricks ワークスペースと同じサブスクリプションに含まれている必要があります。Subscription: The virtual network must be in the same subscription as the Azure Databricks workspace.

  • サブネット: 仮想ネットワークには Azure Databricks 専用の2つのサブネット (プライベートサブネットとパブリックサブネット) を含める必要があります。Subnets: The virtual network must include two subnets dedicated to Azure Databricks: a private subnet and public subnet. パブリックサブネットは、Azure Databricks コントロールプレーンとの通信を可能にします。The public subnet allows communication with the Azure Databricks control plane. プライベートサブネットでは、クラスター内部通信のみが許可されます。The private subnet allows only cluster-internal communication.

    Azure portal で Azure Databricks ワークスペースを作成するときに、Azure Databricks によってこれらが作成され、ワークスペースの展開時にパブリックサブネットとプライベートサブネットが Microsoft.Databricks/workspaces サービスに委任されます。これにより、Azure Databricks を作成できます。ネットワークセキュリティグループの規則を適用し、必要に応じて更新します。Azure Databricks will create these for you when you Create the Azure Databricks workspace in the Azure portal and will delegate your public and private subnet to the Microsoft.Databricks/workspaces service during workspace deployment, which allows Azure Databricks to create Network security group rules and update them when necessary. これは、オールインワンAzure Resource Manager テンプレートまたはVNet 専用Azure Resource Manager テンプレートを使用する場合にも当てはまります。This also true if you use the All-in-one Azure Resource Manager template or the VNet-only Azure Resource Manager template. カスタム Azure Resource Manager テンプレートまたはワークスペースAzure Resource Manager テンプレートを使用する場合は、サブネットにネットワークセキュリティグループが割り当てられ、適切に委任されていることを確認する必要があります。If you use a custom Azure Resource Manager template or the Workspace Azure Resource Manager template, it is up to you to ensure that the subnets have network security groups attached and are properly delegated. 委任の手順については、「 VNet インジェクションプレビューワークスペースを GA にアップグレードする」または「サブネットの委任を追加または削除する」を参照してください。For delegation instructions, see Upgrade your VNet Injection Preview Workspace to GA or Add or remove a subnet delegation.

    重要

    これらのサブネットと Azure Databricks ワークスペースの間には一対一のリレーションシップがあります。There is a one-to-one relationship between these subnets and an Azure Databricks workspace. 1つのサブネットで複数のワークスペースを共有することはできません。You cannot share multiple workspaces across a single subnet. デプロイするワークスペースごとに、パブリックサブネットとプライベートサブネットの新しいペアが必要です。You must have a new pair of public and private subnets for each workspace you deploy.

  • アドレス空間: 仮想ネットワークの場合は/16-/24、プライベートサブネットとパブリックサブネットの場合は/26 の CIDR ブロック。Address space: A CIDR block between /16 - /24 for the virtual network and a CIDR block up to /26 for the private and public subnets.

Azure portal の Azure Databricks ワークスペースデプロイインターフェイスを使用して、必要なサブネットを持つ既存の仮想ネットワークを自動的に構成するか、 Databricks で提供される Azure Resource Manager テンプレートを使用することができます。仮想ネットワークを構成し、ワークスペースをデプロイします。You can use the Azure Databricks workspace deployment interface in the Azure portal to automatically configure an existing virtual network with the required subnets, or you can use Azure-Databricks-supplied Azure Resource Manager templates to configure your virtual network and deploy your workspace.

Azure portal に Azure Databricks ワークスペースを作成する Create the Azure Databricks workspace in the Azure portal

このセクションでは、Azure portal 内で Azure Databricks ワークスペースを作成して、既存の仮想ネットワーク内にデプロイする方法について説明します。This section describes how to create an Azure Databricks workspace in the Azure portal and deploy it in your own existing virtual network. Azure Databricks は、指定の CIDR 範囲を使用した 2 つの新しいサブネットとネットワーク セキュリティ グループを含む仮想ネットワークを更新し、受信および送信サブネット トラフィックをホワイトリスト登録して、この更新された仮想ネットワークにワークスペースをデプロイします。Azure Databricks updates the virtual network with two new subnets and network security groups using CIDR ranges provided by you, whitelists inbound and outbound subnet traffic, and deploys the workspace to the updated virtual network.

注意

たとえば、既存のサブネットを使用したり、既存のネットワークセキュリティグループを使用したり、独自のセキュリティ規則を作成したりするなど、仮想ネットワークの構成をより細かく制御する必要がある場合は、Databricks を使用でき Azure Resource Managerポータル UI ではなくテンプレート。If you want more control over the configuration of the virtual network—for example, you may want to use existing subnets, use existing network security groups, or create your own security rules—you can use Azure-Databricks-supplied Azure Resource Manager templates instead of the portal UI. Azure Resource Manager テンプレートを使用した詳細構成を参照してください。See Advanced configuration using Azure Resource Manager templates.

前提条件Prerequisites

Azure Databricks ワークスペースのデプロイ先となる仮想ネットワークを構成する必要があります。You must configure a virtual network to which you will deploy the Azure Databricks workspace:

  • 既存の仮想ネットワークを使用することも、新しい仮想ネットワークを作成することもできますが、仮想ネットワークは、作成する予定の Azure Databricks ワークスペースと同じリージョンと同じサブスクリプションに含まれている必要があります。You can use an existing virtual network or create a new one, but the virtual network must be in the same region and same subscription as the Azure Databricks workspace that you plan to create.

  • 仮想ネットワークの場合、/16 - /24 の間の CIDR 範囲が必要です。A CIDR range between /16 - /24 is required for the virtual network.

    警告

    仮想ネットワークが小さいワークスペースでは、より大きな仮想ネットワークを使用したワークスペースよりも、IP アドレス (ネットワーク領域) が不足する可能性があります。A workspace with a smaller virtual network can run out of IP addresses (network space) more quickly than a workspace with a larger virtual network. たとえば、/24 の仮想ネットワークと /26 のサブネットを使用するワークスペースは、最大 64 個のノードを同時にアクティブにできますが、/20 の仮想ネットワークと /22 のサブネットを使用するワークスペースは、最大 1024 個のノードに対応できます。For example, a workspace with a /24 virtual network and /26 subnets can have a maximum of 64 nodes active at a time, whereas a workspace with a /20 virtual network and /22 subnets can house a maximum of 1024 nodes.

    サブネットは、ワークスペースの構成時に自動的に作成されます。また、サブネットの CIDR 範囲は、ワークスペースの構成時に指定できます。Your subnets will be created automatically when you configure your workspace, and you will have the opportunity to provide the CIDR range for the subnets during configuration.

仮想ネットワークの構成Configure the virtual network

  1. Azure portal で、 + リソースの作成 > Analytics > Azure Databricks を選択するか、Azure Databricks を検索して 作成 または + 追加 をクリックし、Azure Databricks サービス ダイアログを開きます。In the Azure portal, select + Create a resource > Analytics > Azure Databricks or search for Azure Databricks and click Create or + Add to launch the Azure Databricks Service dialog.

  2. はじめにガイドの「手順 2: Azure Databricks ワークスペースを作成する」で説明されている構成手順に従い、[ Azure Databricks のワークスペースを Virtual Network で展開する] オプションを選択します。Follow the configuration steps described in Step 2: Create an Azure Databricks workspace in the Getting Started Guide, and select the Deploy Azure Databricks workspace in your Virtual Network option.

    代替テキスト](../../../_static/images/vnet/vnet-injection-yes.png) を ![no-alternative-text

  3. 使用する仮想ネットワークを選択します。Select the virtual network you want to use.

    代替テキスト](../../../_static/images/vnet/vnet-injection-workspace.png) を ![no-alternative-text

  4. パブリックサブネットとプライベートサブネットに名前を設定し、/26 までのブロックに CIDR 範囲を指定します。Name your public and private subnets and provide CIDR ranges in a block up to /26:

    • パブリックサブネットは、関連付けられたネットワークセキュリティグループの規則を使用して作成され、Azure Databricks コントロールプレーンとの通信を許可します。A public subnet will be created with associated Network security group rules that allow communication with the Azure Databricks control plane.
    • プライベートサブネットは、クラスター内部通信を許可する、関連付けられたネットワークセキュリティグループルールを使用して作成されます。A private subnet will be created with associated network security group rules that allow cluster-internal communication.
    • Azure Databricks には、Microsoft.Databricks/workspaces サービスを介して両方のサブネットを更新するためのアクセス許可が委任されます。Azure Databricks will have delegated permissions to update both subnets via the Microsoft.Databricks/workspaces service. これらのアクセス許可は、Azure Databricks で必要なネットワークセキュリティグループの規則にのみ適用されます。追加するネットワークセキュリティグループの規則や、すべてのネットワークセキュリティグループに含まれる既定のネットワークセキュリティグループの規則には適用されません。These permissions apply only to network security group rules that are required by Azure Databricks, not to other network security group rules that you add or to the default network security group rules included with all network security groups.
  5. [作成] をクリックして、Azure Databricks ワークスペースを仮想ネットワークにデプロイします。Click Create to deploy the Azure Databricks workspace to the virtual network.

注意

Azure Databricks で新しい仮想ネットワーク (VNet) ワークスペースを作成すると、Azure Databricks システムの通常の動作の一部として、Azure Databricks マネージリソースグループが既定で作成されます。When you create a new virtual network (VNet) workspace in Azure Databricks, an Azure Databricks Managed Resource Group is created by default, as part of the normal operation of the Azure Databricks system. このリソースグループは変更できないため、仮想マシンの作成には使用されません。This resource group is not modifiable, and it is not used to create virtual machines. 仮想マシンの作成には、お客様が管理するグループのみが使用されます。Only the customer-managed group is used to create virtual machines.

Azure Resource Manager テンプレートを使用した高度な構成 Advanced configuration using Azure Resource Manager templates

既存のサブネットを使用したり、既存のネットワークセキュリティグループを使用したり、独自のセキュリティ規則を追加したりするなど、仮想ネットワークの構成をより細かく制御する必要がある場合は、の代わりに次の Azure Resource Manager (ARM) テンプレートを使用することができます。ポータル-UI ベースの自動仮想ネットワークの構成とワークスペースの展開If you want more control over the configuration of the virtual network—for example, you want to use existing subnets, use an existing network security group, or add your own security rules—you can use the following Azure Resource Manager (ARM) templates instead of the portal-UI-based automatic virtual network configuration and workspace deployment.

重要

VNet インジェクションプレビューで独自の Azure Virtual Network に Azure Databricks ワークスペースをデプロイした場合は、2020年1月31日までにプレビューワークスペースを GA バージョンにアップグレードする必要があります。If you deployed an Azure Databricks workspace in your own Azure Virtual Network during the VNet injection preview, you must upgrade your preview workspace to the GA version before January 31, 2020. プライマリアップグレードタスクでは、パブリックおよびプライベートのサブネットを Microsoft.Databricks/workspaces サービスに委任します。これにより、Azure Databricks はネットワークセキュリティグループの規則を作成し、必要に応じて更新できます。The primary upgrade task is to delegate your public and private subnets to the Microsoft.Databricks/workspaces service, which allows Azure Databricks to create Network security group rules and update them when necessary. VNet インジェクションプレビューワークスペースを GA にアップグレードする」を参照してください。See Upgrade your VNet Injection Preview Workspace to GA.

プレビュー期間中に Azure Resource Manager テンプレートを使用して Azure Databricks ワークスペースを独自の仮想ネットワークにデプロイし、引き続き Azure Resource Manager テンプレートを使用して仮想ネットワークを作成し、ワークスペースを展開する場合は、アップグレードされたAzure Resource Manager テンプレートを以下に示します。If you used Azure Resource Manager templates to deploy a Azure Databricks workspace to your own virtual network during the preview, and you want to continue to use Azure Resource Manager templates to create virtual networks and deploy workspaces, you should use the upgraded Azure Resource Manager templates listed below. テンプレートのリンクに従って、最新バージョンを取得します。Follow the template link to get the latest version.

Databricks VNet インジェクション用のカスタム Azure Resource Manager テンプレートまたはワークスペーステンプレートを使用して、ワークスペースを_既存の仮想ネットワーク_にデプロイする場合は、パブリックとプライベートのサブネットを作成し、ネットワークセキュリティグループをにアタッチする必要があります。各サブネットに対して、ワークスペースをデプロイ_する前に_、Microsoft.Databricks/workspaces サービスにサブネットを委任します。If you are using a custom Azure Resource Manager template or the Workspace Template for Databricks VNet Injection to deploy a workspace to an existing virtual network, you must create public and private subnets, attach a network security group to each subnet, and delegate the subnets to the Microsoft.Databricks/workspaces service before deploying the workspace. デプロイするワークスペースごとに、個別のパブリック/プライベートサブネットのペアが必要です。You must have a separate pair of public/private subnets for each workspace that you deploy.

すべてを1つのテンプレートで All in one template

仮想ネットワークを作成し、ワークスペースをすべて1つに Azure Databricks するには、Databricks VNet に挿入されたワークスペースのオールインワンテンプレートを使用します。To create a virtual network and Azure Databricks workspace all in one, use the All-in-one Template for Databricks VNet Injected Workspaces.

仮想ネットワークテンプレート Virtual network template

適切なパブリック サブネットとプライベート サブネットを持つ仮想ネットワークを作成するには、Databricks VNet インジェクション用の仮想ネットワーク テンプレートを使用します。To create a virtual network with the proper public and private subnets, use the Virtual Network Template for Databricks VNet Injection.

Azure Databricks ワークスペーステンプレート Azure Databricks workspace template

Azure Databricks ワークスペースを既存の仮想ネットワークにデプロイするには、 Databricks VNet インジェクション用のワークスペーステンプレートを使用します。To deploy an Azure Databricks workspace to an existing virtual network, use the Workspace Template for Databricks VNet Injection.

重要

仮想ネットワークのパブリックおよびプライベートサブネットには、ネットワークセキュリティグループがアタッチされている必要があります。また、この Azure Resource Manager テンプレートを使用してワークスペースを展開する前に、Microsoft.Databricks/workspaces サービスに委任する必要があります。Your virtual network’s public and private subnets must have network security groups attached and must be delegated to the Microsoft.Databricks/workspaces service before you use this Azure Resource Manager template to deploy a workspace. Databricks VNet インジェクション用の Virtual Network テンプレートを使用して、適切に委任されたサブネットを持つ仮想ネットワークを作成できます。You can use the Virtual Network Template for Databricks VNet Injection to create a virtual network with properly delegated subnets. 既存の仮想ネットワークを使用していて、パブリックサブネットとプライベートサブネットを委任していない場合は、「サブネット委任を追加または削除する」または「 VNet インジェクションプレビューワークスペースを GA にアップグレードする」を参照してください。If you are using an existing virtual network and you have not delegated the public and private subnets, see Add or remove a subnet delegation or Upgrade your VNet Injection Preview Workspace to GA.

デプロイするワークスペースごとに、個別のパブリック/プライベートサブネットのペアが必要です。You must have a separate pair of public/private subnets for each workspace that you deploy.

ネットワークセキュリティグループ の規則 Network security group rules

次の表に、Azure Databricks によって使用される現在のネットワークセキュリティグループの規則を示します。The following table displays the current network security group rules used by Azure Databricks. Azure Databricks サービスがスムーズに実行されるようにするために、Azure Databricks はいつでもこれらのルールを変更できます。In order to ensure that your Azure Databricks service runs smoothly, Azure Databricks can change these rules at any time. このトピックと表は、このような変更が発生するたびに更新されます。This topic and table will be updated whenever such a modification occurs.

DirectionDirection ProtocolProtocol 移行元Source 発信元ポートSource Port 移行先Destination 宛先ポートDest Port 用いUsed
受信Inbound AnyAny VirtualNetworkVirtualNetwork AnyAny VirtualNetworkVirtualNetwork AnyAny DefaultDefault
受信Inbound TCPTCP ControlPlane IPControlPlane IP AnyAny VirtualNetworkVirtualNetwork 2222 パブリック IPPublic IP
受信Inbound TCPTCP ControlPlane IPControlPlane IP AnyAny VirtualNetworkVirtualNetwork 55575557 パブリック IPPublic IP
送信Outbound TCPTCP VirtualNetworkVirtualNetwork AnyAny Webapp IPWebapp IP 443443 DefaultDefault
送信Outbound TCPTCP VirtualNetworkVirtualNetwork AnyAny SQLSQL 33063306 DefaultDefault
送信Outbound TCPTCP VirtualNetworkVirtualNetwork AnyAny ストレージStorage 443443 DefaultDefault
送信Outbound AnyAny VirtualNetworkVirtualNetwork AnyAny VirtualNetworkVirtualNetwork AnyAny DefaultDefault
送信Outbound TCPTCP VirtualNetworkVirtualNetwork AnyAny EventHubEventHub 90939093 DefaultDefault

トラブルシューティング Troubleshooting

ワークスペース作成エラーWorkspace creation errors

サブネット には、サービスの関連付けリンクを参照するには、次のいずれかの委任 [Databricks/workspaces] が必要です。Subnet requires any of the following delegation(s) [Microsoft.Databricks/workspaces] to reference service association link

考えられる原因: プライベートおよびパブリックサブネットが Microsoft.Databricks/workspaces サービスに委任されていない VNet でワークスペースを作成しようとしています。Possible cause: you are creating a workspace in a VNet whose private and public subnets have not been delegated to the Microsoft.Databricks/workspaces service. 各サブネットには、ネットワークセキュリティグループが関連付けられている必要があり、適切に委任されている必要があります。Each subnet must have a network security group attached and must be properly delegated. 詳細については、「仮想ネットワークの要件」を参照してください。See Virtual network requirements for more information.

サブネット は、既にワークスペースによって使用されてい The subnet is already in use by workspace

考えられる原因: 既存の Azure Databricks ワークスペースによって既に使用されているプライベートおよびパブリックのサブネットを含む VNet でワークスペースを作成しようとしています。Possible cause: you are creating a workspace in a VNet with private and public subnets that are already being used by an existing Azure Databricks workspace. 1つのサブネットで複数のワークスペースを共有することはできません。You cannot share multiple workspaces across a single subnet. デプロイするワークスペースごとに、パブリックサブネットとプライベートサブネットの新しいペアが必要です。You must have a new pair of public and private subnets for each workspace you deploy.

クラスター作成時のエラーCluster creation errors

到達できないインスタンス: SSH 経由でリソースにアクセスできませんでした。Instances Unreachable: Resources were not reachable via SSH.

考えられる原因: コントロール プレーンから worker へのトラフィックがブロックされています。Possible cause: traffic from control plane to workers is blocked. オンプレミスネットワークに接続されている既存の仮想ネットワークにデプロイする場合は、「 Azure Databricks ワークスペースをオンプレミスネットワークに接続する」に記載されている情報を使用してセットアップを確認してください。If you are deploying to an existing virtual network connected to your on-premises network, review your setup using the information supplied in Connect your Azure Databricks Workspace to your On-Premises Network.

予期しない起動エラー: クラスターの設定中に予期しないエラーが発生しました。もう一度お試しください。問題が解決しない場合は Azure Databricks にお問い合わせください。内部エラーメッセージ:  Timeout while placing nodeUnexpected Launch Failure: An unexpected error was encountered while setting up the cluster. Please retry and contact Azure Databricks if the problem persists. Internal error message: Timeout while placing node.

考えられる原因: worker から Azure Storage エンドポイントへのトラフィックがブロックされています。Possible cause: traffic from workers to Azure Storage endpoints is blocked. また、カスタム DNS サーバーを使用している場合は、仮想ネットワーク内の DNS サーバーの状態も確認してください。If you are using custom DNS servers, also check the status of the DNS servers in your virtual network.

クラウドプロバイダーの起動エラー: クラスターの設定中にクラウドプロバイダーエラーが発生しました。詳細については、Azure Databricks ガイドを参照してください。Azure エラーコード: AuthorizationFailed/InvalidResourceReference.Cloud Provider Launch Failure: A cloud provider error was encountered while setting up the cluster. See the Azure Databricks guide for more information. Azure error code: AuthorizationFailed/InvalidResourceReference.

考えられる原因: 仮想ネットワークまたはサブネットが存在しません。Possible cause: the virtual network or subnets do not exist any more. 仮想ネットワークとサブネットが存在することを確認してください。Make sure the virtual network and subnets exist.

クラスターが終了しました。理由: Spark のスタートアップエラー: Spark が時間内に開始できませんでした。この問題は、Hive metastore が正しく動作していない、Spark の構成が無効である、または初期化スクリプトの不具合が原因である可能性があります。Spark ドライバーのログを参照して、この問題のトラブルシューティングを行ってください。問題が解決しない場合は、Databricks にお問い合わせください。内部エラーメッセージ: Spark failed to start: Driver failed to start in timeCluster terminated. Reason: Spark Startup Failure: Spark was not able to start in time. This issue can be caused by a malfunctioning Hive metastore, invalid Spark configurations, or malfunctioning init scripts. Please refer to the Spark driver logs to troubleshoot this issue, and contact Databricks if the problem persists. Internal error message: Spark failed to start: Driver failed to start in time.

考えられる原因: コンテナーがホスティングインスタンスまたは DBFS ストレージアカウントと通信できません。Possible cause: Container cannot talk to hosting instance or DBFS storage account. DBFS ストレージ アカウントのサブネットにカスタム ルートを追加し、次回のホップをインターネットにして、修正を行ってください。Fix by adding a custom route to the subnets for the DBFS storage account with the next hop being Internet.