ワークスペース作成に関するトラブルシューティング

概要

次のセクションでは、ワークスペース作成時の構成エラーとそのエラーの修正方法について説明します。ほとんどの問題は、アカウントコンソール または アカウントAPIの両方を使用したワークスペース作成に当てはまりますが、例外もあります。

一般的なエラー

VPCの最大数

VPCの最大数について言及したエラーメッセージが表示された場合は、リージョン内で許可されるVPCの数のサービス上限引き上げリクエストを送信してください。このエラーは通常、顧客管理VPCではなく、Databricks管理VPCを使用している場合にのみ発生します。

VPCエンドポイントの最大数

VPCエンドポイントの最大数について言及したエラーメッセージが表示された場合は、リージョンで許可されるゲートウェイVPC エンドポイントの数のサービス上限引き上げリクエストを送信してください。このエラーは通常、顧客管理VPCではなく、Databricks管理VPCを使用している場合にのみ発生します。

アドレスの最大数

アドレスの最大数について言及したエラーメッセージが表示された場合は、リージョンで許可されるVPC Elastic IPアドレスの数のサービス上限引き上げリクエストを送信してください。このエラーは通常、顧客管理VPCではなく、Databricks管理VPCを使用している場合にのみ発生します。

この操作を実行する権限がありません

この操作を実行する権限がないというエラーが表示された場合は、IAMロールの記事で定義されている通りに、IAMロールに必要なポリシーがすべて設定されていることを確認してください。

ストレージ構成に関するエラーメッセージ

不正なリクエスト:ストレージ設定の検証チェックに失敗しました

ストレージ設定の検証チェックの失敗を示すエラーメッセージが表示された場合は、S3バケットの権限が適切に設定されていません。「ワークスペースデプロイ用のS3バケットを作成する」の記事に従って、S3バケットの権限が正しいものか確認してください。

資格情報の設定に関するエラーメッセージ

不正なリクエスト:資格情報の設定の検証チェックに失敗しました

エラーメッセージに含まれるアクセス権限のチェックのリストは、問題についての考えられる原因を示します。

  • 資格情報の設定の検証で失敗したアクセス権限のチェックが10件未満の場合は、IAMポリシーにこれらの特定のアクセス権限が欠落している可能性があります。「ワークスペースデプロイ用のIAMロールを作成する」の記事から正しいポリシーをコピーしてください。

  • 資格情報の設定の検証で10件以上のチェックに失敗した場合、IAMロールの信頼関係が正しく設定されていない可能性が高くなります。「ワークスペースデプロイ用のIAMロールを作成する」の記事の説明に従って、顧客ロールの信頼関係が適切に設定されていることを確認します。

ポリシーと信頼関係の両方が正しいと思われる場合は、次も確認してください。

  • 資格情報オブジェクトに正しいロールARNが含まれていることを確認します。

  • AssumeRole のアクションを拒否する、またはEC2/VPCアクセスを拒否する組織レベルのサービスコントロールポリシー(SCP)があるかどうかを確認します。不明な場合は、SCPについてAWS管理者に問い合わせてください。

ネットワーク設定

サブネットはすでに別のネットワークによって使用されています

サブネットが使用されている場合のエラーは、通常、次のように表示されます。

MALFORMED_REQUEST: Malformed parameters: subnet_id subnet-xxxxxxxx1 is already used by another Network, subnet_id subnet-xxxxxxxx2 is already used by another Network.

これは、これらの同じサブネットを使用するDatabricksネットワーク設定があることを意味します。解決するには、次のいずれかの操作を行います。

  • 以前の設定を削除します。 アカウント API を使用している場合は、 ネットワーク構成の削除 API を使用します。 アカウントコンソールを使用して設定を削除することもできます。

  • 以前の設定が使用されていない場合は、その以前の設定を新しいワークスペースに使用できます。

  • そのネットワーク設定が実行中のワークスペースですでに使用されている場合は、新しいワークスペース用にサブネットとネットワーク設定をそれぞれ新しく作成します。

前回のワークスペース作成の試行が失敗した場合、関連する設定コンポーネントは自動的に削除されない点に注意してください。

セットアップ中にネットワーク設定エラーは発生しないが、ワークスペース作成中にエラーが表示される

ワークスペースのセットアップ時にはエラーは表示されなかったにも関わらず、ワークスペースのデプロイを試行した後にネットワーク設定でエラーが表示される場合があります。これは、Databricksがネットワークオブジェクトの作成時に基本的な検証のみを実行するためです。たとえば、一意のサブネット、一意のセキュリティグループ、欠落しているフィールドがチェックの対象です。

最も意味のあるネットワーク設定の検証は、新しいネットワーク構成で新しいワークスペースを作成しようとした後にのみ行われます。ワークスペースのデプロイ中にエラーが発生した場合は、ネットワーク検証に関するエラーメッセージの詳細を確認してください。

ワークスペースは動作しているようだが、ネットワーク設定のステータスが WARNED になっている

クラスターを開始してデータ ジョブを実行できること、 コンピュート イベント ログDBFS_DOWNまたはMETASTORE_DOWNが表示されていないことを確認してください。 クラスター イベント ログにそのようなエラーがない場合、 WARNEDステータスは必ずしも問題ではありません。

新しいワークスペースの場合、Databricksがチェックを試みる項目は多数あります。ワークスペースのサブネット → NATゲートウェイ → インターネットゲートウェイといった単純なルーティングを実行しない場合、Databricksはネットワークが正しいことを検証できません。このような場合、Databricksではネットワーク設定に関する警告が表示されます。

