Amazon Web Services ブログ

Amazon DocumentDB (MongoDB 互換) の開始方法 – パート 3; – Robo 3T の使用

Amazon DocumentDB (MongoDB 互換) は、MongoDB のワークロードをサポートする、高速かつスケーラブルで可用性に優れたフルマネージド型のドキュメントデータベースサービスです。お客様は、基盤となるインフラストラクチャの管理を気にすることなく、現在ご使用のものと同じ MongoDB 3.6 向けのアプリケーションコード、ドライバー、ツールを、そのまま Amazon DocumentDB 上でワークロードを実行、管理、そしてスケールするのに使えます。ドキュメントデータベースである Amazon DocumentDB は、JSON データの保存、クエリ、およびインデックスを容易にします。

このシリーズのパート 3 であるこの投稿では、Amazon DocumentDB と Robo 3T (旧 Robomongo) の開始方法を説明します。Robo 3T は、軽量でシェル中心のオープンソースプラットフォーム間のグラフィカルユーザーインターフェイスツールであり、MongoDB ワークロードを管理します。Robo 3T は、データベースとコレクションの作成、ユーザーやドキュメントの追加、オートコンプリート機能を搭載した 1 回限りのクエリの実行、GUI インターフェイスからの結果の視覚化を実現するため、より効率的です。

この投稿では、VPC 内に単一インスタンスの Amazon DocumentDB クラスター、同じ VPC 内の EC2 Linux VM を作成し、2 つの間に SSH トンネルを設定します。また、Robo 3T を使用してクラスターに接続し、ローカルコンピュータからいくつかのクエリを実行します。次の図は、このチュートリアルの最終的なアーキテクチャを示しています。

Amazon DocumentDB クラスターの作成

AWS コマンドラインインターフェイス (AWS CLI) または AWS マネジメントコンソールを使用して、Amazon DocumentDB クラスターを作成できます。既存のクラスターをお持ちの場合は、このステップをスキップしてください。

AWS CLI を使用したクラスターの作成

AWS CLI とスマートデフォルトを使用してクラスターを作成するには、Linux、macOS、または Unix で次のコードを使用します。

aws docdb create-db-cluster \
      --db-cluster-identifier sample-cluster \
      --engine docdb \
      --deletion-protection \
      --master-username master-user \
      --master-user-password password

Windows では、次のコードを入力します。

aws docdb create-db-cluster ^
      --db-cluster-identifier sample-cluster ^
      --engine docdb ^
      --deletion-protection ^
      --master-username master-user ^
      --master-user-password password

コンソールでのクラスターの作成

スマートデフォルトでコンソール上にクラスターを作成するには、次の手順を実行します。

  1. Amazon DocumentDB コンソールの [クラスター] で、[作成] を選択します。
  2. [Amazon DocumentDB クラスターを作成する] ページの [インスタンス数] で、[1] を選択してコストを最低限に抑えます。
  3. 他の設定はデフォルトのままにします。
  4. [認証] セクションで、ユーザー名とパスワードを入力します。
  5. [クラスターの作成] を選択します。
  6. ご使用のクラスターのセキュリティグループの受信接続を有効にします。
    クラスターのセキュリティグループに受信接続を追加する方法

    • a.AWS マネジメントコンソールにサインインして、https://console.thinkwithwp.com/ec2/ で Amazon EC2 コンソールを開きます。
    • b.メインウィンドウの [リソース] セクションで、[セキュリティグループ] を選択します。
    • c.セキュリティグループ一覧から、クラスターの作成時に使用したセキュリティグループ (ほとんどの場合、デフォルトのセキュリティグループ) を見つけて、セキュリティグループ名の左側にあるボックスを選択します。
    • d.[アクション] メニューから [インバウンドルールを編集] を選択してから、ルールの制約を選択または入力します。
      • タイプ — 一覧から、ネットワークトラフィックを開くプロトコルを選択します。
      • プロトコル — 一覧から、プロトコルのタイプを選択します。
      • ポート範囲 — カスタムルールの場合、ポート番号またはポート範囲を入力します。ポート番号または範囲に、クラスターの作成時に指定したポート (デフォルト: 27017) が含まれていることを確認してください。
      • ソース — インスタンスに到達できるトラフィックを指定します。一覧から、トラフィックソースを選択します。[カスタム] を選択した場合は、単一の IP アドレスまたは IP アドレス範囲を CIDR 表記で指定します (例: 203.0.113.5/32)。
      • 説明 — このルールの説明を入力します。
      • ルールの作成が完了したら、[保存] を選択します。

EC2 インスタンスを起動する

