データハブサービスへのデプロイ

データハブサービス

自分で環境を構築する代わりに、データハブプロジェクトをクラウドにデプロイできます。データハブサービス(DHS)は、事前設定されたMarkLogicクラスタを提供するクラウドベースのソリューションです。ここでフローを実行し、ハーモナイズされたデータを提供できます。

MarkLogicデータハブを使用して、プロジェクトをローカル(開発環境)で開発およびテストし、それをDHSクラスタ(本番環境)に導入します。

ヒント:複数のサービスで同じデータハブプロジェクトファイルを流用できます。例えば、あるDHSプロジェクトをテスト環境として、また別のDHSプロジェクトを本番環境としてセットアップできます。

DHS環境では、データベース、アプリケーションサーバー、およびセキュリティロールが自動的に設定されます。管理者はユーザーアカウントを作成できます。

データハブサービス(DHS)の詳細については、「データハブサービス」および「DHSのドキュメント」を参照してください。

データハブプロジェクトとDHSプロジェクトでは、以下の設定が若干異なる可能性があります。

  • ロール – DHSのロールは、DHS環境のプロビジョニングの一環として自動的に作成されます。
    データハブDHS
    data-hub-admin
    endpointDeveloper
    endpointUser
    flow-developerflowDeveloper
    flow-operatorflowOperator

    参照:データハブサービスインスタンスのセキュリティロール

  • データベース名 — データベース環境内でデータベース名を変更している場合、これらは違っています。
  • Gradle設定 — gradle.propertiesファイルには、DHS専用の設定が含まれています。例えばmlIsHostLoadBalancerおよびmlIsProvisionedEnvironmenttrueに設定され、データハブがDHS内で適切に動くようになっています。

データハブプロジェクトとDHSプロジェクトでは、以下の設定は共通です。

  • アプリケーションサーバー用のポートとロードバランサー
    アプリケーションサーバーポートDHSロードバランサー
    staging8010curation
    final8011operations
    Jobs8013analytics
    重要:データハブフレームワークのコアのみをデプロイする場合、ポート8004を使用します。ファイナルデータベースにカスタムプラグイン(REST拡張機能、検索オプションなど)を導入するには、ポート8011を使用します。
エンドポイントがプライベートの場合は、MarkLogic VPCにアクセスできる踏み台ホストが仮想プライベートクラウド(VPC)内に必要です。踏み台ホストは以下を安全に中継します。
  • 外部環境からのMarkLogicへのリクエスト
  • MarkLogicからのリクエスト元への結果

エンドポイントが公開されている場合は、MarkLogic VPCのピアとして設定されている任意のマシンを使用できます。詳細は、「ピアロールの作成 - AWS」を参照してください。

重要:データハブのQuickStartツールは、DHSでは使用できません。

準備

  • ローカルでセットアップおよびテストされたデータハブプロジェクト
  • プロビジョニングされたMarkLogicデータハブサービス環境
    重要:データハブ v5.0を使用するには、お使いのDHS環境をアップグレードする必要があります。必ずサポートにお問い合わせください。
    • プライベートエンドポイントの場合のみ:仮想プライベートクラウド(VPC)内の踏み台ホスト
    • DHS管理者からの情報:
      • DHSホスト名(通常はキュレーションエンドポイント)
      • テスト用のRESTキュレーションエンドポイントURL(ポート番号を含む)
      • 次の各ロールに関連付けられているユーザーアカウントのユーザー名とパスワード(詳細は、「DHSインスタンスのユーザーアカウントを作成する」を参照してください)
        • endpointDeveloper
        • endpointUser
        • flowDeveloper
        • flowOperator

手順

  1. データハブのプロジェクトディレクトリ全体を、エンドポイントにアクセスするマシンにコピーし、そのマシンで以下の手順を実行します。
    重要:エンドポイントがプライベートの場合、このマシンは踏み台ホストでなければなりません。
  2. コマンドラインウィンドウを開き、データハブプロジェクトのルートディレクトリに移動します。
  3. gradle-dhs.propertiesファイルを設定します。
    1. データハブサービスインスタンスからGradleの構成ファイルをダウンロードします(プロジェクトのルートに置きます)。
      注:デフォルトでは、ダウンロードされたファイルの名前はgradle-dhs.propertiesとなっています。別のファイル名を使用したい場合は、以下のようにします。
      • ファイル名の形式をgradle-{env}.propertiesにする必要があります。ここで、{env}は環境を表す任意の文字列です。例えば、開発環境の設定をgradle-dev.propertiesに保存できます。
      • 以下のGradleコマンドの手順においては、-PenvironmentNameパラーメータの{env}部分を適宜更新することを忘れないでください。
    2. 構成ファイルで示されているようにユーザー名とパスワードを設定します。
  4. モジュールをデプロイし、インデックスを更新します。
    ./gradlew dhsDeploy -PenviromentName=dhs -igradlew.bat dhsDeploy -PenviromentName=dhs -i
  5. 読み込みステップを含む新しいフローを実行します。

    次のいずれかを使用できます。

  6. マッピングステップまたはマスタリングステップのいずれか、あるいは両方を含むフローを実行します
    ./gradlew hubRunFlow -PflowName=your-flow-name -PentityName=your-entity-name -PenvironmentName=dhs -igradlew.bat hubRunFlow -PflowName=your-flow-name -PentityName=your-entity-name -PenvironmentName=dhs -i
    重要:Gradleパラメータの値に空白が含まれている場合は、その値を二重引用符で囲む必要があります。値に空白が含まれていない場合は、値を引用符で囲んではいけません。
  7. ドキュメントがデータベース内にあることを確認します。
    1. 以下のURLでは、OPERATIONS-REST-ENDPOINT-URLおよびCURATION-REST-ENDPOINT-URL部分を、DHS管理者から教えてもらった適切なエンドポイントURLで置き換えてください。
      ファイナルデータベースhttp://OPERATIONS-REST-ENDPOINT-URL:8011/v1/search
      ステージングデータベースhttp://CURATION-REST-ENDPOINT-URL:8010/v1/search

      例:http://internal-mlaas-xxx-xxx-xxx.us-west-2.elb.amazonaws.com:8011/v1/search

      ヒント:検索結果を絞り込んで、返される項目を減らしてください。詳細は、「MarkLogic REST API検索」を参照してください。
    2. Webブラウザで、いずれかのURLに移動します。
    この結果は、データベース内のすべてのドキュメントのXML形式のリストです。このリスト内の項目として、ドキュメントのURI、パス、その他のメタデータ、コンテンツのプレビューが含まれます。

次に行うこと

プロジェクトの初回アップロード後にフローを更新する場合、gradle dhsDeployを再度実行してからこのフローを実行することで、フローを再デプロイできます。