翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon EC2 への自動接続
トピック
EC2 インスタンスと新しい Amazon DocumentDB データベース間の接続を設定する前に、「EC2 インスタンスとの自動接続の概要」に記載される要件を満たしているか確認してください。接続の設定後にこれらのセキュリティグループに変更を加えると、EC2 インスタンスと Amazon DocumentDB データベース間の接続に影響を及ぼす可能性があります。
注記
AWS Management Consoleを使用することでのみ、EC2 インスタンスと Amazon DocumentDB データベース間の接続を自動的に設定できます。AWS CLI または Amazon DocumentDB API を使用して自動で接続を設定することはできません。
EC2 インスタンスを新しい Amazon DocumentDB データベースに自動接続する
以下のプロセスは、前提条件 トピック記載のステップが完了済みであることを前提としています。
ステップ
ステップ 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 のキーペアがない場合:
-
[新しいキーペアの作成] を選択すると、[キーペアの作成] ダイアログボックスが表示されます。
-
[キーペア名] フィールドに名前を入力します。
-
[キーペアタイプ] と [プライベートキーファイル形式] を選択します。
-
[キーペアの作成] を選択します。
注記
セキュリティ上の理由から、SSH とインターネット両方からの EC2 インスタンスへの接続にキーペアを使用することを強くお勧めします。
-
-
オプション: [ネットワーク設定] セクションの [ファイアウォール (セキュリティグループ)] で、[セキュリティグループの作成] または [既存のセキュリティグループの選択] を選択します。
既存のセキュリティグループを選択する場合は、[共通セキュリティグループ] ドロップダウンリストから選択します。
新しいセキュリティグループを作成する場合は、EC2 接続に適用されるすべてのトラフィック許可ルールを確認してください。
-
[概要] セクションで EC2 設定を確認し、問題がなければ [インスタンスを起動] を選択します。[セキュリティグループを編集します]。
ステップ 2: Amazon DocumentDB クラスターを作成する
Amazon EC2 インスタンスのプロビジョニング中は、Amazon DocumentDB クラスターを作成します。
-
Amazon DocumentDB コンソールに移動し、ナビゲーションペインから クラスター を選択します。
-
[Create] (作成) を選択します。
-
[クラスタータイプ] 設定は、デフォルトの [インスタンスベースのクラスター] のままにしておきます。
-
インスタンスの数 については、1 を選択します。これにより、コストが最小限に抑えられます。その他の設定もデフォルト値のままにしておきます。
-
[接続] で、[EC2 コンピューティングリソースに接続する] を選択します。これは、ステップ 1 で作成した EC2 インスタンスです。
注記
EC2 コンピューティングリソースに自動接続すると、Amazon DocumentDB クラスターへの EC2 コンピューティングリソース接続向けセキュリティグループが自動的に作成されます。クラスターの作成完了後、新しく作成したセキュリティグループを確認したい場合は、クラスターリストに移動して該当するクラスター識別子を選択します。[接続とセキュリティ] タブ内で [セキュリティグループ] に移動して、[セキュリティグループ名 (ID)] で見たいグループを見つけます。クラスターの名前と
docdb-ec2-docdb-2023-12-11-21-33-41:i-0e4bb09985d2bbc4c (sg-0238e0b0bf0f73877)
のような内容が表示されます。 -
[認証] には、サインイン認証情報を入力します。重要:後のステップでクラスターを認証するには、ログイン認証情報が必要です。
-
アドバンスト設定の表示 を有効化します。
-
ネットワーク設定 のセクションにおいて、Amazon VPC セキュリティグループ で、demoDocDB を選択します。
-
[クラスターを作成] を選択します。
ステップ 3: Amazon EC2 インスタンスに接続する
Mongo Shell をインストールするには、まず Amazon EC2 インスタンスに接続する必要があります。Mongo シェルをインストールすると、Amazon DocumentDB クラスターに接続してクエリを実行できます。以下のステップを実行します。
-
Amazon EC2 コンソールで、インスタンスに移動し、作成したインスタンスが実行中かどうかを確認します。実行されている場合は、インスタンス ID をクリックしてインスタンスを選択します。
-
[接続]を選択します。
-
接続方法として、Amazon EC2 インスタンス Connect、セッションマネージャー、SSH クライアント、EC2 シリアルコンソールの 4 つのオプションがタブ形式で表示されます。いずれかを選択し、その指示に従わなければなりません。完了したら、[接続する] を選択します。
注記
このチュートリアルの開始後に IP アドレスが変更された場合、または後で環境に戻る場合は、demoEC2
セキュリティグループのインバウンドルールを更新して、新しい API アドレスからのインバウンドトラフィックを有効化します。
ステップ 4: mongo シェルをインストールする
これで、Mongo シェルをインストールできます。これは、Amazon DocumentDB クラスターに接続してクエリするために使用するコマンドラインのユーティリティです。以下の手順に従って、オペレーションシステム用の Mongo Shell をインストールします。
ステップ 5: 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 設定の管理」を参照してください。
ステップ 6: Amazon DocumentDB クラスターに接続する
-
Amazon DocumentDB コンソールの [クラスター] で、接続したいクラスターを見つけます。[クラスター識別子] をクリックして、作成済みのクラスターを選択します。
-
[接続とセキュリティ] タブの [接続する] ボックス内で、[mongo シェルを使用してこのクラスターに接続する] を見つけます。
表示された接続文字列をコピーし、ターミナルに貼り付けます。
これに以下の変更を加えます。
文字列に正しいユーザー名が含まれているのを確認してください。
<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
-
ターミナル上で Enter キーを押します。ここで、パスワードの入力を求められます。パスワードを入力します。
-
パスワードを入力し、
rs0:PRIMARY>
プロンプトが表示されたら、Amazon DocumentDB クラスターに正常に接続されています。
接続に問題がありますか。Amazon DocumentDB のトラブルシューティング を参照してください。
ステップ 7: データの挿入とクエリ
クラスターに接続できたので、いくつかのクエリを実行して、ドキュメントデータベースの使用に慣れることができます。
-
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 }
ステップ 8: 使ってみる
お疲れ様でした。Amazon DocumentDB のクイックスタートガイドを正常に完了しました。
次のステップ この強力なデータベースを一般的な特徴をいくつか使って十分に活用する方法を学びましょう。
注記
コストを節約するために、Amazon DocumentDB クラスターを停止してコストを削減するか、クラスターを削除することができます。デフォルトでは、30 分間の非アクティブ化後に、AWS Cloud9 環境により、基盤となる Amazon EC2 インスタンスが停止されます。
EC2 インスタンスを既存の Amazon DocumentDB データベースに自動的に接続する
次の手順では、既存の Amazon DocumentDB クラスターと既存の Amazon EC2 インスタンスを利用できることを前提としています。
Amazon DocumentDB クラスターにアクセスし、Amazon EC2 接続をセットアップする
-
Amazon DocumentDB クラスターにアクセスします。
AWS Management Console にサインインし、Amazon DocumentDB コンソール https://console.aws.amazon.com/docdb
を開きます。 -
ナビゲーションペインで [クラスター] を選択します。
ヒント
画面の左側にナビゲーションペインが表示されない場合は、ページの左上隅にあるメニューアイコン () を選択します。
-
クラスター名の左側にあるボタンを選択して、アクセスしたいクラスターを指定します。
-
Amazon EC2 接続を設定します。
-
[アクション] をクリックし、[EC2 接続の設定] をクリックします。
[EC2 接続の設定] ダイアログが開きます。
-
[EC2 インスタンス] フィールドで、クラスターに接続する EC2 インスタンスを選択します。
-
[Continue] (続行) をクリックします。
[確認と確定] ダイアログページが表示されます。
-
変更内容が正しいことを確認します。続いて、[接続の設定] を選択します。
-
正常に接続が設定されると、以下の検証結果が表示されます。
EC2 インスタンスとの自動接続の概要
EC2 インスタンスと Amazon DocumentDB データベース間の接続を設定すると、Amazon DocumentDB ではその EC2 インスタンスと Amazon DocumentDB データベース向けの VPC セキュリティグループを自動的に設定します。
EC2 インスタンスと Amazon DocumentDB データベースを接続するための要件は次のとおりです。
EC2 インスタンスは、Amazon DocumentDB データベースと同じ VPC 内に存在する必要があります。
同じ VPC に EC2 インスタンスが存在しない場合、コンソールには EC2 インスタンス作成用のリンクが表示されます。
接続を設定するユーザーには、以下の Amazon EC2 オペレーションを実行するアクセス許可が必要です。
ec2:AuthorizeSecurityGroupEgress
ec2:AuthorizeSecurityGroupIngress
ec2:CreateSecurityGroup
ec2:DescribeInstances
ec2:DescribeNetworkInterfaces
ec2:DescribeSecurityGroups
ec2:ModifyNetworkInterfaceAttribute
ec2:RevokeSecurityGroupEgress
DB インスタンスと EC2 インスタンスが異なるアベイラビリティーゾーンにある場合、アベイラビリティーゾーン間のコストが発生する可能性があります。
EC2 インスタンスへの接続を設定すると、Amazon DocumentDB は、次の表に示すように、その Amazon DocumentDB データベースと EC2 インスタンスに関連付けられているセキュリティグループの現在の設定に従って動作します。
現在の Amazon DocumentDB セキュリティグループ設定 | 現在の EC2 セキュリティグループの設定 | Amazon DocumentDB の動作 |
---|---|---|
パターン DocumentDB-ec2-n に一致する名前をもつ Amazon DocumentDB データベースに関連付けられたセキュリティグループが 1 つ以上存在します。パターンに一致するセキュリティグループは変更されていません。このセキュリティグループには、EC2 インスタンスの VPC セキュリティグループをソースとするインバウンドルールが 1 つのみ存在します。 |
パターン DocumentDB-ec2-n (n は数字) に一致する名前の EC2 インスタンスに関連付けられたセキュリティグループが 1 つ以上存在します。パターンに一致するセキュリティグループは変更されていません。このセキュリティグループには、Amazon DocumentDB データベースの VPC セキュリティグループをソースとするアウトバウンドルールが 1 つのみ存在します。 |
Amazon DocumentDB はアクションを実行しません。EC2 インスタンスと Amazon DocumentDB データベース間の接続は、既に自動で設定されています。EC2 インスタンスと Amazon DocumentDB データベース間には既に接続が存在するため、セキュリティグループの変更は行われません。 |
次の条件のいずれかが適用されます。
|
次の条件のいずれかが適用されます。
|
Amazon DocumentDB アクション: 新しいセキュリティグループを作成する |
パターン DocumentDB-ec2-n に一致する名前をもつ Amazon DocumentDB データベースに関連付けられたセキュリティグループが 1 つ以上存在します。パターンに一致するセキュリティグループは変更されていません。このセキュリティグループには、EC2 インスタンスの VPC セキュリティグループをソースとするインバウンドルールが 1 つのみ存在します。 |
EC2 インスタンスに関連付けられた、パターン ec2-DocumentDB-n に一致する名前のセキュリティグループが 1 つまたは複数存在します。ただし、Amazon DocumentDB は、これらのセキュリティグループのいずれも、Amazon DocumentDB データベースとの接続には使用できません。Amazon DocumentDB は、Amazon DocumentDB データベースの VPC セキュリティグループをソースとするアウトバウンドルールが 1 つもないセキュリティグループを使用できません。また、Amazon DocumentDB は、変更が加えられたセキュリティグループを使用できません。 |
Amazon DocumentDB アクション: 新しいセキュリティグループを作成する |
パターン DocumentDB-ec2-n に一致する名前をもつ Amazon DocumentDB データベースに関連付けられたセキュリティグループが 1 つ以上存在します。パターンに一致するセキュリティグループは変更されていません。このセキュリティグループには、EC2 インスタンスの VPC セキュリティグループをソースとするインバウンドルールが 1 つのみ存在します。 |
接続に有効な EC2 セキュリティグループは存在しますが、EC2 インスタンスに関連付けられていません。このセキュリティグループには、パターン DocumentDB-ec2-n に一致する名前が付いています。このセキュリティグループには変更が加えられていません。このセキュリティグループには、Amazon DocumentDB データベースの VPC セキュリティグループをソースとするアウトバウンドルールが 1 つのみ存在します。 |
Amazon DocumentDB アクション: EC2 セキュリティグループを関連付ける |
次の条件のいずれかが適用されます。
|
EC2 インスタンスに関連付けられた、パターン DocumentDB-ec2-n に一致する名前のセキュリティグループが 1 つまたは複数存在します。パターンに一致するセキュリティグループは変更されていません。このセキュリティグループには、Amazon DocumentDB データベースの VPC セキュリティグループをソースとするアウトバウンドルールが 1 つのみ存在します。 |
Amazon DocumentDB アクション: 新しいセキュリティグループを作成する |
Amazon DocumentDB アクション: 新しいセキュリティグループを作成する
Amazon DocumentDB は以下のアクションを実行します。
パターン
DocumentDB-ec2-n
に一致する新しいセキュリティグループを作成します。このセキュリティグループには、EC2 インスタンスの VPC セキュリティグループをソースとするインバウンドルールが存在します。このセキュリティグループは Amazon DocumentDB データベースに関連付けられており、EC2 インスタンスが Amazon DocumentDB データベースにアクセスするのを許可します。パターン
ec2-DocumentDB-n
に一致する新しいセキュリティグループを作成します。このセキュリティグループには、Amazon DocumentDB データベースの VPC セキュリティグループをソースとするアウトバウンドルールが存在します。このセキュリティグループには EC2 インスタンスに関連付けられており、EC2 インスタンスが Amazon DocumentDB データベースにトラフィックを送信するのを許可します。
Amazon DocumentDB アクション: EC2 セキュリティグループを関連付ける
Amazon DocumentDB は、有効な既存の EC2 セキュリティグループを EC2 インスタンスに関連付けます。このセキュリティグループは、EC2 インスタンスが Amazon DocumentDB データベース にトラフィックを送信するのを許可します。
接続中のコンピューティングリソースを表示する
AWS Management Console を使用して、Amazon DocumentDB データベースに接続されているコンピューティングリソースを確認できます。表示されるリソースには、自動的に設定されたコンピューティングリソース接続が含まれます。コンピューティングリソースとの接続は、次の方法で自動的に設定できます。
データベースを作成するときに、コンピューティングリソースを選択できます。詳細については、「Amazon DocumentDB クラスターの作成」および「マルチ AZ DB クラスターの作成」を参照してください。
既存のデータベースとコンピューティングリソース間の接続を設定できます。詳細については、「Amazon EC2 への自動接続」を参照してください。
コンピューティングリソースリストには、手動でデータベースに接続されたものは含まれていません。例えば、データベースに関連付けられた VPC セキュリティグループにルールを追加することで、コンピューティングリソースがデータベースに手動でアクセスできるようになります。
コンピューティングリソースをリスト化するには、次の条件を満たしている必要があります。
コンピューティングリソースに関連付けられているセキュリティグループの名前がパターン
ec2-DocumentDB-n
(n は数字) と一致する。コンピューティングリソースに関連付けられたセキュリティグループには、Amazon DocumentDB データベースが使用するポート向けに設定されたポート範囲を持つアウトバウンドルールがある。
コンピューティングリソースに関連付けられたセキュリティグループには、Amazon DocumentDB データベースに関連付けられたセキュリティグループをソースとするアウトバウンドルールがある。
Amazon DocumentDB データベースに関連付けられたセキュリティグループの名前が、パターン
DocumentDB-ec2-n
(n は数字) に一致する。Amazon DocumentDB データベースに関連付けられたセキュリティグループには、Amazon DocumentDB データベースが使用するポート向けに設定されたポート範囲を持つインバウンドルールがある。
Amazon DocumentDB データベースに関連付けられたセキュリティグループには、コンピューティングリソースに関連付けられたセキュリティグループをソースとするインバウンドルールがある。
Amazon DocumentDB データベースに接続されているコンピューティングリソースを確認するには
AWS Management Console にサインインし、Amazon DocumentDB コンソール https://console.aws.amazon.com/docdb
を開きます。 ナビゲーションペインで、[データベース] を選択し、確認したい Amazon DocumentDB データベースの名前を選択します。
[接続とセキュリティ] タブ内の [接続されたコンピューティングリソース] で、接続されているコンピューティングリソースを確認します。