Amazon DocumentDB クラスターは、Amazon Virtual Private Cloud (Amazon VPC) 内にデプロイされます。同じ Amazon VPC にデプロイされている Amazon Elastic Compute Cloud (Amazon EC2) インスタンス、またはその他 AWS のサービスから直接アクセスできます。クライアントマシン (Windows、macOS、Linux) から Robo 3T を使用してクラスターに接続するには、DocumentDB クラスターと同じ VPC およびセキュリティグループに Linux EC2 インスタンスが必要です。チュートリアルの後半で、EC2 インスタンスを経由するラップトップからクラスターへの SSH トンネルを作成します。クラスターと同じ VPC およびセキュリティグループで既存の EC2 インスタンスを使用するか、クラスターと同じ VCP およびセキュリティグループで無料の Linux EC2 インスタンスを作成することができます。詳細については、Amazon EC2 Linux インスタンスの開始方法を参照してください。

Robo 3T を使用した接続

Robo 3T をお持ちでない場合は、ダウンロードできます。この記事を書いている時点での最新の Robo 3T バージョンは 1.3 です。Robo 3T を既にお持ちの場合は、この手順をスキップできます。

  1. Robo 3T を開き、[作成] を選択します。
  2. クラスターからクラスターエンドポイントをコピーします。
  3. [接続] タブで、クラスターエンドポイント情報を入力します。
  4. [認証] タブで、クラスターの認証情報を入力します。必ず「test」や「testdb」などのカスタムデータベース名を使用してください。「admin」 (デフォルト設定) の使用は、データベースのないクラスターの DocumentDB では機能しません。最初のデータベースを作成したら、「admin」を使用するように接続を変更できます。
  5. [SSH] タブで、[SSH トンネルを使用] チェックボックスをオンにし、EC2 インスタンスの SSH アドレス、ユーザー名、およびプライベートキー/パスワードを追加します。SSH アドレスは、EC2 インスタンスのパブリック DNS です。プライベートキーを使用して EC2 インスタンスを作成した場合は、Robo 3T SSH トンネルに同じキーを使用します。AWS EC2 コンソールから SSH アドレス、ユーザー名、およびプライベートキーを取得できます。Linux/macOS クライアントマシンを使用している場合は、次のコマンドを使用してプライベートキーの権限を変更しなければならない場合があります。
    > chmod 400 /fullPathToYourPemFile/<yourKey>.pem

  6. [SSL] タブで、Amazon DocumentDB 証明書を追加します。
  7. [詳細オプション] を選択します。
  8. [無効なホスト名] で、[許可] を選択します。
    次のコマンドで証明書をダウンロードできます。

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

    wget がない場合は、ウェブブラウザから直接 URL にアクセスして証明書をダウンロードすることもできます。

  9. [テスト] を選択して、接続をテストします。
    [診断] ウィンドウが開き、テスト結果が表示されます。
  10. [閉じる] を選択します。
  11. [保存] をクリックします。
  12. クラスターを選択し、[接続] を選択します。
  13. クラスターのドロップダウンメニューの [コレクション] で、[コレクションの作成] を選択します。
  14. [ドキュメント挿入] を選択して、ドキュメントを挿入します。
  15. Robo 3T から最初の Amazon DocumentDB クエリを実行します。

Robo 3T 機能の詳細については、GitHub リポジトリをご覧ください。

クリーンアップ

チュートリアルが完了したら、Amazon DocumentDB クラスターを停止してコストを抑えるか、クラスターを削除できます。

まとめ

この投稿では、Robo 3T を使用して Amazon DocumentDB を開始する方法を示しました。Robo 3T から Amazon DocumentDB クラスターへの接続を確立することにより、データベース、コレクション、およびインデックスを作成し、ドキュメントを挿入して、単一のツールからそれらをクエリできるようになりました。インプレースクエリ編集、MongoDB を介した SQL クエリ、ビジュアルクエリビルダー、集約エディタ、およびスキーマエクスプローラーなどの高度な機能については、Studio 3T をご覧ください。

ローカルマシンで Amazon DocumentDB の使用を開始する方法については、Amazon DocumentDB (MongoDB 互換) の開始方法 – パート 1: Amazon EC2 の使用Amazon DocumentDB の開始方法 (MongoDB 互換) – パート 2: AWS Cloud9 の使用をご参照ください。 最近のリリースとブログ投稿の詳細については、Amazon DocumentDB (MongoDB 互換) リソースを参照してください。

 

 


著者について

 

Bhagdev はアマゾン ウェブ サービスのシニアプロダクトマネージャーです。