Amazon DocumentDB の使用開始 - Amazon DocumentDB

Amazon DocumentDB の使用開始

Amazon DocumentDB に接続して開始する方法は複数あります。このガイドは、ユーザーにとって最も速く、最もシンプルで、最も簡単にドキュメントデータベースを使い始めることができる方法を提供します。このガイドでは、AWS CloudShell を使用して、AWS マネジメントコンソール から直接 Amazon DocumentDB クラスターに接続してクエリを実行します。AWS 無料利用枠の対象である新規顧客は、Amazon DocumentDB と CloudShell を無料でご利用いただけます。AWS CloudShell 環境または Amazon DocumentDB クラスター が無料利用枠を超えてリソースを使用した場合、それらのリソースには通常の AWS 料金が課金されます。このガイドを読めば、Amazon DocumentDB を 5 分もかからずに使い始めることができます。

注記

このガイドの手順は、Amazon DocumentDB と AWS CloudShell が使用可能な場合、特に Amazon DocumentDB インスタンスベースのクラスターを作成して接続するためのものです。

前提条件

最初の 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 アカウント にサインアップすると、AWS アカウントのルートユーザー が作成されます。ルートユーザーには、アカウントのすべての AWS のサービスとリソースへのアクセス権があります。セキュリティベストプラクティスとして、ユーザーに管理アクセス権を割り当て、ルートユーザーアクセスが必要なタスクの実行にはルートユーザーのみを使用するようにしてください。

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

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

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

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

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

  4. [Add permissions] (アクセス許可の追加) をクリックします。

  5. [ポリシーを直接アタッチする] を選択します。

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

  7. [次へ] をクリックします。

  8. [Add permissions] (アクセス許可の追加) をクリックします。

注記

お使いの AWS アカウントでは、各リージョンごとに デフォルト VPC が含まれます。Amazon VPC を使用することを選択した場合は、「Amazon VPC ユーザーガイド」の「Amazon VPC を作成する」トピックの手順を完了します。

ステップ 1: クラスターを作成する

このステップでは、Amazon DocumentDB クラスターを作成します。

  1. AWS マネジメントコンソール にサインインして、Amazon DocumentDB コンソール https://console.aws.amazon.com/docdb を開いてください。

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

    新しいクラスターを作成し、リソースを管理するオプションがある空のクラスターダッシュボード。
  3. 「Amazon DocumentDB クラスターの作成」ページの [クラスタータイプ] セクションで、[インスタンスベースのクラスター] を選択します (これはデフォルトのオプションです)。

    インスタンスベースのクラスターオプションが強調表示され、両方のクラスタータイプが説明されているクラスタータイプの選択。
    注記

    このカテゴリのもう 1 つのオプションは Elastic クラスター です。「Amazon DocumentDB Elastic クラスター」の詳細については、「Amazon DocumentDB のエラスティッククラスター」を参照してください。

  4. [クラスター設定] セクションで次を行います。

    1. [クラスター識別子] には、mydocdbcluster などの一意の名称を入力します。コンソール操作では、入力方法に関係なくクラスター名のすべての文字が小文字に変換されることにご留意ください。

    2. [エンジンバージョン] で、[5.0.0] を選択します。

    識別子とエンジンバージョンのフィールドを含むデータベースクラスターの設定フォーム。
  5. [クラスターストレージ設定]セクションでは、[Amazon DocumentDB 標準] (デフォルトのオプションです) を選択します。

    Amazon DocumentDB Standard オプションが強調表示され、両方のストレージタイプが説明されているストレージタイプの選択。
    注記

    このカテゴリのもう 1 つのオプションは、[Amazon DocumentDB I/O 最適化] です。いずれかのオプションの詳細については、「Amazon DocumentDB クラスターストレージ設定」を参照してください。

  6. インスタンス設定 セクション:

    1. [DB インスタンスクラス] では、メモリ最適化クラス (r クラスを含む) を選択します (デフォルト)。

      もう 1 つのインスタンスオプションは NVMe-backed クラス です。詳細についてはNVMe-backed インスタンスを参照してください。

    2. [インスタンスクラス][t3.medium] を選択します。これは AWS 無料利用枠の対象となります。

    3. [インスタンスの数] は、[1] を選択します。1 つのインスタンスを選択すると、コストを最小限に抑えることができます。これが本稼働システムの場合は、高可用性のために 3 つのインスタンスをプロビジョニングすることをお勧めします。

    DB インスタンスクラス、サポートされているインスタンスクラス、インスタンス数のフィールドを含むデータベースインスタンスの設定フォーム。
  7. [接続] セクションで、デフォルト設定の [EC2 コンピューティングリソースに接続しない] のままにしておきます。

    EC2 コンピューティングリソースに接続または接続しないオプションがあるデータベースの接続設定。
  8. [認証] セクションで、プライマリユーザーのユーザー名を入力し、[セルフマネージド] を選択します。パスワードを入力して確認します。

    代わりに [AWS Secrets Manager で管理] を選択した場合は、詳細については「Amazon DocumentDB と AWS Secrets Manager を使用したパスワード管理」を参照してください。

    [AWS Secrets Manager で管理] オプションが強調表示され、両方の認証タイプが説明されている認証タイプの選択。
  9. 他のすべてのオプションはデフォルトのままにして、[クラスターの作成] を選択します。

