翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
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 アカウント にサインアップするには
オンラインの手順に従います。
サインアップ手順の一環として、通話呼び出しを受け取り、電話のキーパッドを用いて検証コードを入力するように求められます。
にサインアップするとAWS アカウント、anAWS アカウントルートユーザーが作成されます。root ユーザーはすべてにアクセスできますAWS のサービスおよびアカウント内のリソース。セキュリティのベストプラクティスとして、管理ユーザーに管理アクセスを割り当てる、ルートユーザーのみを使用して実行してくださいルートユーザーアクセスが必要なタスク。
- 必要な AWS Identity and Access Management (IAM) アクセス許可を設定します。
-
クラスター、インスタンス、クラスターパラメータグループなどの Amazon DocumentDB リソースを管理するためのアクセスでは、リクエストの認証に AWS が使用できる認証情報が必要です。詳細については、Amazon DocumentDB での Identity and Access Management を参照してください。
-
AWS Management Console の検索バーで、表示されるドロップダウンメニューに IAM を入力し、[IAM] を選択します。
-
IAM コンソールにアクセスしたら、ナビゲーションペインから [ユーザー] を選択します。
-
ユーザーネームを選択します。
-
[アクセス許可の追加] ボタンをクリックします。
-
[Attach existing policies directly ( 既存のポリシーを直接アタッチ )] を選択します。
-
検索バーに
AmazonDocDBFullAccess
と入力し、検索結果に表示されたら、それを選択します。 -
[] となっている下の青いボタンをクリックします次へ: 確認.
-
[アクセス許可の追加] となっている下の青いボタンをクリックします。
-
- Amazon VPC (Amazon Virtual Private Cloud) を作成する
-
このステップは、デフォルトの Amazon VPC がない場合にのみ必要です。デフォルトの VPC がない場合は、「Amazon VPC のユーザーガイド」の「Amazon VPC の開始方法」のステップ 1 を完了させます。これには 5 分もかかりません。
ステップ 1: AWS Cloud9 環境の作成
AWS Cloud9 には、mongo シェルを使用して Amazon DocumentDB クラスターに接続してクエリを実行できるウェブベースのターミナルが用意されています。
-
AWS Management Console から AWS Cloud9 コンソールに移動し、[環境を作成する] を選択します。
-
[環境の名前と説明] セクションの [名前] フィールドに
DocumentDBCloud9
と入力します。 -
[次のステップ] を選択します。
-
[Configure settings section] で、[次のステップ] を選択します。
-
[Review (見直し)]セクションで、[Create environment (環境の作成)]を選択します。
AWS Cloud9 環境のプロビジョニングには最大 3 分かかることがあります。
ステップ 2: セキュリティグループの作成
このセキュリティグループにより、お客様の AWS Cloud9 環境から Amazon DocumentDB クラスターに接続できるようになります。
-
Amazon EC2 マネジメントコンソール
で、[ネットワークとセキュリティ] の下にある [セキュリティグループ] を選択します。 -
[セキュリティグループの作成] を選択します。
-
[基本的な詳細] ボックスで、各フィールドに以下を入力します。
-
[Security group name (セキュリティグループ名)] に「
demoDocDB
」と入力します。 -
[説明] に説明を入力します。
-
VPC については、デフォルトの VPC の使用を受け入れます。
-
-
[インバウンドルール] セクションで、[ルールの追加] を選択します。
-
[Type] で [Custom TCP Rule] を選択します。
-
[ポート範囲] には、
27017
を入力します。 -
ソースは、先ほど作成した AWS Cloud9 環境のセキュリティグループです。使用可能なセキュリティグループのリストを表示するには、
cloud9
宛先フィールドに入力します。aws-cloud9-<
という名前のセキュリティグループを選択します。environment name
> -
他のすべてのデフォルトを受け入れ、[セキュリティグループの作成] を選択します。
ポート 27017 は、Amazon DocumentDB のデフォルトのポートです。
ステップ 3: Amazon DocumentDB クラスターの作成
このステップでは、前のステップで作成したセキュリティグループを使用して Amazon DocumentDB クラスターを作成します。
-
Amazon DocumentDB マネジメントコンソールで、[クラスター] の下にある [作成] を選択します。
-
[Amazon DocumentDB クラスターの作成] ページの、[設定] セクションで [1インスタンス数に対して] を選択します。1 つのインスタンスを選択すると、コストを最小限に抑えることができます。これが本稼働システムの場合は、高可用性のために 3 つのインスタンスをプロビジョニングすることをお勧めします。その他の設定は、[設定] セクションはデフォルトです。
-
[認証] セクションで、ユーザーネームとパスワードを入力します。
-
[アドバンスト設定の表示] を有効化します。
-
[ネットワーク設定] セクションの、VPC セキュリティグループ には、[demoDocDB] を選択します。
-
[Create cluster] (クラスターを作成) を選択します。
Amazon DocumentDB がクラスターをプロビジョニングしています。完了までに数分かかる場合もあります。クラスターとインスタンスのステータスが「Available
」と表示されている場合は、クラスターに接続できます。
ステップ 4: mongo シェルをインストールする
これで mongo シェルを AWS Cloud9 ステップ 1 で作成した環境にインストールします。mongo シェルは、Amazon DocumentDB クラスターを接続してクエリするために使用するコマンドラインユーティリティです。
-
ステップ 1 のAWS Cloud9 環境が残っている場合は、その環境に戻り、ステップ 3 に進みます。お客様のAWS Cloud9 環境から移動した場合、AWS Cloud9 マネジメントコンソールの お客様の環境 の下にある DocumentDBCloud9 というラベルの付いた環境があります。[IDE を開く] を選択します。
-
コマンドプロンプトで、次のコマンドを使用してリポジトリファイルを作成します。
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
-
完了したら、次のコマンドで mongo シェルをインストールします。
sudo yum install -y mongodb-org-shell
-
転送中のデータを暗号化するには、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 クラスターに接続します。
-
Amazon DocumentDB マネジメントコンソールで、[クラスター] の下にあるお客様のクラスターを選択します。クラスター識別子をクリックして、作成したクラスターを選択します。
-
[接続性とセキュリティ] タブの、[mongo シェルを使用してこのクラスターに接続] の下にある接続文字列をコピーします。
<insertYourPassword>
のコピーを省略すると、接続時に mongo シェルからパスワードの入力を求められます。 -
お客様の AWS Cloud9 環境に戻り、接続文字列を貼り付けます。
パスワードを入力し、rs0:PRIMARY>
プロンプトが表示されたら、Amazon DocumentDB クラスターに正常に接続されています。
トラブルシューティングについては、「Amazon DocumentDB のトラブルシューティング」を参照してください。
ステップ 6: データの挿入とクエリ
クラスターに接続できたので、いくつかのクエリを実行して、ドキュメントデータベースの使用に慣れることができます。
-
1 つのドキュメントを挿入するには、次のように入力します。
db.collection.insert({"hello":"DocumentDB"})
-
次の出力が返ります。
WriteResult({ "nInserted" : 1 })
-
findOne()
コマンドで書き込んだドキュメントを読み取ることができます (一つのドキュメントしか返さないため)。以下を入力します。db.collection.findOne()
-
次の出力が返ります。
{ "_id" : ObjectId("5e401fe56056fda7321fbd67"), "hello" : "DocumentDB" }
-
さらにいくつかのクエリを実行するには、ゲームプロファイルのユースケースを検討してください。まず、「
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" : [ 1, 2, 3, 4 ] }
-
find()
コマンドを使用して、プロファイルコレクション内のすべてのドキュメントを返します。以下を入力します。db.profiles.find()
-
ステップ 5 で入力したデータに一致する出力が得られます。
-
フィルターを使用して 1 つのドキュメントに対して1つのクエリを使用します。以下を入力します。
db.profiles.find({name: "Katie"})
-
この出力を返す必要があります。
{ "_id" : 4, "name" : "Katie", "status": "active", "level": 3, "score":27}
-
それでは、プロファイルを探して、それを
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 }
-
次のクエリを使用して、Matt のスコアが変更されたことを確認できます。
db.profiles.find({name: "Matt"})
-
次の出力が返ります。
{ "_id" : 1, "name" : "Matt", "status" : "active", "level" : 12, "score" : 212 }
ステップ 7: 探索
お疲れ様でした。Amazon DocumentDB 入門ガイドを正常に完了しました。
次のステップ このデータベースを一般的な機能の一部を使用して、完全に活用する方法を学びましょう。
-
[Scaling] (スケーリング)
この入門演習で作成したクラスターは、削除しない限り、引き続きコストを計上します。手順については、以下を参照してください。Amazon DocumentDB クラスターを削除する。