SSH トンネル経由でMongoDBを接続

SSH トンネルを介してMongoDB データベースをCommerce Intelligenceに接続するには、次の操作を行う必要があります。

NOTE
この設定は技術的な性質上、まだ実行したことがない場合は、開発者経由でサポートを受けることをお勧めします。

Commerce Intelligence公開鍵を取得しています retrieve

public keyは、Commerce Intelligence Linux ユーザーの認証に使用されます。 次の節では、ユーザーの作成とキーの読み込みについて説明します。

  1. Data > Connections​に移動し、Add New Data Source​をクリックします。
  2. MONGODB アイコンをクリックします。
  3. MongoDB資格情報ページが開いたら、Encrypted トグルをYesに変更します。 SSH設定フォームが表示されます。
  4. public keyはこのフォームの下にあります。

このページをチュートリアル全体を通して開いたままにします。次のセクションと最後に必要になります。

少し迷っている場合は、Commerce Intelligenceを移動してキーを取得する方法を次に示します。

RJMetrics公開鍵を取得しています

Commerce Intelligence IP アドレスへのアクセスを許可 allowlist

接続を成功させるには、IP アドレスからのアクセスを許可するようにファイアウォールを設定する必要があります。 54.88.76.9734.250.211.151ですが、MongoDB資格情報ページにも表示されます。

MBIAllowAccessIPs.png

LinuxのCommerce Intelligence ユーザーを作成しています linux

IMPORTANT
サーバーに関連付けられているsshd_config ファイルが既定のオプションに設定されていない場合、特定のユーザーのみがサーバーアクセスを持っています。これにより、Commerce Intelligenceへの接続が正常に行われなくなります。 このような場合、AllowUsers ユーザーがサーバーにアクセスできるようにするには、rjmetricのようなコマンドを実行する必要があります。

これは、リアルタイム(または頻繁に更新される)データを含む限り、実稼動マシンまたはセカンダリマシンにすることができます。 このユーザーは、MongoDB サーバーに接続する権利を保持している限り、任意の方法で制限できます。

新しいユーザーを追加するには、次のコマンドをLinux サーバー上のルートとして実行します。

    adduser rjmetric -p
    mkdir /home/rjmetric
    mkdir /home/rjmetric/.ssh

最初のセクションで取得したpublic keyを覚えていますか? ユーザーがデータベースにアクセスできるようにするには、キーをauthorized_keysに読み込む必要があります。 キー全体を次のようにauthorized_keys ファイルにコピーします。

    touch /home/rjmetric/.ssh/authorized_keys
    "< PASTE KEY HERE >" >> /home/rjmetric/.ssh/authorized_keys

ユーザーの作成を完了するには、/home/rjmetric ディレクトリの権限を変更して、SSH経由でのアクセスを許可します。

    chown -R rjmetric:rjmetric /home/rjmetric
    chmod -R 700 /home/rjmetric/.ssh

Commerce Intelligence MongoDB ユーザーを作成しています mongodb

MongoDB サーバーには2つの実行モードがあります – 1つは「認証」オプション ​ (mongod -- auth)を持ち、もう1つは持たず、はデフォルト ​です。 MongoDB ユーザーを作成する手順は、サーバーが使用しているモードによって異なります。 続行する前に、必ずモードを確認してください。

サーバーでAuth オプションを使用している場合: auth

複数のデータベースに接続する場合は、管理者ユーザーとしてMongoDBにログインし、次のコマンドを実行することで、ユーザーを追加できます。

NOTE
使用可能なすべてのデータベースを表示するには、Commerce Intelligence ユーザーがlistDatabases.を実行するための権限が必要です

このコマンドは、Commerce Intelligence ユーザーにto all databasesへのアクセス権を付与します。

    use admin
    db.createUser('rjmetric', '< secure password here >', true)

このコマンドを使用して、Commerce Intelligence ユーザーにto a single databaseへのアクセス権を付与します。

    use < database name >
    db.createUser('rjmetric', '< secure password here >', true)

次のような応答が出力されます。

    {
    "id": ObjectId("< some object id here >"),
    "user": "rjmetric",
    "readOnly": true,
    "pwd": "< some hash here >"
    }

サーバーでデフォルトのオプションが使用されている場合 default

サーバーがauth モードを使用しない場合、ユーザー名とパスワードがなくてもMongoDB サーバーにアクセスできます。 ただし、mongodb.conf ファイル (/etc/mongodb.conf)に次の行が含まれていることを確認する必要があります。そうでない場合は、追加した後にサーバーを再起動してください。

    bind_ip = 127.0.0.1
    noauth = true

MongoDB サーバーを別のアドレスにバインドするには、次の手順でデータベースのホスト名を調整します。

接続とユーザー情報をCommerce Intelligenceに入力しています finish

最後に、接続とユーザー情報をCommerce Intelligenceに入力する必要があります。 MongoDB資格情報ページを開いたままにしましたか? そうでない場合は、Data > Connections​に移動して​ Add New Data Source ​をクリックし、MongoDB アイコンをクリックします。 Encrypted トグルをYesに変更することを忘れないでください。

Database Connection セクションから始めて、このページに次の情報を入力します。

  • Host: 127.0.0.1
  • Username: Commerce Intelligence MongoDB ユーザー名(rjmetricである必要があります)
  • Password: Commerce Intelligence MongoDB パスワード
  • Port: MongoDBのサーバー上のポート (27017 デフォルト)
  • Database Name (オプション): 1つのデータベースへのアクセスのみを許可した場合は、ここでデータベースの名前を指定します。

SSH Connection セクションの下:

  • Remote Address: SSH接続するサーバーのIP アドレスまたはホスト名
  • Username: Commerce Intelligence Linux (SSH) ユーザー名(rjmetricにする必要があります)
  • SSH Port: サーバー上のSSH ポート (既定では22)

完了したら、Save Test​をクリックして設定を完了します。

関連

recommendation-more-help
commerce-business-intelligence-help-mbi