Amazon DocumentDB がクラスターをプロビジョニングしています。完了までに数分かかる場合もあります。

注記

クラスターのステータス値については、「Amazon DocumentDB のモニタリング」の章の「クラスターステータスの値」を参照してください。

ステップ 2: クラスターに接続する

AWS CloudShell を使用して Amazon DocumentDB クラスターに接続します。

  1. Amazon DocumentDB マネジメントコンソールの [クラスター] で、作成したクラスターを探します。クラスターの横にあるチェックボックスをクリックして選択します。

    プライマリインスタンスの詳細を含むリージョンクラスターを示す Amazon DocumentDB クラスター管理インターフェイス
  2. [クラスターに接続] (アクションドロップダウンメニューの横にある) をクリックします。このボタンは、クラスターの横にあるチェックボックスをクリックした後にのみ有効になり、リージョンクラスターとプライマリインスタンス (複数可) の両方のステータスが 使用可能 と表示されます。CloudShell の [Run コマンド] 画面が表示されます。

  3. [新しい環境の名前] フィールドに、「test」などの一意の名前を入力し、[作成して実行する] をクリックします。VPC 環境の詳細は、Amazon DocumentDB データベースに自動的に設定されます。

    新しい環境名をリクエストするクラスタークラスター CloudShell Run コマンド画面
  4. プロンプトが表示されたら、ステップ 1: Amazon DocumentDB クラスターを作成する (サブステップ 7) で作成したパスワードを入力します。

    ユーザーパスワードをリクエストするクラスター CloudShell 画面

    パスワードを入力して、プロンプトが rs0 [direct: primary] <env-name>> に変わったら、Amazon DocumentDB クラスターに正常に接続できています。

注記

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

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

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

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

    db.collection.insertOne({"hello":"DocumentDB"})

    次の出力が返ります。

    { acknowledged: true, insertedId: ObjectId('673657216bdf6258466b128c') }
  2. findOne() コマンドで書き込んだドキュメントを読み取ることができます (一つのドキュメントしか返さないため)。以下を入力します。

    db.collection.findOne()

    次の出力が返ります。

    { "_id" : ObjectId("5e401fe56056fda7321fbd67"), "hello" : "DocumentDB" }
  3. さらにいくつかのクエリを実行するには、ゲームプロファイルのユースケースを検討してください。まず、「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 } ])

    次の出力が返ります。

    { acknowledged: true, insertedIds: { '0': 1, '1': 2, '2': 3, '3': 4 } }
  4. find() コマンドを使用して、プロファイルコレクション内のすべてのドキュメントを返します。以下を入力します。

    db.profiles.find()

    ステップ 3 で入力したデータに一致する出力が得られます。

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

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

    次の出力が返ります。

    { "_id" : 4, "name" : "Katie", "status": "active", "level": 3, "score":27}
  6. それでは、プロファイルを探して、それを findAndModify コマンドで変更してみましょう。次のコードを使用して、ユーザー Matt に 10 ポイント追加します。

    db.profiles.findAndModify({ query: { name: "Matt", status: "active"}, update: { $inc: { score: 10 } } })

    次のような出力が得られます (Mattのスコアはまだ上がっていないことに注意してください) 。

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

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

    次の出力が返ります。

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

ステップ 4: 環境情報の確認

お疲れ様でした。Amazon DocumentDB インスタンスベースのクラスター入門ガイドを正常に完了しました。

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

注記

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