Amazon EC2 を手動で接続する - Amazon DocumentDB

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

Amazon EC2 を手動で接続する

以下の手順は、「前提条件」トピックに記載されるステップが完了済みであることを前提としています。

ステップ 1: Amazon EC2 インスタンスを作成する

このステップでは、後で Amazon DocumentDB クラスターのプロビジョニングに使用するのと同じリージョンと Amazon VPC に Amazon EC2 インスタンスを作成します。

  1. Amazon EC2 コンソールで、[インスタンスを起動] を選択します。

    Amazon EC2 コンソールのインスタンスの起動セクション。
  2. [名前とタグ] セクション内の [名前] フィールドに、名前または識別子を入力します。

  3. [Amazon マシンイメージ (AMI)] ドロップダウンリストで、[Amazon Linux 2 AMI] を選択します。

    クイックスタートセクションで Amazon Linux 2 AMI オプションが選択されたアプリケーションおよび OS イメージインターフェイス。
  4. [インスタンスタイプ] のドロップダウンリストで、[t3.micro] を選択します。

    ドロップダウンリストで選択された t3.micro オプションを示すインスタンスタイプのインターフェイス。
  5. [キーペア (ログイン)] セクションで、既存のキーペアの識別子を入力するか、もしくは [新しいキーペアの作成] を選択します。

    キーペア名フィールドと新しいキーペアの作成オプションを示すキーペアインターフェイス。

    Amazon EC2 キーペアを指定する必要があります。

    Amazon EC2 のキーペアがある場合 :

    1. キーペアを選択し、リストからご自身のキーペアを選択します。

    2. Amazon EC2 インスタンスにログインするには、あからじめプライベートキーファイル (.pem もしくは.ppk ファイル) を利用可能にしておく必要があります。

    Amazon EC2 のキーペアがない場合:

    1. [新しいキーペアの作成] を選択すると、[キーペアの作成] ダイアログボックスが表示されます。

    2. [キーペア名] フィールドに名前を入力します。

    3. [キーペアタイプ][プライベートキーファイル形式] を選択します。

    4. [キーペアの作成] を選択してください。

    キーペア名、タイプ、ファイル形式のフィールドを含むキーペアの作成インターフェイス。キーペアの作成ボタンは右下隅にあります。
    注記

    セキュリティ上の理由から、EC2 インスタンスへの SSH 接続とインターネット接続の両方にキーペアを使用することを強くお勧めします。

  6. 「ネットワーク設定」セクション「ファイアウォール (セキュリティグループ)」で、「セキュリティグループの作成」または「既存のセキュリティグループの選択」を選択します。

    セキュリティグループを作成するためのオプションを示すネットワーク設定インターフェイス。

    既存のセキュリティグループを選択する場合は、[共通セキュリティグループ] ドロップダウンリストから選択します。

    新しいセキュリティグループの作成を選択する場合は、以下を実行します。

    1. EC2 への接続に適用されるすべてのトラフィック許可ルールを確認します。

    2. IP フィールドで、My IP を選択するか、Custom を選択して、CIDR ブロック、プレフィックスリスト、またはセキュリティグループのリストから選択します。ここで [Anywhere] を選択するとどの IP アドレスからでも EC2 インスタンス へのアクセスが可能になるため、EC2 インスタンスが分離されたネットワーク上にある場合を除き、[Anywhere] を選択することはお勧めしません。

    My IP ドロップダウン。
  7. 概要セクションで、EC2 設定を確認し、必要に応じてインスタンスの起動を選択します。

    EC2 設定を示す概要セクション。コマンドの確認、インスタンスのキャンセル、起動のオプションは下部にあります。

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

次に、デフォルトの Amazon VPC に新しいセキュリティグループを作成します。セキュリティグループ demoDocDB では、Amazon EC2 インスタンスからポート 27017 (Amazon DocumentDB のデフォルトポート) で Amazon DocumentDB クラスターに接続できます。

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

    ネットワークとセキュリティドロップダウンでセキュリティグループオプションが選択された Amazon DocumentDB コンソールのナビゲーションペイン。
  2. [セキュリティグループの作成] を選択してください。

    セキュリティグループの作成ボタン。
  3. [基本的な詳細] セクションで、次の操作を行います。

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

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

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

    セキュリティグループ名、説明、VPC のフィールドを含む基本的な詳細セクション。
  4. [インバウンドルール] セクションで、[ルールの追加] を選択します。

    1. [タイプ] で、[カスタム TCP ルール] を選択します。

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

    3. Destination(送信先) については、[Custom (カスタム)] を選択します。その横の フィールドで、ステップ 1 で作成したセキュリティグループを検索します。 のソース名を自動入力するには、Amazon EC2 コンソールでブラウザを更新することが必要な場合があります。

    タイプ、プロトコル、ポート範囲、ソース、説明のフィールドを示すインバウンドルールセクション。ルールの追加ボタンは左下隅にあります。
  5. 他のすべてのデフォルトを受け入れ、[セキュリティグループの作成] を選択します。

    セキュリティグループの作成ボタン。

