サイトアイコン IT NEWS

【AWS】DocumentDB構築手順(LambdaとStudio 3Tから接続)

AWSDocumentDBは、スケーラブルで高性能なデータベースサービスであり、AWS上でのアプリケーション開発において非常に重要な役割を果たします。
この記事では、DocumentDB構築手順を詳しく説明し、LambdaとローカルからStudio 3Tを使ってデータベースを閲覧・編集できるように接続することを目的として設定します。

DocumentDBとは

始めに、DocumentDBを知らない方のために少しだけ紹介します。
AWSのDocumentDBは、MongoDB互換性があるマネージドデータベースサービスです。
MongoDBのアプリケーションを簡単に移行し、運用することができます。

メリットとデメリット

DocumentDBを使用することのメリットデメリットは次の通りです。

メリット
デメリット
  • 高い可用性と耐久性
  • 自動スケーリング
  • セキュリティ設定が容易
  • コストがかかる
  • データベースエンジンがMongoDBに特化している

DocumentDB vs 他のデータベース

以下の表は、DocumentDB他のAWSデータベースサービス比較したものです。

機能DocumentDBRDS (Relational Database Service)DynamoDB (NoSQL)
データモデルMongoDB互換リレーショナルNoSQL
スケーラビリティ豊富なスケーリングオプションシンプルなスケーリング自動スケーリング
セキュリティ設定SSL対応、IAM認証VPC、IAM、SSLVPC、IAM、SSL
コスト高め中程度低め
DocumentDB vs 他のデータベース

【注意】外部からの直接参照は不可

AWS公式ドキュメントには以下のように書いていました。

ノートパソコンやローカル開発マシンなどのパブリックエンドポイントから Amazon DocumentDB クラスターに直接接続しようとしても失敗します。Amazon DocumentDB は仮想プライベートクラウド (VPC) 専用で、現在パブリックエンドポイントをサポートしていません。したがって、ノートパソコンまたは VPC の外部のローカル開発環境から直接 Amazon DocumentDB クラスターに接続することはできません。

引用:接続問題 – Amazon DocumentDB

なので、踏み台として別途EC2が必要になります。
その話はまた別の記事でご紹介したいと思います。

クラスター作成前設定

クラスターを作成するには、事前にサブネットグループパラメーターグループを作成する必要があります。
簡単にご紹介しますので、ご自身の環境に合わせて設定してください。
まずは、Amazon DocumentDBの管理画面へアクセスしてください。

サブネットグループ作成手順

以下の項目を選択してサブネットグループを作成します。

  1. VPC:(※事前に作成が必要)
  2. 「アベイラビリティーゾーン」と対応する「サブネット」を選択し、「サブネットを追加」ボタンを押下(※事前に作成が必要)

サブネットグループを変更後はDocumentDBを再起動する必要がある

パラメーターグループ作成手順

以下の項目を選択してクラスターパラメーターグループ作成手順を作成します。

  1. 新しいクラスターパラメーターグループ名:<任意>
  2. ファミリー:docdb4.0(このバージョンでないと外部からデータを参照できない)
  3. 説明:<任意>
    ※設定後のパラメータはデフォルトで可(必要に応じて変更する)

パラメータグループを変更した場合、DocumentDBを再起動しないと設定が反映されなかった

クラスター構築手順

以下の手順でクラスターの作成を開始します。

  1. 左メニューの「クラスター」を選択する
  2. 右側の「作成」ボタンを押下する

設定

以下の設定の入力項目に入力します。

  1. クラスター識別子:<任意の識別子>
  2. エンジンバージョン:4.0.0(このバージョンでないと何故か外部からデータを参照できない
  3. インスタンスクラス:db.t3.medium(←後から変更できるため、迷ったらこれにする)
  4. インスタンス数:1(←後から変更できるため、迷ったらこれにする)

認証

以下の認証の入力項目に入力します。

  1. マスターユーザー名:<Lambdaや外部からアクセスする際のユーザー名(任意)>
  2. マスターパスワード:<Lambdaや外部からアクセスする際のユーザーパスワード(任意)>
  3. マスターパスワードの確認:(上記と同じもの)

注)記号を使うとターミナルやソース上でエスケープが必要な場合がある

ネットワーク設定

下にある「詳細設定を表示」のトグルスイッチをオンにして、以下のネットワーク設定の入力項目に入力します。

  1. Virtual Private Network (VPC):(※事前に作成が必要)
  2. サブネットグループ:(※事前に作成が必要)
  3. VPC セキュリティグループ:(※事前に作成が必要)

クラスターオプション

以下のクラスターオプションの入力項目に入力します。

  1. ポート:27017(←MongoDBと同じで基本は固定)
  2. クラスターパラメータグループ:(※事前に作成が必要)

その他の項目

バックアップメンテナンスについては任意で設定してください。
後から変更できるためデフォルトでも構わないと思います。

まとめ・補足

DocumentDBの構築手順は以上になります。
今回の記事で参考・引用した参考サイトはをご紹介します。

DocumentDBのクラスターに関するもっと細かい設定を知りたい場合はこちらがおすすめです。

また、こちらでは踏み台にするEC2からの接続方法についても紹介していますので、ぜひ参考にしてください。

コマンドによるデータベースユーザーの操作は以前の記事を参考にしてください。

最後に、冒頭でご紹介したStudio 3Tはこちらからダウンロードできます。

以上です。

著:佐竹 陽一, 著:山﨑 翔平, 著:小倉 大, 著:峯 侑資
¥2,970 (2023/10/17 09:59時点 | Amazon調べ)

モバイルバージョンを終了