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

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

Amazon EC2を手動で接続する

以下の手順は、 前提条件トピックの手順を完了していることを前提としています。

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

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

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

    Launch instance button with dropdown and Migrate a server option in AWS EC2 interface.
  2. 名前とタグセクションにある名前フィールドに名前または識別子を入力します。

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

    Application and OS Images selection interface with Quick Start options for various operating systems.
  4. インスタンスタイプのドロップダウンリストから t3.micro を見つけて選択します。

    Instance type dropdown showing t3.micro with 2 vCPU, 1 GiB memory, and pricing details.
  5. 「キーペア (ログイン)」セクションで、既存のキーペアの識別子を入力するか、「新しいキーペアの作成」を選択します。

    Key pair selection dropdown with option to create a new key pair for secure instance connection.

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

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

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

    2. Amazon EC2インスタンスにログインするには、プライベートキーファイル (.pem または .ppk ファイル) が既に必要です。

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

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

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

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

    4. [キーペアの作成] を選択します。

    Create key pair dialog with options for name, type, and private key file format.
    注記

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

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

    Network settings interface showing VPC, subnet, IP, and security group options.

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

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

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

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

    Text field displaying an IP address with a dropdown arrow.
  7. 概要セクションで、EC2設定を確認し、正しい場合はインスタンスの起動を選択します。セキュリティグループを編集します

    EC2 instance summary showing configuration details and free tier information.

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

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

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

    Navigation menu showing Network & Security options including Security Groups.
  2. [Create Security Group] を選択します。

    Orange button labeled "Create security group" for initiating the process.
  3. 「基本の詳細」セクションで、次の操作を行います。

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

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

    3. の場合VPC、デフォルトの の使用を受け入れますVPC。

    Security group configuration form with name, description, and VPC selection fields.
  4. [インバウンドルール] セクションで、[ルールの追加] を選択します。

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

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

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

    Inbound rules configuration interface showing custom TCP rule for port 27017.
  5. 他のすべてのデフォルトを受け入れ、セキュリティグループの作成 を選択します。

    Orange button labeled "Create security group" for creating a new security group.

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

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

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

    Navigation pane showing Dashboard, Clusters, Performance Insights, and Snapshots options.
  2. [Create] (作成) を選択します。

    Orange button labeled "Create" for initiating a new item or process.
  3. クラスタータイプ設定は、インスタンスベースのクラスター のデフォルトのままにします。

    クラスター type selection with Instance Based クラスター option highlighted.
  4. インスタンスの数 については、1 を選択します。これにより、コストが最小限に抑えられます。他の設定はデフォルトのままにします。

    Configuration form with クラスター identifier, engine version, instance class, and number of instances.
  5. 接続 の場合、デフォルト設定のEC2「コンピューティングリソースに接続しない」のままにします。

    Connectivity options for compute resources, with "Don't connect to an EC2 compute resource" selected.
    注記

    EC2 コンピューティングリソースに接続すると、クラスターへのEC2コンピューティングリソース接続のセキュリティグループが自動的に作成されます。前のステップでこれらのセキュリティグループを手動で作成したため、2 番目のセキュリティグループセットを作成しないように、EC2コンピューティングリソースに接続しないを選択する必要があります。

  6. [認証] には、サインイン認証情報を入力します。重要:後のステップでクラスターを認証するには、ログイン認証情報が必要です。

    Authentication form with username and password fields, including input requirements.
  7. [アドバンスト設定の表示] を有効化します。

    Estimated hourly cost for DocumentDB instance with toggle for advanced settings and Create クラスター button.
  8. ネットワーク設定セクションの Amazon VPC セキュリティグループ で、demoDocDB を選択します。

    Network settings panel showing VPC, subnet group, and security group options for a クラスター.
  9. [クラスターを作成] を選択します。

    Orange button labeled "Create クラスター" for initiating クラスター creation process.

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

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

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

    EC2 console showing two instances, one stopped and one running, with details like ID and type.
  2. [接続]を選択します。

    Instance summary showing details like ID, IP addresses, state, and other configuration information.
  3. 接続方法には、Amazon EC2 Instance Connect、Session Manager、SSHクライアント、EC2シリアルコンソールの 4 つのタブオプションがあります。いずれかを選択し、その指示に従わなければなりません。完了したら、接続 を選択します。

    EC2 Instance Connect interface showing connection options and instance details.
注記

このチュートリアルの開始後に IP アドレスが変更された場合、または後で環境に戻る場合は、demoEC2セキュリティグループのインバウンドルールを更新して、新しいAPIアドレスからのインバウンドトラフィックを有効にする必要があります。

ステップ 5: mongo シェルをインストールします

これで、Mongo シェルをインストールできます。これは、Amazon DocumentDB クラスターに接続してクエリするために使用するコマンドラインのユーティリティです。以下の手順に従って、オペレーションシステム用の Mongo Shell をインストールします。

On Amazon Linux
Amazon Linux で mongo シェルをインストールするには
  1. リポジトリファイルを作成します。EC2 インスタンスのコマンドラインで、次のコマンドを実行します。

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

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

    sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5
  2. Ubuntu のバージョンに適切なコマンドを使用して、MongoDB の リストファイル /etc/apt/sources.list.d/mongodb-org-3.6.list を作成します。

    Ubuntu 18.04

    echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.6 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.6.list
    注記

    上記のコマンドでは、Bionic と Xenial の両方に mongo 3.6 シェルがインストールされます。

  3. 次のコマンドを使用してローカルパッケージデータベースを再ロードします。

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

    sudo apt-get install -y mongodb-org-shell

以前のバージョンの 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 証明書をダウンロードします。

注記

Transport Layer Security (TLS) は、すべての新しい Amazon DocumentDB クラスターでデフォルトで有効になっています。詳細については、Amazon DocumentDB クラスターTLS設定の管理」を参照してください。

ステップ 7: Amazon DocumentDB クラスターに接続する

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

    DocumentDB クラスター list showing one クラスター with identifier, role, version, region, and status.
  2. 接続とセキュリティ タブで、Connect ボックスの mongo シェルを使用してこのクラスターに接続する を見つけます。

    Command to connect to a MongoDB クラスター using mongo shell with SSL and authentication details.

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

    次の変更を加えます。

    1. 文字列に正しいユーザー名があることを確認してください。

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

    接続文字列は、次のようになります。

    mongo --ssl host docdb-2020-02-08-14-15-11. cluster.region.docdb.amazonaws.com:27107 --sslCAFile global-bundle.pem --username demoUser --password

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

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

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

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

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

  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 }

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

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

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

注記

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