ワークスペースデプロイ用のS3バケットを作成する
この記事では、カスタムDatabricksワークスペースデプロイメント用のルートストレージを作成および構成する方法について説明します。AWSクイックスタートテンプレートまたはDatabricks Terraformプロバイダーを使用してワークスペースをデプロイすることで、このステップとワークスペース作成全体を自動化することもできます。
要件
Databricksアカウント管理者である必要があります。
ルートストレージ作成のベストプラクティス
ワークスペースデプロイメントに使用するバケットは、ワークスペースのルートストレージと呼ばれます。ルートストレージは、本番環境の顧客データの保存には使用しないでください。ルートストレージを使用するのではなく、本番データ用に追加のS3バケットやその他のデータソースを作成し、任意でそれらのDBFSマウントポイントを作成してください。
また、S3バケットを作成する前に、以下のベストプラクティスを確認してください。
S3バケットは、Databricksワークスペースデプロイメントと同じAWSリージョンに存在する必要があります。
Databricksでは、他のリソースやサービスと共有されていないDatabricks専用のS3バケットを使用することをお勧めしています。
レガシーDatabricksワークスペースのバケットを再利用しないでください。たとえば、E2に移行する場合は、E2環境用に新しいAWSバケットを作成します。
ステップ1:ストレージ構成を作成し、バケットポリシーを生成する
アカウントコンソールで、「クラウドリソース」をクリックします。
「ストレージ構成」をクリックします。
「ストレージ構成の追加」をクリックします。
「ストレージ構成名」フィールドに、人間にとってわかりやすい名称で、新しいストレージ構成の名前を入力します。
「バケット名」フィールドに、作成するS3バケットの名前を入力します。
重要
バケット名にドット表記(
.
)を含めることはできません。グローバルに一意である必要があり、スペースや大文字を含めることはできません。バケットの命名方法の詳細については、「AWSバケットの命名規則」を参照してください。「ポリシーを生成」をクリックし、生成されたポリシーをコピーします。次のステップでは、このポリシーをAWSのS3バケット構成に追加します。
[追加] をクリックします。
ステップ2:S3バケットを作成する
管理者権限を持つユーザーとしてAWSコンソールにログインし、S3サービスに移動します。
「バケットを作成」ボタンをクリックします。
「バケット名」に、手順1で作成したバケットの名前を入力します。
Databricksワークスペースデプロイメントに使用するのものと同じAWSリージョンを選択します。
「バケットを作成」をクリックします。
「権限」タブをクリックします。
「バケットポリシー」セクションで、「編集」をクリックします。
お客様が生成し、Databricksからコピーしたバケットポリシーを貼り付けます。
バケットを保存します。
オブジェクトレベルのイベントロギングを有効にする(推奨)
Databricksでは、ルートストレージバケットについて、S3オブジェクトレベルのロギングを有効にすることを強くお勧めしています。これにより、発生する可能性のある問題をより迅速に調査できるようになります。S3オブジェクトレベルのロギングにより、AWSの使用コストが増加する可能性があることに注意してください。
手順については、S3バケットとオブジェクトのCloudTrailイベントロギングに関するAWSのドキュメントを参照してください。
正しい権限を確認する
バケットのストレージ構成を作成するときに、Databricks はバケットが正しい権限で設定されているかどうかを確認します。 これらのチェックの 1 つは、バケットにファイルを書き込み、すぐに削除します。 ただし、削除オペレーションが失敗した場合、一時オブジェクトはバケットのルートに残ります。 オブジェクト名は databricks-verification-<uuid>
で始まります。
このオブジェクトが表示された場合は、バケットポリシーの構成ミスが原因である可能性があります。DatabricksにはPUT権限がありますが、DELETE権限はありません。バケットポリシーを確認し、権限が正しく構成されていることを確認します。
ストレージ構成を削除する
ストレージ構成は、作成後に編集することはできません。構成に不正なデータが含まれている場合、またはそのデータが不要になった場合は、ストレージ構成を削除します。
「アカウントコンソール」で、「クラウドリソース」をクリックします。
「ストレージ構成」をクリックします。
ストレージの構成行で、「アクション」メニューアイコンをクリックし、「削除」を選択します。
ストレージ構成名をクリックし、ポップアップダイアログで「削除」をクリックすることもできます。
確認ダイアログで、「削除の確認」をクリックします。
顧客管理キーを使用してルートS3バケットを暗号化する(オプション)
顧客管理キーを使用してルート S3 バケットを暗号化できます。そのためには、アカウント APIを使用する必要があります。
アカウント API を使用して新しいワークスペースを作成するときに暗号化キーを追加するか、後でキーを追加することができます。 詳細については、 「ステップ 5: 顧客管理キーを構成する (オプション)」および「暗号化用の顧客管理キー」を参照してください。