DataHubのセットアップ
このセクションでは、Things Cloud DataHubを設定する方法について説明します。
このセクションでは、Things Cloud DataHubを設定する方法について説明します。
Things Cloud DataHubを設定する前に、以下の前提条件を確認する必要があります。
Things Cloud DataHub マイクロサービスとウェブアプリケーションは、テナント上でアプリケーションとして利用可能である必要があります。ウェブアプリケーションは、Things Cloud DataHub の設定とオフロードパイプラインの管理のためのユーザーインターフェースを提供し、マイクロサービスは対応するバックエンド機能を提供します。ウェブアプリケーションの名前は DataHub、マイクロサービスは Datahub です。両アプリケーションは、次のいずれかの形式でデプロイされます。
エンタープライズテナント(親テナント)を持っている場合は、サブテナントがThings Cloud DataHubも利用できるように、サブテナントを両方のアプリケーションにサブスクライブできるようにすることもできます。
テナントへのアプリケーションの追加方法も含む、Things Cloudアプリケーションの一般的な管理の詳細については、アプリケーションの管理を参照してください。
次の手順を含むThings Cloudマイクロサービスの詳細については、マイクロサービスの管理およびマイクロサービスの監視を参照してください。
アプリケーションまたはマイクロサービスをテナントやサブテナントにサブスクライブする詳細については、テナントの管理を参照してください。
Things Cloud データのオフロードには、クラウドデータレイクサービスの接続設定と認証情報が必要です。オフロード中に、データはテナント名にちなんで名付けられたデータレイクフォルダに書き込まれます。
専用のパーミッションは、ユーザーがThings Cloud DataHubで実行できる範囲を定義します。 ユーザーのパーミッションの割り当てを容易にするために、パーミッションはロールにグループ化されています。Things Cloud DataHubアプリケーションの展開中に、対応するパーミッションとロールが作成されます。 同じ名前のロールがすでに存在する場合、新しいロールは作成されません。 同じことがパーミッションにも当てはまります。
必要なThings Cloud DataHub 権限がない場合、ログイン後に警告が表示されます。
管理者は主にデータレイクとDremioアカウントを設定し、監査ログの表示やシステムステータスの監視などの管理タスクを実行します。 管理者は、パイプラインの定義や開始など、パイプラインのオフロードを管理することもできます。
これらのタスクでは、デフォルトのロール DataHub Administrator が作成されます。 このロールのパーミッションは次のように定義されています。
タイプ | READ | ADMIN |
---|---|---|
DataHub administration | Yes | Yes |
DataHub management | Yes | Yes |
DataHub query | Yes | No |
READ は特定のデータの閲覧を指し、ADMIN は指定されたデータの作成、更新、削除を指します。
マネージャーは、パイプラインの定義や開始など、パイプラインのオフロードを管理します。 これらのタスクでは、DataHub Manager というデフォルトのロールが作成されます。 このロールのパーミッションは次のように定義されています。
タイプ | READ | ADMIN |
---|---|---|
DataHub administration | No | No |
DataHub management | Yes | Yes |
DataHub query | Yes | No |
ユーザーは、データレイク内のデータに対してSQLクエリを実行します。 データレイクのクエリの詳細については、オフロードされたThings Cloudデータのクエリを参照してください。次の方法でクエリを実行するには、次の方法が使用できます。
DataHubリーダーロールの権限は以下のように定義されています。
タイプ | READ | ADMIN |
---|---|---|
DataHub administration | No | No |
DataHub management | No | No |
DataHub query | Yes | No |
DataHub Administrator、DataHub Manager、DataHub Reader のロールはテナントのそれぞれのユーザーに割り当てる必要があります。ユーザーへのロールの割り当てについては、パーミッションの管理を参照してください。Things Cloud DataHub構成設定を完了するには、DataHub Administratorロールを持つユーザーが少なくとも1人必要です。
Things Cloud DataHubをセットアップするには、Dremio APIユーザーを構成し、データレイクにアクセスする必要があります。ナビゲータで、設定の下の初期構成を選択してこれらの設定を定義します。
データレイクの内容にアクセスするには、ODBC、JDBC、Dremio REST API、またはプロキシREST APIを使用できます。詳細については、オフロードされたThings Cloudデータのクエリを参照してください。プロキシREST APIは、Dremioへのプロキシとして機能するThings Cloud DataHubサーバーによって提供されます。プロキシAPIには、Things Cloud DataHubサーバーとDremioをやり取りするために Dremio ユーザーが必要です。この Dremio API ユーザーは、JDBC、ODBC、または Dremio REST API に基づくデータ レイクのクエリにも使用できます。
したがって、Dremio APIユーザーの初期構成で、そのDremio APIユーザーの名前とパスワードを設定する必要があります。
名前は2つの部分で構成され、最初の部分は固定されています。
Dremio APIユーザーのパスワードには、少なくとも1つの英字と1つの数字を含む8文字以上が必要です。
フォローアップアプリケーションでは、データレイクにアクセスするために複数のDremioユーザーが必要になる場合があります。Dremioユーザーの追加の手順を利用して、追加のDremioユーザーを定義できます。
環境の構成に応じて、データレイクプロバイダーは固定されている場合もあれば、さまざまなプロバイダーから選択できる場合もあります。データレイクプロバイダーごとに、対応する設定を指定して、使用するデータレイクを定義する必要があります。
現在、次のタイプのデータレイクがサポートされています。
Azureストレージは、Microsoftが提供するクラウドストレージサービスのセットです。Things Cloud DataHubは、これらサービスの一部であるAzure Data Lake Storage Gen2をサポートしています。このデータレイクに対して次の設定を定義する必要があります。
設定 | 説明 |
---|---|
Azure Storage account name | Azureストレージアカウントの名前 |
Azure Storage container | ストレージコンテナの名前。1~63文字で、英数字(英字と数字)およびダッシュ(-)を含めることができます。 |
Root path | オフロードされたデータを保存するためのデータレイク内のルートパス。デフォルトのパス/では、データはストレージコンテナの最上位に保存されます。フォルダーが既に存在する場合は、サブフォルダーにデータを保存することもできます。たとえば、ストレージコンテナmyContainer とサブフォルダーmySubFolder の場合、ルートパスとして/myContainer/mySubFolder を使用します。このオプションは、コンテナが他のユーザーやアプリケーションによっても使用されている場合など、コンテナ内の他のデータをThings Cloud DataHubから非表示にする場合に特に便利です。 |
Azure Storage shared access key | 「共有アクセスキー」が認証タイプとして使用される場合、認証に使用されるアクセスキー |
Application ID | 「Azure Active Directory」が認証タイプとして使用される場合に認証に使用されるアプリケーションID |
OAuth 2.0 Token Endpoint | 「Azure Active Directory」が認証タイプとして使用されている場合の認証エンドポイント |
Client Secret | 「Azure Active Directory」が認証タイプとして使用されている場合のクライアントシークレット |
初期構成が保存されると他の設定は固定されますが、認証タイプおよび選択した認証タイプの値は後で変更できます。編集をクリックして新しい値を設定し、資格情報を保存をクリックして更新を保存するか、キャンセルをクリックして古い値を保持します。
Amazon S3は、アマゾンウェブサービスが提供するオブジェクトストレージサービスです。このデータレイクに対して次の設定を定義する必要があります。
設定 | 説明 |
---|---|
AWS access key | アクセスキー |
Access secret | アクセスシークレット |
Bucket name | S3バケットの名前。1~63文字で、英数字およびダッシュ(-)を含むことができます。 |
Root path in bucket | S3バケット内のルートパス。デフォルトのルートパスは/です。サブフォルダーを設定すると、バケット内の他のデータをThings Cloud DataHubから非表示にすることができます。 |
初期構成が保存されると他の設定は固定されますが、AWSアクセスキーおよびアクセスシークレットは後で変更できます。編集をクリックして新しい値を設定し、資格情報を保存をクリックして更新を保存するか、キャンセルをクリックして古い値を保持します。
サーバーサイド暗号化はサポートされていますが、クライアント側の暗号化はサポートされていません。S3は3つのキー管理メカニズムを提供します。
SSE-S3: AES256キーがS3で生成され、データと一緒に保存されます。SSE-S3を有効にするには、下記のキーと値のペアを追加プロパティ欄に追加する必要があります。
名前: fs.s3a.server-side-encryption-algorithm
値: AES256
SSE-KMS: AES256キーはS3で生成され、AmazonのKey Management Service (KMS)によって提供される秘密キーで暗号化されます。キーはThings Cloud DataHubによって名前で参照される必要があります。SSE-KMSを有効にするには、下記のキーと値のペアを追加プロパティ欄に追加する必要があります。
名前: fs.s3a.server-side-encryption-algorithm
値: SSE-KMS
名前: fs.s3a.server-side-encryption.key
値: キーの名前(例: arn:aws:kms:eu-west-2:123456789012:key/071a86ff-8881-4ba0-9230-95af6d01ca01
)
SSE-C: クライアントは、データの暗号化と復号化に使用するBase64でエンコードされたAES-256キーを指定します。Things Cloud DataHubはこのオプションをサポートしていません。
NASは、Dremioクラスタに直接マウント(NFS、SMB)されたストレージシステムです。これはThings Cloud Edgeインストールでのみ利用可能です。このデータレイクに対して次の設定を定義する必要があります。
設定 | 説明 |
---|---|
Mount path | マウントパスは、コーディネータおよびエグゼキュータコンテナの両方のローカルLinuxファイルシステム内のパスを指します。デフォルトでは、Things Cloud Edgeのファイルシステムはコンテナ内の/datalakeにマウントされます。他のフォルダを使用する場合は、そのフォルダを両方のコンテナ(たとえばコンテナ内の/datalake)にマッピングする必要があります。 |
すべての設定が定義されたら、右側のアクションバーで保存をクリックします。保存処理中に、次の手順が自動的に実行されます。
Dremio APIユーザーを編集するには、初期構成ページのDremio APIユーザーセクションで編集をクリックします。エディタでは、ユーザー名(これは固定)以外のすべてのユーザー詳細を編集できます。Dremioユーザーの編集にてすべてのユーザー詳細が説明されています。
Azure StorageまたはAmazon S3の認証情報を除き、データレイクの設定は編集できません。他の値を編集するには、既存の設定を削除し、新しい設定を定義する必要があります。オフロード設定を保持したい場合、事前にその設定をバックアップファイルにエクスポートし、設定を削除し、新しい設定を定義し、最後にバックアップファイルから設定をインポートする必要があります。インポート/エクスポートの詳細については、オフロード構成のインポート/エクスポートを参照してください。
設定を削除するには、アクションバーの削除をクリックします。削除中は、Dremio APIユーザーや追加で作成されたDremioユーザーを含む、保存時に作成されたすべてのDremioアーティファクトが削除されます。また、対応するDremioユーザーによって作成されたアーティファクト(ビューなど)も削除されます。すべてのオフロードパイプラインとその履歴も削除されます。アクティブなパイプラインは、現在のオフロードが完了すると削除されます。前述のように、インポート/エクスポート機能を使用してオフロード設定をバックアップできます。データレイクとその内容は削除されず、データレイクに接続しているDremioアーティファクトのみが削除されます。データレイクとその内容を削除するには、データレイクプロバイダーのツールを使用する必要があります。
Things Cloud DataHub の 初期設定 で、Dremio API ユーザーが設定されます。このユーザーはプロキシ REST API に必要です。これにより、Things Cloud DataHub を使用して Dremio と対話できるようになります。このユーザーは、JDBC、ODBC、または REST API を使用してアプリケーションで Dremio と直接対話するために使用することもできます。
ユースケースによっては、Dremio との対話に複数の Dremio ユーザーが必要になる場合があります。 この目的のために、Dremio ユーザーを追加することができます。
ナビゲータの 設定 の下の Dremio ユーザー を選択すると、Things Cloud DataHub テナントの管理者によって作成されたすべての Dremio ユーザーの概要が表示されます。
Dremio ユーザーの一覧と対応するプロパティが表示されます。 各ユーザーのコンテキスト メニューには、ユーザーを編集または削除するためのアクションが用意されています。
初期設定がまだ完了していない場合、ユーザーは表示されません。 初期設定が完了している場合、一覧には初期設定で設定された Dremio API ユーザーが含まれます。
username(ユーザー名)は必須の設定です。 これは一意の値である必要があります。つまり、他の Dremio ユーザーが同じユーザー名を持つことはありません。 これは、テナント ID とスラッシュ、および文字で始まり、数字、文字、ダッシュ、または下線で構成される最小3つの文字列で構成されます。 ユーザー名の例:t47110815/myUser
。
Dremio ユーザーの名前、姓、メールアドレスはオプション設定となります。
Things Cloud DataHub の初期構成中に、Dremio のいわゆるソースが作成され、Dremio をデータレイクに接続します。 さらに、Dremio にはいわゆるスペースが作成され、そこでビューなどの Dremio アーティファクトを整理できます。
Dremio ユーザーには、データレイク ソースとスペースに対する追加の権限を割り当てることができます。 ユーザーにデータ レイク ソースに対するアクセス許可が割り当てられている場合、そのユーザーは他のユーザーに対して、そのソースへの許可の管理もできるようになります。 スペースの許可についても同様です。 データ レイクのアクセス許可とスペースのアクセス許可は互いに独立しています。 一方の権限の設定は、もう一方の権限の設定には影響しません。
対応する権限が割り当てられていると、ユーザーは、必ずしも Things Cloud DataHub に関連しているわけではない他の Dremio ユーザーに、データレイク ソースまたはスペースに対する異なる権限 (データ レイクにあるデータの読み取りやデータレイク内の表の作成など) を付与できます。
たとえば、IoT データが Things Cloud DataHub を使用してデータ レイクにオフロードされているとしましょう。 さらに、別のビジネス ユニットに在籍のデータ サイエンティストが、データ レイクのコンテンツにアクセスしたいと考えています。 このデータ サイエンティスト用に Dremio アカウントを作成する必要があります。 次に、データレイク権限を持つThings Cloud DataHub によって作成された Dremio ユーザーが、データ レイク ソースに対する読み取りアクセスをデータ サイエンティストの Dremio アカウントに付与します。
Dremio API ユーザーを含む各ユーザーに対して、データ レイクとスペースに対する manage grants
権限は、最初は設定されていません。
パスワードは 8 文字以上で、少なくとも 1 つの英字と 1 つの数字を含む必要があります。
Dremio ユーザーを追加するには、設定 で Dremio ユーザー を選択し、上部のメニュー バーの右側にある ユーザーを追加 をクリックします。 エディターで、対応する Dremio ユーザー プロパティを指定します。
保存 をクリックして設定を保存し、新しいユーザーを作成します。 ユーザーの作成をキャンセルするには、キャンセル をクリックします。
設定 の Dremio ユーザー セクションにユーザーの一覧が表示されます。 ユーザーごとに、右側にコンテキスト メニューがあります。 ユーザーを編集するには、そのメニューから 編集 を選択します。 ユーザー名を除くすべての設定を変更できます。 必要に応じて、パスワードを変更 をクリックしてパスワードを変更することもできます。保存 をクリックして新しい設定を適用します。
Dremio ユーザー一覧のコンテキスト メニューで 削除 を選択し、その後に表示される確認画面で 確認 をクリックして Dremio ユーザーを削除します。 初期設定で定義された Dremio API ユーザーは、この方法では削除できません。このユーザーは、初期構成 の設定が削除された場合にのみ削除できます。 後者の場合、この Things Cloud DataHub インスタンスに関連付けられているすべての Dremio ユーザーが削除されます。