ステップ 3: Amazon DocumentDB クラスターを作成する

Amazon EC2 インスタンスのプロビジョニング中は、Amazon DocumentDB クラスターを作成します。

  1. Amazon DocumentDB コンソールに移動し、ナビゲーションペインから クラスター を選択します。

    クラスターオプションが強調表示された Amazon DocumentDB コンソールナビゲーションペイン。
  2. [Create] (作成) を選択します。

    新しい Amazon DocumentDB クラスターを作成するための作成ボタン。
  3. クラスタータイプ設定は、インスタンスベースのクラスターのデフォルトのままにします。

    インスタンスベースのクラスターオプションが選択されたクラスタータイプインターフェイス。
  4. インスタンスの数 については、1 を選択します。これにより、コストが最小限に抑えられます。その他の設定もデフォルト値のままにしておきます。

    クラスター識別子、エンジンバージョン、インスタンスクラスのデフォルト値と、インスタンス数が 1 に設定されている設定インターフェイス。
  5. [接続] は、デフォルト設定の [EC2 コンピューティングリソースに接続しない] のままにしておきます。

    EC2 コンピューティングリソースに接続しないオプションが選択された接続インターフェイス。
    注記

    EC2 コンピューティングリソースに接続すると、お使いのクラスターへの EC2 コンピューティングリソース接続向けセキュリティグループが自動的に作成されます。前のステップでセキュリティグループを既に手動で作成しているため、追加のセキュリティグループのセットが作成されないように、[EC2 コンピューティングリソースに接続しない] を選択しておく必要があります。

  6. 認証セクションで、プライマリユーザーのユーザー名を入力し、セルフマネージドを選択します。パスワードを入力し、確認します。

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

    Managed in AWS Secrets Manager オプションが強調表示され、両方の認証タイプが説明されている認証タイプの選択。
  7. [クラスターを作成] を選択してください。

    時間単位の推定コストアラートを下回る、詳細設定の表示トグルボタンが有効になりました。

ステップ 4: Amazon EC2 インスタンスに接続します

Amazon EC2 インスタンスに接続すると、MongoDB シェルをインストールできます。Mongo シェルをインストールすると、Amazon DocumentDB クラスターに接続してクエリを実行できます。以下のステップを実行します。

  1. Amazon EC2 コンソールで、インスタンスに移動し、作成したインスタンスが実行中かどうかを確認します。実行されている場合は、インスタンス ID をクリックしてインスタンスを選択します。

    Amazon EC2 コンソール上の 2 つのインスタンスを一覧表示するインスタンステーブル。
  2. [接続]を選択してください。

    Amazon EC2 インスタンスのインスタンス概要。Connect ボタンは右上隅にあります。
  3. 接続方法として、Amazon EC2 インスタンス Connect、セッションマネージャー、SSH クライアント、EC2 シリアルコンソールの 4 つのオプションがタブ形式で表示されます。いずれかを選択し、その指示に従わなければなりません。完了したら、[接続する] を選択します。

    EC2 Instance Connect 接続方法の設定オプションを示すインターフェイス。
注記

このウォークスルーを開始した後に 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 シェルをインストールします。

On Amazon Linux

Amazon Linux に MongoDB シェルをインストールするには

