SSH トンネル経由の MongoDB の接続
SSH トンネルを使用して MongoDB データベースを Commerce Intelligence に接続するには、次の手順を実行する必要があります。
Commerce Intelligence 公開鍵の取得 retrieve
public key
は、Commerce Intelligence Linux
ユーザーの認証に使用されます。 次の節では、ユーザーの作成とキーの読み込みについて説明します。
- Data > Connections に移動し、「Add New Data Source」をクリックします。
- MONGODB アイコンをクリックします。
- MongoDB 資格情報ページが開いたら、「
Encrypted
」切り替えスイッチをYes
に変更します。 SSH 設定フォームが表示されます。 public key
はこのフォームの下にあります。
このページは、チュートリアルの最後まで開いたままにしておきます。次の節と最後に必要になります。
少し迷った場合は、Commerce Intelligence を移動してキーを取得する方法を次に示します。
Commerce Intelligence IP アドレスへのアクセスを許可します allowlist
接続を成功させるには、IP アドレスからのアクセスを許可するようにファイアウォールを設定する必要があります。 これらは 54.88.76.97
と 34.250.211.151
ですが、MongoDB の資格情報ページにも表示されます。
Commerce Intelligence 用の Linux
ユーザーの作成 linux
sshd_config
ファイルが既定のオプションに設定されていない場合は、特定のユーザーのみがサーバーにアクセスできます。これにより、Commerce Intelligence への接続に成功できなくなります。 このような場合、rjmetric
ユーザーにサーバーへのアクセスを許可するには、AllowUsers
のようなコマンドを実行する必要があります。リアルタイム(または頻繁に更新される)のデータが含まれている限り、実稼動マシンまたはセカンダリマシンを使用できます。 MongoDB サーバーへの接続権限を保持している限り、このユーザーを好きなように制限することができます。
新しいユーザーを追加するには、Linux
サーバーで次のコマンドを root として実行します。
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 にログインし、次のコマンドを実行することでユーザーを追加できます。
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」をクリックして設定を完了します。