APC 技術ブログ

株式会社エーピーコミュニケーションズの技術ブログです。

株式会社 エーピーコミュニケーションズの技術ブログです。

Databricks on AWSのセットアップとワークスペースの作成

はじめに

2023年1月入社しました、GLB事業部Lakehouse部の阿部と申します。
(私の勉強も含めて)Databricksでの動作検証について発信していきたいと思います。
Databricksは、データレイクとデータウェアハウスを統合したクラウド型統合データ分析基盤である「Databricks Lakehouse Platform」を提供しており、データの収集から分析・機械学習モデルの開発及び運用を一気通貫で行うことができます。

本記事では、Databricksの無料トライアルを利用し、AWS上にDatabricksのワークスペースを作成するまでの手順を解説します。

この記事で行うこと

Databricksの14日間無料トライアルに申し込み、Databricksのアカウントを作成します。
次に、Databricksのワークスペースを作成するために各種設定を行います。
そして、下記に示す目次3.1や3.2では、AWS側でIAMロールの作成やS3のバケット作成等の操作が出てきます。
そのため、AWSのアカウントを作成していない方は下記ページからAWSアカウントを作成し、ワークスペースの作成に入る流れとなります。

AWS アカウント作成

AWSでは無料利用枠のアカウントも作成できますので、気軽に始められると思います。

1. DataBricksの無料トライアルの申請

  1. Databricksの無料トライアルをクリックします。

  2. 氏名、メールアドレス、企業/団体名などの入力項目を記載後に送信をクリック


3. クラウドプロバイダーを選択します。
 今回はAWS上にワークスペースを作成するため、Amazon Web Servicesを選択し、送信をクリックします。


4. 登録したメールアドレスに以下のwelcomeメールが届きます。

注意:メールが届いていない場合には、迷惑メールフォルダーを確認してみてください。

2. サインアップとサブスクリプションプランの選択

メールに記載されたリンクからパスワード設定のページに遷移します。
パスワードを入力後、Set passwordをクリックします。

次に、サブスクリプションプランの選択画面に遷移します。
今回は14日間無料でのお試し利用のためプランはどちらでも構いませんが、私はPremiumを選択しました。

詳しい料金等については、Databricks on AWS ご利用料金をご確認ください。

3. ワークスペースの作成

アカウントコンソールの画面に遷移後、サイドバーのワークスペースをクリックします。

Create workspaceをクリックし、Custom AWS configurationを選択します。

ワークスペース作成の設定画面が表示されます。

これから下記項目について設定します。

  • Workspace name: 自身で使うワークスペースの名前を記入します。
  • Subscription plan: 先ほどのサブスクリプションプランが選択済みになっています。
  • Region: AWSでお使いのリージョンを選択します。
  • Credential configuration: IAMロールの設定などのAWS側での操作を含めた認証設定を行います。
  • Storage configuration: S3バケットの設定などAWS側での操作を含めたストレージ設定を行います。

Credential configurationStorage configurationは、AWS側での操作が必要かつ設定項目が多いため 、それぞれ分けて説明します。

3-1. 認証設定(Credential configuration)

ワークスペースの名前とリージョンを設定後、後ほどAWSアカウントによるクラスターの起動に必要なIAMロールを作成し、IAMロールの情報を入力します。

Credential configurationのプルダウンからAdd a new credentialを選択すると、ポップアップが表示されます。
表示されたExternal IDはIAMロールの作成に使うため、コピーしておきます。

Credential configuration name(認証設定の名称)を決めて入力します。
Role ARNにはこれからAWS側で作成するIAMロールの情報を記入します。

IAMロールの作成

AWS側でIAMロールの作成を行います。
画面左上の検索ボックスでIAMと入力し、表示されるサービスのIAMをクリックしてください。

サイドバーからロールをクリックします。


画面右上のロールを作成をクリックします。


信頼されたエンティティタイプを選択の画面が表示されます。

信頼されたエンティティタイプはAWSアカウントを選択し、AWSアカウントは別のAWSアカウントを選択します。
表示されたアカウントIDのフィールドには、Databricks固有IDである414351767826を入力します。

次に、オプションの外部IDを要求するにチェックを入れると外部IDのフィールドが表示されますので、認証設定でコピーしておいたExternal IDを貼り付けます。
次へをクリックします。


ロール名と説明を入力し、次へをクリックします。

ポリシー作成の画面が表示されますので、ポリシーを作成をクリックし、ポリシーのJSONタブをクリックします。


Create a cross-account IAM roleにあるポリシーを選択して貼り付けます。


ポリシーの名前を記入し、ポリシーの作成をクリックします。

IAMロールを作成後、ロールARNをコピーをしておきます。


IAMロールの作成とIAMポリシーの設定が完了しました。
ダイアログのAdd credential configurationに戻り、Role ARNフィールドにロールARNを貼り付けます。

以上で認証設定は完了です!

3-2 Storage configuration(ストレージ設定)

ダイアログのstorage configurationフィールドからAdd a new storage configurationを選択します。


ストレージ設定名とS3のバケット名を記入します。
S3のバケット名は一意である必要があるため、他のバケット名と被らないように注意してください。

バケット名を記入後、Bucket nameの下にあるGenerate policyをクリックするとバケットポリシーが表示されます。
(画像ではバケットポリシーが既に表示されており、Hide policyをクリックすると非表示にできます。)

AWSでのバケットのアクセス許可の設定に使用するため、コピーしてからAddをクリックします。

S3バケットを作成

作成したストレージ設定を適用するDBFS(Databricks File System)ルート用のS3バケットを作成します。
AWS側から操作する必要があるため、IAMと同様にAWS画面の検索欄からS3と入力後、表示されるS3をクリックするとバケットの画面に遷移します。

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


Databricksでは、バケットのバージョニングは有効にするが推奨されています。
バージョニングとは、ファイルの変更や削除後も以前のバージョンに復元できるため、誤ってファイルを削除した場合などに有効です。

下にスクロールし、バケットを作成をクリックします。
バケット一覧から作成したバケットを選択後、アクセス許可のタブからバケットポリシーの編集をクリックし、先ほどコピーしたバケットポリシーを貼り付けます。

以上でストレージの設定は完了です!

ワークスペースのプロビジョニング

最後にダイアログの画面からSaveをクリックします。

ワークスペースのプロビジョニングが開始します。(StatusがProvisioningと表示されます)

プロビジョニングには5分程度かかりました。

プロビジョニングが完了しました。(StatusがRunningと表示されます)

ワークスペースの名前をクリックすると、これまで設定したワークスペースの情報やURLが表示されます。

Open workspaceをクリックし、ワークスペースの画面に遷移します。


以上でワークスペースの作成まで完了しました。
こちらのワークスペースを使って検証等をする方は、ブックマークをお勧めします。
※ワークスペースに再び入るには、Databricksのサインインが必要になります。

おわりに

最後まで記事を読んでいただき、ありがとうございます。
IAMロールの作成等、AWS側での設定も多く自分も時間がかかりました。
今回はAWS上にDatabrickのワークスペースを作成しましたが、Microsoft AzureやGoogle Cloud Platformでもワークスペースを作成できます。
これからもDatabrick関連の記事をアップしますので、よろしくお願いします!

私たちはDatabricksを用いたデータ分析基盤の導入から内製化支援まで幅広く支援をしております。
もしご興味がある方は、お問い合わせ頂ければ幸いです。 www.ap-com.co.jp

また、一緒に働いていただける仲間も募集中です!
APCにご興味がある方の連絡をお待ちしております。 www.ap-com.co.jp