サブネット・ルートテーブルのエラーをチェックする

クラスターのイベントログに、次のようなエラーが表示される場合があります。

subnet: Route Table with ID rtb-xxxxxxxx used for subnet with ID subnet-yyyyyyyyy is missing default route to direct all traffic to the NAT gateway nat-zzzzzzzzzzz.

単純なDatabricksワークスペース設定をデプロイしようとしている場合、このエラーが表示されるということは問題が生じている可能性があります。

ファイアウォール経由のルーティング(任意でハブスポーク方式のトランジットゲートウェイ経由)など独自の出力設定を行う場合、このエラーは必ずしも意味のあるものではありません。

このエラーのもう1つの理由として、NATサブネットをクラスターのDatabricksサブネットとして登録している可能性が考えられます。DatabricksワークスペースのサブネットのリストからNATサブネットを削除し、ワークスペースをもう一度作成します。

ネットワーク設定のサブネットのリストにNATサブネットを追加しないでください

NAT サブネットを Databricks ワークスペースのサブネットのリストに追加しないでください。NATサブネットはNATゲートウェイのためのもので、Databricksクラスターノードをデプロイするためのサブネットではありません。ネットワーク設定を作成するときは、Databricksノードに使用する2つのサブネットのみをリストします。

セキュリティグループを最新のルールで更新できませんでした

以下のようなクラスターログエラーが表示される場合があります。

Security Group with ID sg-xxxx could not be updated with latest Security Group Rules

IAMロールの記事に含まれるものと一致するようIAMロールを更新してください。場合によっては、AuthorizeSecurityGroupEgress および同様のアクションのリソースにカンマ区切り値を含めることができます。これらを1つのリソースではなく個別のリソースに更新します。

正しい例

"Action": [
    "ec2:AuthorizeSecurityGroupEgress",
    "ec2:AuthorizeSecurityGroupIngress",
    "ec2:RevokeSecurityGroupEgress",
    "ec2:RevokeSecurityGroupIngress"
],
"Resource": [
    "arn:aws:ec2:us-east-1:444:security-group/sg-xxxx",
    "arn:aws:ec2:us-east-1:444:security-group/sg-yyyy",
    "arn:aws:ec2:us-east-1:444:security-group/sg-zzzz"
],

間違った例

"Resource": ["arn:aws:ec2:us-east-1:444:security-group/sg-xxxx,sg-yyyy,sg-zzzz"],

ネットワーク設定に問題がある場合は、Databricksで管理されるVPCの使用を検討してください

ネットワーク設定に問題がある場合は、顧客管理VPCではなくDatabricks管理のVPCを使用してワークスペースを作成することを選択できます。

重要

ワークスペースの作成時に、顧客管理VPCを提供するかどうかを選択する必要があります。ワークスペースを正常に作成した後は、この設定を変更することはできません。

障害が発生したワークスペースをDatabricks管理のVPCを使用するように切り替えるには、別のクロスアカウントIAM ロールも併せて使用する必要があります。

  1. クロスアカウントIAM ロールの記事に移動します。

  2. Databricks VPCというラベルの付いたポリシーを選択してコピーします。

  3. アカウントコンソールを使用したワークスペース作成 または アカウントAPIを使用したワークスペース作成にそのポリシーを使用します。

    • アカウント コンソールのネットワーク構成ピッカーで、 [Databricks 管理] を選択します。

    • Account APIの場合は、network_id 要素を含めないように注意してください。以下に例を挙げます。

      {
        "workspace_name": "<workspace-name>",
        "deployment_name": "<deployment-name>",
        "aws_region": "<aws-region>",
        "credentials_id": "<credentials-id>",
        "storage_configuration_id": "<storage-configuration-id>"
      }
      

AWS Reachability Analyzerを使用してVPCネットワークの問題を診断する

AWSのReachability Analyzerは、VPC内のソースリソースと宛先リソースをテストするために使用できる構成分析ツールです。これは、AWSコンソールにVPC Reachability Analyzerとして表示されます。

Reachability Analyzerを使用すると、ログインすることなくDatabricksプライベートサブネットでテストマシンをスピンアップできます。ソースをEC2インスタンスとして追加し、宛先をDatabricksコントロールプレーンのIPアドレスおよびポートとして追加する必要があります。その後、障害となっているコンポーネントを特定するために接続をテストできます。詳細については、「Reachability Analyzerとは」を参照してください。

アカウントAPI固有のエラーメッセージ

次のエラーは、ワークスペースを作成するためのアカウントAPIリクエストから返される可能性があります。

不正なリクエスト:HTTPリクエスト本文の <config> が無効です

リクエスト本文のJSONの形式が正しくありません。このエラーメッセージでは、 <config> は資格情報、ストレージ設定、またはネットワークのいずれかを指します。URLですべての特殊文字が正しくエスケープされていることを確認するか、PostmanなどのREST APIクライアントアプリケーションを使用してください。

不正なリクエスト:本文内の <config> が無効です

リクエスト本文のJSONの形式が正しくありません。このエラーメッセージでは、 <config> は資格情報、ストレージ設定、またはネットワークのいずれかを指します。URLですべての特殊文字が正しくエスケープされていることを確認するか、PostmanなどのREST APIクライアントアプリケーションを使用してください。