ワークスペースデプロイ用のS3バケットを作成する

この記事では、カスタムDatabricksワークスペースデプロイメント用のルートストレージを作成および構成する方法について説明します。AWSクイックスタートテンプレートまたはDatabricks Terraformプロバイダーを使用してワークスペースをデプロイすることで、このステップとワークスペース作成全体を自動化することもできます。

要件

ルートストレージ作成のベストプラクティス

ワークスペースデプロイメントに使用するバケットは、ワークスペースのルートストレージと呼ばれます。ルートストレージは、本番環境の顧客データの保存には使用しないでください。ルートストレージを使用するのではなく、本番データ用に追加のS3バケットやその他のデータソースを作成し、任意でそれらのDBFSマウントポイントを作成してください。

また、S3バケットを作成する前に、以下のベストプラクティスを確認してください。

  • S3バケットは、Databricksワークスペースデプロイメントと同じAWSリージョンに存在する必要があります。

  • Databricksでは、他のリソースやサービスと共有されていないDatabricks専用のS3バケットを使用することをお勧めしています。

  • レガシーDatabricksワークスペースのバケットを再利用しないでください。たとえば、E2に移行する場合は、E2環境用に新しいAWSバケットを作成します。

ステップ1:ストレージ構成を作成し、バケットポリシーを生成する

  1. アカウントコンソールで、「クラウドリソース」をクリックします。

  2. ストレージ構成」をクリックします。

  3. ストレージ構成の追加」をクリックします。

  4. ストレージ構成名」フィールドに、人間にとってわかりやすい名称で、新しいストレージ構成の名前を入力します。

  5. バケット名」フィールドに、作成するS3バケットの名前を入力します。

    重要

    バケット名にドット表記(.)を含めることはできません。グローバルに一意である必要があり、スペースや大文字を含めることはできません。バケットの命名方法の詳細については、「AWSバケットの命名規則」を参照してください。

  6. ポリシーを生成」をクリックし、生成されたポリシーをコピーします。次のステップでは、このポリシーをAWSのS3バケット構成に追加します。

  7. [追加] をクリックします。

ステップ2:S3バケットを作成する

  1. 管理者権限を持つユーザーとしてAWSコンソールにログインし、S3サービスに移動します。

  2. バケットを作成」ボタンをクリックします。

  3. バケット名」に、手順1で作成したバケットの名前を入力します。

  4. Databricksワークスペースデプロイメントに使用するのものと同じAWSリージョンを選択します。

  5. バケットを作成」をクリックします。

  6. 権限」タブをクリックします。

  7. バケットポリシー」セクションで、「編集」をクリックします。

  8. お客様が生成し、Databricksからコピーしたバケットポリシーを貼り付けます。

  9. バケットを保存します。

検証エラーを解決する

バケットポリシーの権限が反映されるまでに数分かかる場合があります。権限が原因で検証に失敗した場合は、この手順をやり直してください。

正しい権限を確認する

バケットのストレージ構成を作成するときに、Databricks はバケットが正しい権限で設定されているかどうかを確認します。 これらのチェックの 1 つは、バケットにファイルを書き込み、すぐに削除します。 ただし、削除オペレーションが失敗した場合、一時オブジェクトはバケットのルートに残ります。 オブジェクト名は databricks-verification-<uuid>で始まります。

このオブジェクトが表示された場合は、バケットポリシーの構成ミスが原因である可能性があります。DatabricksにはPUT権限がありますが、DELETE権限はありません。バケットポリシーを確認し、権限が正しく構成されていることを確認します。

ストレージ構成を削除する

ストレージ構成は、作成後に編集することはできません。構成に不正なデータが含まれている場合、またはそのデータが不要になった場合は、ストレージ構成を削除します。

  1. アカウントコンソール」で、「クラウドリソース」をクリックします。

  2. ストレージ構成」をクリックします。

  3. ストレージの構成行で、「アクション」メニューアイコンをクリックし、「削除」を選択します。

    ストレージ構成名をクリックし、ポップアップダイアログで「削除」をクリックすることもできます。

  4. 確認ダイアログで、「削除の確認」をクリックします。

顧客管理キーを使用してルートS3バケットを暗号化する(オプション)

顧客管理キーを使用してルート S3 バケットを暗号化できます。そのためには、アカウント APIを使用する必要があります。

アカウント API を使用して新しいワークスペースを作成するときに暗号化キーを追加するか、後でキーを追加することができます。 詳細については、 「ステップ 5: 顧客管理キーを構成する (オプション)」および「暗号化用の顧客管理キー」を参照してください。