IAM を使用しておらず、最新の MongoDB シェル (mongosh) を使用して Amazon DocumentDB クラスターに接続する場合は、次の手順に従います。

  1. リポジトリファイルを作成します。作成した EC2 インスタンスのコマンドラインで、次のコマンドを実行します。

    echo -e "[mongodb-org-5.0] \nname=MongoDB Repository\nbaseurl=https://repo.mongodb.org/yum/amazon/2023/mongodb-org/5.0/x86_64/\ngpgcheck=1 \nenabled=1 \ngpgkey=https://pgp.mongodb.com/server-5.0.asc" | sudo tee /etc/yum.repos.d/mongodb-org-5.0.repo
  2. 完了したら、コマンドプロンプトで次の 2 つのコマンドオプションのいずれかを使用して mongosh をインストールします。

    オプション 1 — Amazon EC2 設定中にデフォルトの Amazon Linux 2023 を選択した場合は、次のコマンドを入力します。

    sudo yum install -y mongodb-mongosh-shared-openssl3

    オプション 2 — Amazon EC2 設定中に Amazon Linux 2 を選択した場合は、次のコマンドを入力します。

    sudo yum install -y mongodb-mongosh

IAM を使用している場合は、以前のバージョンの MongoDB シェル (5.0) を使用して Amazon DocumentDB クラスターに接続し、次のステップに従う必要があります。

  1. リポジトリファイルを作成します。作成した EC2 インスタンスのコマンドラインで、次のコマンドを実行します。

    echo -e "[mongodb-org-5.0] \nname=MongoDB Repository\nbaseurl=https://repo.mongodb.org/yum/amazon/2023/mongodb-org/5.0/x86_64/\ngpgcheck=1 \nenabled=1 \ngpgkey=https://pgp.mongodb.com/server-5.0.asc" | sudo tee /etc/yum.repos.d/mongodb-org-5.0.repo
  2. 完了したら、コマンドプロンプトで次のコマンドオプションを使用して mongodb 5.0 シェルをインストールします。

    sudo yum install -y mongodb-org-shell
On Ubuntu
Ubuntu に mongosh をインストールするには
  1. パッケージ管理システムで使用されるパブリックキーをインポートします。

    curl -fsSL https://pgp.mongodb.com/server-5.0.asc | sudo gpg --dearmor -o /usr/share/keyrings/mongodb-server-5.0.gpg
  2. Ubuntu のバージョンに適切なコマンドを使用して、MongoDB の リストファイル mongodb-org-5.0.list を作成します。

    echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-5.0.gpg ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/5.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list
  3. 次のコマンドを使用して、ローカルパッケージデータベースをインポートおよび更新します。

    sudo apt-get update
  4. mongosh をインストールします。

    sudo apt-get install -y mongodb-mongosh

以前のバージョンの MongoDB の Ubuntu システムへのインストールについては、「 Install MongoDB Community Edition on Ubuntu 」を参照してください。

On other operating systems

mongo シェルを他のオペレーティングシステムにインストールするには、MongoDB ドキュメントの「 MongoDB Community Edition のインストール 」を参照してください。

ステップ 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 クラスターに接続する

  1. Amazon DocumentDB コンソールの [クラスター] で、接続したいクラスターを見つけます。そのクラスターのクラスター識別子をクリックして、作成したクラスターを選択します。

    プライマリインスタンスの詳細を含むリージョンクラスターを示す Amazon DocumentDB クラスターリスト。
  2. [接続とセキュリティ] タブの [接続する] ボックス内で、[mongo シェルを使用してこのクラスターに接続する] を見つけます。

    mongo シェルを使用して Amazon DocumentDB クラスターに接続するための MongoDB 接続文字列が強調表示されたクラスター接続設定。 Amazon DocumentDB

    表示された接続文字列をコピーし、ターミナルに貼り付けます。

    これに以下の変更を加えます。

    1. 文字列に正しいユーザー名が含まれているのを確認してください。

    2. <insertYourPassword> は省略します。これにより、接続時に mongo シェルによりパスワードの入力を求められます。

    3. オプション: 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に置き換えます。

  3. ターミナル上で Enter キーを押します。ここで、パスワードの入力を求められます。パスワードを入力します。

  4. パスワードを入力し、rs0 [direct: primary] <env-name>> プロンプトが表示されたら、Amazon DocumentDB クラスターに正常に接続されています。

接続に問題がありますか。Amazon DocumentDB のトラブルシューティング を参照してください。

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

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

  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 }

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

お疲れ様でした。Amazon DocumentDB のクイックスタートガイドを正常に完了しました。

次のステップ この強力なデータベースを一般的な特徴をいくつか使って十分に活用する方法を学びましょう。

注記

コストを節約するために、Amazon DocumentDB クラスターを停止してコストを削減するか、クラスターを削除することができます。デフォルトでは、30 分間非アクティブ状態になると、 AWS Cloud9 環境は基盤となる Amazon EC2 インスタンスを停止します。