Amazon DocumentDB の使用開始 - Amazon DocumentDB

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon DocumentDB の使用開始

Amazon DocumentDB に接続して開始する方法は複数あります。このガイドを作成したのは、ユーザーにとって最も速く、最もシンプルで、最も簡単にドキュメントデータベースを使い始めることができる方法であることがわかったからです。このガイドでは、AWS Cloud9 というウェブベースのターミナルを利用して、AWS Management Console から直接 mongo シェルを使用して Amazon DocumentDB クラスターに接続してクエリします。対象となる新規のお客様AWS無料利用枠では Amazon DocumentDB とAWS Cloud9無料で。もしあなたのAWS Cloud9環境または Amazon DocumentDB クラスターが無料利用枠を超えてリソースを使用した場合、通常の料金が課金されますAWSそれらのリソースの料金。このガイドでは、15 分以内に Amazon DocumentDB の使用を開始でき、

Amazon EC2 インスタンスへの SSH 接続を作成して、ローカルマシンから Amazon DocumentDB に接続する場合は、「EC2 との接続方法」を参照してください。

前提条件

最初の Amazon DocumentDB クラスターを作成する前に、以下の操作を行う必要があります。

Amazon Web Services (AWS) アカウントを作成する

Amazon DocumentDB を使用する前に、Amazon Web Services (AWS) アカウントを持っている必要があります。AWS アカウントは無料です。使用しているサービスとリソースに対してのみ料金をお支払いいただきます。

AWS アカウント をお持ちでない場合は、以下の手順を実行してアカウントを作成してください。

AWS アカウント にサインアップするには
  1. https://portal.aws.amazon.com/billing/signup を開きます。

  2. オンラインの手順に従います。

    サインアップ手順の一環として、通話呼び出しを受け取り、電話のキーパッドを用いて検証コードを入力するように求められます。

    にサインアップするとAWS アカウント、anAWS アカウントルートユーザーが作成されます。root ユーザーはすべてにアクセスできますAWS のサービスおよびアカウント内のリソース。セキュリティのベストプラクティスとして、管理ユーザーに管理アクセスを割り当てる、ルートユーザーのみを使用して実行してくださいルートユーザーアクセスが必要なタスク

必要な AWS Identity and Access Management (IAM) アクセス許可を設定します。

クラスター、インスタンス、クラスターパラメータグループなどの Amazon DocumentDB リソースを管理するためのアクセスでは、リクエストの認証に AWS が使用できる認証情報が必要です。詳細については、Amazon DocumentDB での Identity and Access Management を参照してください。

  1. AWS Management Console の検索バーで、表示されるドロップダウンメニューに IAM を入力し、[IAM] を選択します。

  2. IAM コンソールにアクセスしたら、ナビゲーションペインから [ユーザー] を選択します。

  3. ユーザーネームを選択します。

  4. [アクセス許可の追加] ボタンをクリックします。

  5. [Attach existing policies directly ( 既存のポリシーを直接アタッチ )] を選択します。

  6. 検索バーに AmazonDocDBFullAccess と入力し、検索結果に表示されたら、それを選択します。

  7. [] となっている下の青いボタンをクリックします次へ: 確認.

  8. [アクセス許可の追加] となっている下の青いボタンをクリックします。

Amazon VPC (Amazon Virtual Private Cloud) を作成する

このステップは、デフォルトの Amazon VPC がない場合にのみ必要です。デフォルトの VPC がない場合は、「Amazon VPC のユーザーガイド」の「Amazon VPC の開始方法」のステップ 1 を完了させます。これには 5 分もかかりません。

ステップ 1: AWS Cloud9 環境の作成

AWS Cloud9 には、mongo シェルを使用して Amazon DocumentDB クラスターに接続してクエリを実行できるウェブベースのターミナルが用意されています。

  1. AWS Management Console から AWS Cloud9 コンソールに移動し、[環境を作成する] を選択します。

  2. [環境の名前と説明] セクションの [名前] フィールドに DocumentDBCloud9 と入力します。

  3. [次のステップ] を選択します。

  4. [Configure settings section] で、[次のステップ] を選択します。

  5. [Review (見直し)]セクションで、[Create environment (環境の作成)]を選択します。

