Amazon DocumentDBとは
Amazon DocumentDBはMongoDB互換のAWSのフルマネージドサービスになります。
Amazon DocumentDBを使用することで構築の簡素化、自動スケーリングや自動パッチ適用など運用の簡素化を図ることができます。
Amazon DocumentDBは2022年10月現在、MongoDB 3.6および4.0のドライバーおよびツールと互換性があります。
Amazon DocumentDBに接続してみる
Amazon DocumentDBに接続するには、MongoDBが提供しているmongo
コマンドで接続が可能です。そのため、まずはmongo
コマンドをインストールします。
mongoのインストール
Amazon DocumentDB 4.0に接続することを想定します。
また、クライアント環境はAmazon Linux2のEC2インスタンスを想定します。
mongo
コマンドのインストール手順についてはMongoDBのサイトを参考に記載をしています。
-
yumの設定を修正するために
/etc/yum.repos.d/mongodb-org-4.0.repo
ファイルを作成し、以下の内容を記載します。[mongodb-org-4.0] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/amazon/2/mongodb-org/4.0/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc
-
以下のコマンドを実行すると
mongo
コマンドがインストールされます。sudo yum install -y mongodb-org
DocumentDBに接続する
yum
コマンドでインストールを行うと/var/lib/mongo
にコマンドが作成されます。
mongo
コマンドでのDocumentDBへの接続方法はAWSマネージメントコンソールのDocumentDBクラスタの画面のところに表示されてもいます。
以下にはTLSを使用した接続方法を記載しています。
-
(初回のみ)認証に必要なAmazon DocumentDB認証機関(CA)証明書をダウンロードします。
wget https://s3.amazonaws.com/rds-downloads/rds-combined-ca-bundle.pem
-
mongo
コマンドでDocumentDBクラスタに接続します。(/var/lib/mongo
にパスが通っていない場合は事前に設定をしてください)mongo --ssl --host [クラスタ名]:[ポート番号] --sslCAFile rds-combined-ca-bundle.pem --username [ユーザ名] --password [パスワード名]
上記コマンドはクラスタ名等が補完されたコマンドラインをAWSマネージメントコンソールのDocumentDBクラスタの画面からコピーすることが可能です
DocumentDBにコマンドを実行してみる
DocumentDBに接続ができたら以下のようなコマンドを実行することができます。
コレクション一覧を表示する(show collections)
rs0:PRIMARY> show collections
table1
table2
table3
コレクションはRDBでのテーブルに相当します
コレクションを作成する(db.createCollection([コレクション名])
rs0:PRIMARY> db.createCollection('table1');
{ "ok" : 1, "operationTime" : Timestamp(1666829216, 1) }
rs0:PRIMARY>
データを追加する(db.[コレクション名].insert([JSON]))
rs0:PRIMARY> db.table1.insert({id: 1, name: 'Alen', age:10})
WriteResult({ "nInserted" : 1 })
全件表示する(db.[コレクション名].find())
rs0:PRIMARY> db.table1.find()
{ "_id" : ObjectId("6359cbf4cd7425fde3ab1dff"), "id" : 1, "name" : "Alen", "age" : 10 }
{ "_id" : ObjectId("6359cc02cd7425fde3ab1e00"), "id" : 2, "name" : "Bob", "age" : 21 }