LoginSignup
0
3

More than 3 years have passed since last update.

EC2からDocumentDBに接続してみた

Posted at

業務でDocumentDBを利用する場面があったので、慣れるために一旦EC2からDocumentDBに接続してみました。
どうやらDocumentDBはMongoDB互換のデータベースらしいです。
私はMongoDB自体も初めてだったので、なんのこっちゃという感じでした。
この記事が、私と同じように困っている方の参考になれば幸いです。

前提

  • DocumentDBにmongoコマンドでアクセスしたい場合はmongo-org-shellをインストールする必要がある
  • Linuxにmongo-org-shellをインストールするにはリポジトリを追加する必要がある
    • 普通にyum installのではダメ。リポを追加しないと
  • 今回のOSには「Amazon Linux2」を利用する
    • Amazon Linux2のパッケージ管理ツールはyum

事前準備

  • VPC(サブネットなどの周辺リソースも)とEC2インスタンスを作成
  • 上記で作成したVPCでDocumentDBを作成
  • セキュリティグループを適切にEC2インスタンス・DocumentDBに設定

ゼロから接続する手順

mongodbのyumリポジトリを追加する

/etc/yum.depos.d/下にmongodb-org-4.4.repoというファイルを作成

mongodb-org-4.4.repo
[mongodb-org-4.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/amazon/2/mongodb-org/4.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc

注意)利用したいmongodbのバージョンによって、ファイル名やコードは変更してください。
 例えば、4.0を利用したいならmongodb-org-4.4.repoではなくmongodb-org-4.0.repo

mongo-org-shellをインストールする

$ yum install -y mongo-org-shell

DocumentDBへのSSL接続に必要な鍵をダウンロード

$ wget https://s3.amazonaws.com/rds-downloads/rds-combined-ca-bundle.pem

mongoコマンドでDocumentDBにSSL接続

以下のコマンドを実行するとDocumentDBに接続でき、mongo-shellの対話画面が始まる。

$ mongo --ssl --host <host_name>:27017 <db_name> --sslCAFile rds-combined-ca-bundle.pem --username <username> --password <password>

おまけ

mongoimportを使いたい場合

mongo-org-toolsをインストールする

$ yum install -y mongo-org-tools

以下のようにコマンドを実行すればjsonデータを挿入できる

$ mongoimport --ssl --host <host:port> --db mydb --collection mycollection --file myfile.json --sslCAFile rds-combined-ca-bundle.pem --username <username> --password <password>

参考

0
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
3