翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon EC2 を手動で接続する
トピック
以下の手順は、「前提条件」トピックに記載されるステップが完了済みであることを前提としています。
ステップ 1: Amazon EC2 インスタンスを作成する
このステップでは、後で Amazon DocumentDB クラスターのプロビジョニングに使用するのと同じリージョンと Amazon VPC に Amazon EC2 インスタンスを作成します。
-
Amazon EC2 コンソールで、[インスタンスを起動] を選択します。
-
[名前とタグ] セクション内の [名前] フィールドに、名前または識別子を入力します。
-
[Amazon マシンイメージ (AMI)] ドロップダウンリストで、[Amazon Linux 2 AMI] を選択します。
-
[インスタンスタイプ] のドロップダウンリストで、[t3.micro] を選択します。
-
[キーペア (ログイン)] セクションで、既存のキーペアの識別子を入力するか、もしくは [新しいキーペアの作成] を選択します。
Amazon EC2 キーペアを指定する必要があります。
Amazon EC2 のキーペアがある場合 :
-
キーペアを選択し、リストからご自身のキーペアを選択します。
-
Amazon EC2 インスタンスにログインするには、あからじめプライベートキーファイル (.pem もしくは.ppk ファイル) を利用可能にしておく必要があります。
Amazon EC2 のキーペアがない場合:
-
[新しいキーペアの作成] を選択すると、[キーペアの作成] ダイアログボックスが表示されます。
-
[キーペア名] フィールドに名前を入力します。
-
[キーペアタイプ] と [プライベートキーファイル形式] を選択します。
-
[キーペアの作成] を選択してください。
注記
セキュリティ上の理由から、EC2 インスタンスへの SSH 接続とインターネット接続の両方にキーペアを使用することを強くお勧めします。
-
-
「ネットワーク設定」セクションの「ファイアウォール (セキュリティグループ)」で、「セキュリティグループの作成」または「既存のセキュリティグループの選択」を選択します。
既存のセキュリティグループを選択する場合は、[共通セキュリティグループ] ドロップダウンリストから選択します。
新しいセキュリティグループの作成を選択する場合は、以下を実行します。
EC2 への接続に適用されるすべてのトラフィック許可ルールを確認します。
IP フィールドで、My IP を選択するか、Custom を選択して、CIDR ブロック、プレフィックスリスト、またはセキュリティグループのリストから選択します。ここで [Anywhere] を選択するとどの IP アドレスからでも EC2 インスタンス へのアクセスが可能になるため、EC2 インスタンスが分離されたネットワーク上にある場合を除き、[Anywhere] を選択することはお勧めしません。
-
概要セクションで、EC2 設定を確認し、必要に応じてインスタンスの起動を選択します。
ステップ 2: セキュリティグループを作成する
次に、デフォルトの Amazon VPC に新しいセキュリティグループを作成します。セキュリティグループ demoDocDB
では、Amazon EC2 インスタンスからポート 27017 (Amazon DocumentDB のデフォルトポート) で Amazon DocumentDB クラスターに接続できます。
-
Amazon EC2 マネジメントコンソール
で、[ネットワークとセキュリティ] の下にある [セキュリティグループ] を選択します。 -
[セキュリティグループの作成] を選択してください。
-
[基本的な詳細] セクションで、次の操作を行います。
[Security group name (セキュリティグループ名)] に「
demoDocDB
」と入力します。[説明] に説明を入力します。
VPC については、デフォルトの VPC の使用を受け入れます。
-
[インバウンドルール] セクションで、[ルールの追加] を選択します。
[タイプ] で、[カスタム TCP ルール] を選択します。
[ポート範囲] には、
27017
を入力します。Destination(送信先) については、[Custom (カスタム)] を選択します。その横の フィールドで、ステップ 1 で作成したセキュリティグループを検索します。 のソース名を自動入力するには、Amazon EC2 コンソールでブラウザを更新することが必要な場合があります。
-
他のすべてのデフォルトを受け入れ、[セキュリティグループの作成] を選択します。
ステップ 3: Amazon DocumentDB クラスターを作成する
Amazon EC2 インスタンスのプロビジョニング中は、Amazon DocumentDB クラスターを作成します。
-
Amazon DocumentDB コンソールに移動し、ナビゲーションペインから クラスター を選択します。
-
[Create] (作成) を選択します。
-
クラスタータイプ設定は、インスタンスベースのクラスターのデフォルトのままにします。
-
インスタンスの数 については、1 を選択します。これにより、コストが最小限に抑えられます。その他の設定もデフォルト値のままにしておきます。
-
[接続] は、デフォルト設定の [EC2 コンピューティングリソースに接続しない] のままにしておきます。
注記
EC2 コンピューティングリソースに接続すると、お使いのクラスターへの EC2 コンピューティングリソース接続向けセキュリティグループが自動的に作成されます。前のステップでセキュリティグループを既に手動で作成しているため、追加のセキュリティグループのセットが作成されないように、[EC2 コンピューティングリソースに接続しない] を選択しておく必要があります。
-
認証セクションで、プライマリユーザーのユーザー名を入力し、セルフマネージドを選択します。パスワードを入力し、確認します。
代わりに Managed in AWS Secrets Manager を選択した場合、詳細についてはAmazon DocumentDB と によるパスワード管理 AWS Secrets Manager「」を参照してください。
-
[クラスターを作成] を選択してください。
ステップ 4: Amazon EC2 インスタンスに接続します
Amazon EC2 インスタンスに接続すると、MongoDB シェルをインストールできます。Mongo シェルをインストールすると、Amazon DocumentDB クラスターに接続してクエリを実行できます。以下のステップを実行します。
-
Amazon EC2 コンソールで、インスタンスに移動し、作成したインスタンスが実行中かどうかを確認します。実行されている場合は、インスタンス ID をクリックしてインスタンスを選択します。
-
[接続]を選択してください。
-
接続方法として、Amazon EC2 インスタンス Connect、セッションマネージャー、SSH クライアント、EC2 シリアルコンソールの 4 つのオプションがタブ形式で表示されます。いずれかを選択し、その指示に従わなければなりません。完了したら、[接続する] を選択します。
注記
このウォークスルーを開始した後に IP アドレスが変更された場合、または後で環境に戻る場合は、demoEC2
セキュリティグループのインバウンドルールを更新して、新しい API アドレスからのインバウンドトラフィックを有効にする必要があります。
ステップ 5: MongoDB シェルをインストールする
Amazon DocumentDB クラスターの接続とクエリに使用するコマンドラインユーティリティである MongoDB シェルをインストールできるようになりました。 Amazon DocumentDB 現在、MongoDB シェルには、最新のバージョン mongosh と以前のバージョン mongo シェルの 2 つのバージョンがあります。
重要
Amazon DocumentDB で現在 がサポートされていない NodeJS ドライバーIAM ID を使用した認証には、既知の制限があります。この制限には、最新の MongoDB シェル mongosh が含まれます。Amazon DocumentDB で IAM ID 認証をサポートするには、MongoDB 5.0 シェルを使用することをお勧めします。制限事項が解消され次第、NodeJS ドライバー向けサポートを更新する予定です。
以下の手順に従って、オペレーティングシステム用の MongoDB シェルをインストールします。
ステップ 6: Amazon DocumentDB TLS の管理
次のコード wget https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem
を使用して Amazon DocumentDB の CA 証明書をダウンロードします。
注記
全ての新しい Amazon DocumentDB クラスターに対して、デフォルトで Transport Layer Security (TLS) が有効になっています。詳細については、「Amazon DocumentDB クラスター TLS 設定の管理」を参照してください。
ステップ 7: Amazon DocumentDB クラスターに接続する
-
Amazon DocumentDB コンソールの [クラスター] で、接続したいクラスターを見つけます。そのクラスターのクラスター識別子をクリックして、作成したクラスターを選択します。
-
[接続とセキュリティ] タブの [接続する] ボックス内で、[mongo シェルを使用してこのクラスターに接続する] を見つけます。
表示された接続文字列をコピーし、ターミナルに貼り付けます。
これに以下の変更を加えます。
文字列に正しいユーザー名が含まれているのを確認してください。
<insertYourPassword>
は省略します。これにより、接続時に mongo シェルによりパスワードの入力を求められます。オプション: IAM 認証を使用している場合、または以前のバージョンの MongoDB シェルを使用している場合は、次のように接続文字列を変更します。
mongo --ssl --host mydocdbcluster.cluster-cozt4xr9xv9b.us-east-1.docdb.amazonaws.com:27017 --sslCAFile global-bundle.pem --username SampleUser1 --password
をクラスターの同じ情報
mydocdbcluster.cluster-cozt4xr9xv9b.us-east-1
に置き換えます。
-
ターミナル上で Enter キーを押します。ここで、パスワードの入力を求められます。パスワードを入力します。
-
パスワードを入力し、
rs0 [direct: primary] <env-name>>
プロンプトが表示されたら、Amazon DocumentDB クラスターに正常に接続されています。
接続に問題がありますか。Amazon DocumentDB のトラブルシューティング を参照してください。
ステップ 8: データの挿入とクエリ
クラスターに接続できたので、いくつかのクエリを実行して、ドキュメントデータベースの使用に慣れることができます。
-
1 つのドキュメントを挿入するには、次のように入力します。
db.collection.insertOne({"hello":"DocumentDB"})
次の出力が返ります。
{ acknowledged: true, insertedId: ObjectId('673657216bdf6258466b128c') }
-
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: { '0': 1, '1': 2, '2': 3, '3': 4 } }
-
find()
コマンドを使用して、プロファイルコレクション内のすべてのドキュメントを返します。以下を入力します。db.profiles.find()
ステップ 3 で入力したデータと一致する出力が表示されます。
-
フィルターを使用して 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 }
ステップ 9: 環境情報の確認
お疲れ様でした。Amazon DocumentDB のクイックスタートガイドを正常に完了しました。
次のステップ この強力なデータベースを一般的な特徴をいくつか使って十分に活用する方法を学びましょう。
注記
コストを節約するために、Amazon DocumentDB クラスターを停止してコストを削減するか、クラスターを削除することができます。デフォルトでは、30 分間非アクティブ状態になると、 AWS Cloud9 環境は基盤となる Amazon EC2 インスタンスを停止します。