-- 1. クラスターパラメータグループの作成
aws docdb create-db-cluster-parameter-group \
--db-cluster-parameter-group-name cpg01 \
--db-parameter-group-family docdb4.0 \
--description "cpg01"
aws docdb describe-db-cluster-parameter-groups | grep DBClusterParameterGroupName
aws docdb describe-db-cluster-parameters \
--db-cluster-parameter-group-name cpg01
aws docdb modify-db-cluster-parameter-group \
--db-cluster-parameter-group-name cpg01 \
--parameters ParameterName=profiler,ParameterValue=enabled,ApplyMethod=immediate \
ParameterName=profiler_threshold_ms,ParameterValue=50,ApplyMethod=immediate \
ParameterName=profiler_sampling_rate,ParameterValue=1.0,ApplyMethod=immediate
-- 2. Amazon DocumentDB クラスターの作成
aws docdb create-db-cluster \
--db-cluster-identifier cluster01 \
--engine docdb \
--engine-version 4.0.0 \
--port 27017 \
--master-username test \
--master-user-password 'password' \
--no-storage-encrypted \
--no-deletion-protection \
--db-cluster-parameter-group-name cpg01 \
--enable-cloudwatch-logs-exports profiler
aws docdb create-db-instance \
--db-instance-identifier instance01 \
--db-instance-class db.t3.medium \
--engine docdb \
--no-auto-minor-version-upgrade \
--db-cluster-identifier cluster01
aws docdb describe-db-clusters \
--filter Name=engine,Values=docdb \
--db-cluster-identifier cluster01
aws docdb describe-db-instances \
--filter Name=engine,Values=docdb \
--db-instance-identifier instance01
-- 3. 動作確認
echo -e "[mongodb-org-4.0] \nname=MongoDB Repository\nbaseurl=https://repo.mongodb.org/yum/amazon/2013.03/mongodb-org/4.0/x86_64/\ngpgcheck=1 \nenabled=1 \ngpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc" | sudo tee /etc/yum.repos.d/mongodb-org-4.0.repo
sudo yum install -y mongodb-org-shell
wget https://s3.amazonaws.com/rds-downloads/rds-combined-ca-bundle.pem
mongo --ssl --host cluster01.cluster-xxxxxxxxxxxx.ap-northeast-1.docdb.amazonaws.com:27017 --sslCAFile rds-combined-ca-bundle.pem --username test
--コレクション作成とデータ追加
db.tab1.insert({_id:1,col2:"val12",col3:13});
db.tab1.insert({_id:2,col2:"val22",col3:23});
--コレクション確認(データベースはコレクション作成時に作成される)
show dbs
show collections
--データ取得
db.tab1.find()
db.tab1.find({_id:2});
--データ更新
db.tab1.update({_id:2 }, { $set : { col2: "newval22" } });
db.tab1.find({_id:2});
--データ削除
db.tab1.remove({_id:1 })
db.tab1.find({_id:1});
--コレクション削除
db.tab1.drop()
show dbs
show collections
--データベース削除
db.dropDatabase();
show dbs
show collections
CloudWatchの「/aws/docdb/cluster01/profiler」にログが出力される
-- 4. クリーンアップ
aws docdb delete-db-instance \
--db-instance-identifier instance01
aws docdb delete-db-cluster \
--db-cluster-identifier cluster01 \
--skip-final-snapshot
-- クラスタパラメータグループ削除
aws docdb delete-db-cluster-parameter-group \
--db-cluster-parameter-group-name cpg01
-- クラスタパラメータグループ一覧
aws docdb describe-db-cluster-parameter-groups | grep DBClusterParameterGroupName