LoginSignup
0
0

More than 1 year has passed since last update.

Databricksにおける顧客管理VPC(ワークスペースのデプロイ編)

Last updated at Posted at 2022-10-31

はじめに

AWS上でDatabricksのワークスペースをデプロイするには、以下の2つの方法があります。

  1. AWSリソースを自動生成(背後ではCloudFormationを使用)し、ワークスペースを自動でデプロイする(メニューではCreate Workpace > Quickstart)
  2. AWSリソースをユーザー側でマニュアルで準備して、それらを用いてワークスペースをデプロイする(メニューではCreate Workpace > Custom AWS configuration)

この記事では、後者の方法におけるDatabricksアカウントコンソール上の操作方法について説明します。

なお、後者の方法におけるAWSリソースの準備の方法は、以下の記事で説明されております。

[Credential] IAMロール・ポリシー

[Storage] DBFSルートのS3バケツ

[Network] ネットワーク関連 (VPC/サブネット/セキュリティグループなど)

本記事では、上記の記事で説明されているAWSリソース(VPC, Subnet, IAMロール、S3バケツなど)の作成が既に完了していることを前提に、Databricksアカウントコンソールを用いて、上記で作成AWSリソースを登録し、ワークスペースをデプロイする方法について見ていきます。

Databricksコンソールへのログイン

登録した情報に基づいてDatabricksコンソールへログインします。問題なくログインできますと、以下のようなページが開きます。

image.png

ただし、初回ログイン時は、強制的にQuickstartモードが立ち上がるため、以下の方法で回避してください。

参照: Databricksアカウントのセットアップとワークスペースの作成

訳者注
2022/1/7時点では、初回Databricksアカウントコンソールにログインした際は、本書で説明されているクイックスタートによる構築がデフォルトとなっています。顧客管理VPCを用いたデプロイを行う場合には、一旦以下の方法で本手法をスキップしてください。

  1. AWSアカウントコンソールからログアウトしておきます。
  2. Databricksアカウントコンソールにログインし、2つのメッセージ画面を経た後で、Workspace Nameに適当な名前を入力し、一旦Start quickstartをクリックします。上でログアウトしておかないとCloud Formationのスタックを作成してしまうので注意してください。
  3. AWSアカウントコンソールが別タブで開きますがこちらは閉じます。
  4. アカウントコンソールに戻るとワークスペース一覧が表示されます。
  5. こちらでCreate workspace > Custom AWS configurationを選択してください。

AWSリソースを登録する

以下の3つのAWSリソースを登録します。

IAMロール(Credential)

Databricksアカウントコンソール上から以下を実施する。

  • 左メニューCloud resourcesを選択
  • 上部のCredential configurationを選択
  • Add credential configurationをクリック

image.png

表示されたポップアップ画面上で以下を実施する。

  • Credential configuration name => 任意の名前(Databricksコンソール上での名前ラベルとして使用)
  • Role ARN => AWS上に作成したIAMロールのARNを入力
  • Addをクリック

image.png

以上で、AWSのIAMロールがCredentialとして登録されました。ここで登録した名前は後ほど使用します。

DBFSルート用S3バケツ (Storage)

Databricksアカウントコンソール上から以下を実施する。

  • 左メニューCloud resourcesを選択
  • 上部のStorage configurationを選択
  • Add storage configurationをクリック

image.png

表示されたポップアップ画面上で以下を実施する。

  • Storage configuration name => 任意の名前(Databricksコンソール上での名前ラベルとして使用)
  • Bucket name => AWS上に作成したS3のバケツ名を入力(先頭にs3://不要 )
  • Addをクリック

image.png

以上で、AWSのS3バケツがStorage設定として登録されました。ここで登録した名前は後ほど使用します。

VPC, Subnet, Securty Group (Network)

Databricksアカウントコンソール上から以下を実施する。

  • 左メニューCloud resourcesを選択
  • 上部のNetworkを選択
  • 左側のNetwork configurationsを選択
  • Add network configurationをクリック

image.png

表示されたポップアップ画面上で以下を実施する。

  • Network configuration name => 任意の名前(Databricksコンソール上での名前ラベルとして使用)
  • VPC ID, Subnet ID, Secirty group ID => AWS上に作成したVPC、サブネット、セキュリティグループのリソースIDを記入する
  • Addをクリック

image.png

以上で、AWSのネットワークリソースがNetwork設定として登録されました。ここで登録した名前は後ほど使用します。

ワークスペースをデプロイする

最後に、登録したAWSリソースからDatabricksのワークスペースをデプロイします。

  • 左メニューWorkspacesを選択
  • Create workspace > Custom AWS configurationを選択

image.png

表示されたポップアップ画面上で以下を実施する。

  • 画面上部

    • Workspace name => 任意の名前(Databricksコンソール上での名前ラベルとして使用)
    • Region => ワークスペースをデプロイする先のAWSリージョンを指定(例: ap-northeast-1)
    • Credential configuration => 先ほどIAMロールを登録したCredential設定名を選択
    • Storage configuration => 先ほどS3バケツを登録したStorage設定名を選択
  • 続いて、Advanced configurationsボタンをクリックして、以下を投入する。

    • Network configuration => 先ほど登録したNetwork設定名を選択
  • 最後にページ最下部にあるSaveをクリックする。

image.png

以上で、ワークスペースのデプロイが開始され、完了後にワークスペースのログインURLリンクが作成・表示されます。ワークスペースへの初回ログインは、アカウントコンソールログインと同じユーザー名・パスワードでログインできます。

動作確認

ワークスペース作成後には以下の2点の動作確認も同時に実施することをお勧めします。

  1. クラスタ起動・停止の確認
  2. Notebook実行(Spark実行)の確認

クラスタ起動の確認

ワークスペースにログインした状態から、以下を実施します。

  • 左メニューからコンピューティングを選択
  • 上部に表示されるCreate computeをクリック

image.png

クラスタ設定ページへ遷移後、設定項目は全てデフォルト値のまま、最下部にあるクラスターを作成をクリックします。

image.png

下記のように、クラスタが立ち上がるまで数分待ちます。クラスタが起動すると緑のチェックボックスのアイコンが表示されます。

image.png

以上でクラスタの起動の確認が完了しました。

Notebook実行(Spark実行)の確認

続いて、サンプルNotebookを実行して、立ち上げたクラスタ上でSparkコードが実行されることを確認します。

  • 画面左上のDatabricksのロゴをクリックして、トップページに移動
  • トップページにあるスタート用チュートリアルをクリックし、サンプルNotebookをロードする。

image.png

Notebookが開けたら、以下の通り、使用するクラスタを選択します。

  • Notebook UI上部の接続をクリック
  • ポップアップUIのリスト内から先ほど起動したクラスタを選択する

image.png

最後に、Notebookを実行します。

  • Notebook上部にあるRun Allをクリック
  • Notebook内の全てのセルがエラーなく実行されるか確認する。

image.png

クラスタ停止の確認

最後にクラスタが停止されるかの確認を実施します。

  • 左メニューからコンピューティングを選択
  • リスト内から先ほどの起動したクラスタを見つけ、一番右にある停止ボタンアイコンをクリック
  • (可能であれば、10分後に)AWSコンソールから該当のEC2インスタンスがterminateされているか確認する。
    • 注意: 再利用性のため、Databricks上のクラスタを停止してから、一定時間(5-10分程度)はEC2インスタンスはterminateされません。

以上で基本的なクラスタの動作確認が完了しました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0