LoginSignup
7
7

More than 5 years have passed since last update.

AWS DocumentDBを作成して、EC2から接続するまで

Posted at

最近発表されて話題になっていたAWS DocumentDB(以下DocumentDB)を使ってみた。

DocumentDBとは?

AWSが最近発表したMongoDBと互換性のあるデータベース。
MongoDBでのスプリットブレイン問題などが解消されている。
MongoDBとの互換はversion: 3.6(最新は4)
実態はMongoDBをエミュレートしているだけ。

想定されるユースケース

現在多くのサービスでNoSQLとしてDynamoDBが用いられているが、これがDocumentDBに置き換わっていくかもしれない。
SQLで手軽に検索できるのはやはり大きい。

セットアップ

公式トラブルシューティングによるとパブリックエンドポイントがサポートされておらず、同一VSN内、同一リージョン内でないと接続できないとのこと。
sshトンネルなどもできるらしいが、今回は普通にec2のLinaxからアクセスして試してみることにした。

クラスターを作成

image.png

画面からまずはクラスターなるものを作成する必要がある。

image.png
作成すると、指定したインスタンス数に応じてインスタンスが立ち上がる。
ここに書かれている情報を用いて接続する。

接続

ec2インスタンスを作成する。

ssh接続してMongo3.6.9をインストールする

sudo vim /etc/yum.repos.d/mongodb-org-3.6.repo

を実行して以下のコードを書き込む

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

書き込んだらインストールののちにdocumentDBに接続!

sudo yum install -y mongodb-org-shell
mongo --ssl --host [DocumentDBのClusterのドメイン]:27017 --sslCAFile rds-combined-ca-bundle.pem --username [ユーザ名] --password [パスワード]

結果

パブリックエンドポイントが使えないのはちょっと悲しい。 次回はLambdaからアクセスして使ってみたい。
前にどこかの記事でこういう優良なオープンソースをクラウドサービスが全て持って行って利益を総取りしてしまうためにコミュニティが育たないという批判記事を見かけた気がするが、やっぱりAWSとなると信頼性がすごい。安心できる。
東京リージョンもまだサポートされていないし、これからが楽しみなサービス。
どうでもいいけど、1日動かしっぱなしにしておいたら$13も取られた… 高い…

参考

https://dev.classmethod.jp/cloud/docdb-via-nlb/
https://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/troubleshooting.html#troubleshooting.cannot-connect

7
7
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
7
7