注記

AWS Cloud9 環境のプロビジョニングには最大 3 分かかることがあります。

ステップ 2: セキュリティグループの作成

このセキュリティグループにより、お客様の AWS Cloud9 環境から Amazon DocumentDB クラスターに接続できるようになります。

  1. Amazon EC2 マネジメントコンソール で、[ネットワークとセキュリティ] の下にある [セキュリティグループ] を選択します。

  2. [セキュリティグループの作成] を選択します。

  3. [基本的な詳細] ボックスで、各フィールドに以下を入力します。

    • [Security group name (セキュリティグループ名)] に「 demoDocDB 」と入力します。

    • [説明] に説明を入力します。

    • VPC については、デフォルトの VPC の使用を受け入れます。

  4. [インバウンドルール] セクションで、[ルールの追加] を選択します。

  5. [Type] で [Custom TCP Rule] を選択します。

  6. [ポート範囲] には、27017 を入力します。

  7. ソースは、先ほど作成した AWS Cloud9 環境のセキュリティグループです。使用可能なセキュリティグループのリストを表示するには、cloud9 宛先フィールドに入力します。aws-cloud9-<environment name> という名前のセキュリティグループを選択します。

  8. 他のすべてのデフォルトを受け入れ、[セキュリティグループの作成] を選択します。

注記

ポート 27017 は、Amazon DocumentDB のデフォルトのポートです。

ステップ 3: Amazon DocumentDB クラスターの作成

このステップでは、前のステップで作成したセキュリティグループを使用して Amazon DocumentDB クラスターを作成します。

  1. Amazon DocumentDB マネジメントコンソールで、[クラスター] の下にある [作成] を選択します。

  2. [Amazon DocumentDB クラスターの作成] ページの、[設定] セクションで [1インスタンス数に対して] を選択します。1 つのインスタンスを選択すると、コストを最小限に抑えることができます。これが本稼働システムの場合は、高可用性のために 3 つのインスタンスをプロビジョニングすることをお勧めします。その他の設定は、[設定] セクションはデフォルトです。

  3. [認証] セクションで、ユーザーネームとパスワードを入力します。

  4. [アドバンスト設定の表示] を有効化します。

  5. [ネットワーク設定] セクションの、VPC セキュリティグループ には、[demoDocDB] を選択します。

  6. [Create cluster] (クラスターを作成) を選択します。

Amazon DocumentDB がクラスターをプロビジョニングしています。完了までに数分かかる場合もあります。クラスターとインスタンスのステータスが「Available」と表示されている場合は、クラスターに接続できます。

ステップ 4: mongo シェルをインストールする

これで mongo シェルを AWS Cloud9 ステップ 1 で作成した環境にインストールします。mongo シェルは、Amazon DocumentDB クラスターを接続してクエリするために使用するコマンドラインユーティリティです。

  1. ステップ 1 のAWS Cloud9 環境が残っている場合は、その環境に戻り、ステップ 3 に進みます。お客様のAWS Cloud9 環境から移動した場合、AWS Cloud9 マネジメントコンソールの お客様の環境 の下にある DocumentDBCloud9 というラベルの付いた環境があります。[IDE を開く] を選択します。

  2. コマンドプロンプトで、次のコマンドを使用してリポジトリファイルを作成します。

    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
  3. 完了したら、次のコマンドで mongo シェルをインストールします。

    sudo yum install -y mongodb-org-shell
  4. 転送中のデータを暗号化するには、Amazon DocumentDB のパブリックキーを https://s3.amazonaws.com/rds-downloads/rds-combined-ca-bundle.pem からダウンロードします。このオペレーションにより、rds-combined-ca-bundle.pem という名前のファイルがダウンロードされます。

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

    Encryption-in-transit は、Amazon DocumentDB ではデフォルトで有効になっています。オプションで TLS を無効にできます。詳細については、「Amazon DocumentDB クラスター TLS 設定の管理」を参照してください。

