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資格情報ページにも表示されます。
LinuxのCommerce Intelligence ユーザーを作成しています linux
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にログインし、次のコマンドを実行することで、ユーザーを追加できます。
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.1Username: 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をクリックして設定を完了します。