ステップ 5: Amazon DocumentDB クラスターConnect する

次に、ステップ 4 でインストールした mongo シェルを使用して Amazon DocumentDB クラスターに接続します。

  1. Amazon DocumentDB マネジメントコンソールで、[クラスター] の下にあるお客様のクラスターを選択します。クラスター識別子をクリックして、作成したクラスターを選択します。

  2. [接続性とセキュリティ] タブの、[mongo シェルを使用してこのクラスターに接続] の下にある接続文字列をコピーします。<insertYourPassword> のコピーを省略すると、接続時に mongo シェルからパスワードの入力を求められます。

  3. お客様の AWS Cloud9 環境に戻り、接続文字列を貼り付けます。

パスワードを入力し、rs0:PRIMARY> プロンプトが表示されたら、Amazon DocumentDB クラスターに正常に接続されています。

注記

トラブルシューティングについては、「Amazon DocumentDB のトラブルシューティング」を参照してください。

ステップ 6: データの挿入とクエリ

クラスターに接続できたので、いくつかのクエリを実行して、ドキュメントデータベースの使用に慣れることができます。

  1. 1 つのドキュメントを挿入するには、次のように入力します。

    db.collection.insert({"hello":"DocumentDB"})
  2. 次の出力が返ります。

    WriteResult({ "nInserted" : 1 })

  3. findOne() コマンドで書き込んだドキュメントを読み取ることができます (一つのドキュメントしか返さないため)。以下を入力します。

    db.collection.findOne()
  4. 次の出力が返ります。

    { "_id" : ObjectId("5e401fe56056fda7321fbd67"), "hello" : "DocumentDB" }

  5. さらにいくつかのクエリを実行するには、ゲームプロファイルのユースケースを検討してください。まず、「profiles」というタイトルのコレクションにエントリをいくつか挿入します。以下を入力します。

    db.profiles.insertMany([ { "_id" : 1, "name" : "Matt", "status": "active", "level": 12, "score":202}, { "_id" : 2, "name" : "Frank", "status": "inactive", "level": 2, "score":9}, { "_id" : 3, "name" : "Karen", "status": "active", "level": 7, "score":87}, { "_id" : 4, "name" : "Katie", "status": "active", "level": 3, "score":27} ])
  6. 次の出力が返ります。

    { "acknowledged" : true, "insertedIds" : [ 1, 2, 3, 4 ] }

  7. find() コマンドを使用して、プロファイルコレクション内のすべてのドキュメントを返します。以下を入力します。

    db.profiles.find()
  8. ステップ 5 で入力したデータに一致する出力が得られます。

  9. フィルターを使用して 1 つのドキュメントに対して1つのクエリを使用します。以下を入力します。

    db.profiles.find({name: "Katie"})
  10. この出力を返す必要があります。

    { "_id" : 4, "name" : "Katie", "status": "active", "level": 3, "score":27}

  11. それでは、プロファイルを探して、それを findAndModify コマンドで変更してみましょう。次のコードを使用して、ユーザー Matt に10 ポイント追加します。

    db.profiles.findAndModify({ query: { name: "Matt", status: "active"}, update: { $inc: { score: 10 } } })
  12. 次のような出力が得られます (Mattのスコアはまだ上がっていないことに注意してください) 。

    { "_id" : 1, "name" : "Matt", "status" : "active", "level" : 12, "score" : 202 }
  13. 次のクエリを使用して、Matt のスコアが変更されたことを確認できます。

    db.profiles.find({name: "Matt"})

  14. 次の出力が返ります。

    { "_id" : 1, "name" : "Matt", "status" : "active", "level" : 12, "score" : 212 }

ステップ 7: 探索

お疲れ様でした。Amazon DocumentDB 入門ガイドを正常に完了しました。

次のステップ このデータベースを一般的な機能の一部を使用して、完全に活用する方法を学びましょう。

注記

この入門演習で作成したクラスターは、削除しない限り、引き続きコストを計上します。手順については、以下を参照してください。Amazon DocumentDB クラスターを削除する