この記事では、ローカルのWindows環境にあるStudio 3Tを使用し、EC2(踏み台)を経由してAWSのDocumentDBに接続する方法について詳しく説明します。
Studio 3Tは、NoSQLを使うデータベースエンジニアや開発者にとって非常に便利なツールであり、MongoDBと互換性があるDocumentDBへの接続も簡単に行うことができます。
目標
今回の目標は、プライベートサブネットにいるDocumentDBに対して、パブリックサブネットにいる踏み台のEC2を経由して、ローカルにあるStudio 3Tから接続します。
なお、接続するVPCやDocument DB、EC2は構築済みであることを前提とし、Studio 3Tの設定に焦点を当てて説明しますので、まだAWSの環境を構築済みでない場合はこちらを参考にしてください。
それでは以下のステップに従って、効果的に設定しましょう。
接続するサーバーやユーザ、パスワード、DB名等は適宜置き換えてください。
DocumentDBの接続情報を確認
DocumentDBへの接続には、いくつかの情報が必要です。
まずはAWSコンソールにログインし、DocumentDBのクラスター情報やエンドポイント、ユーザー名などを確認しましょう。
これらの情報は後でStudio 3Tの設定で使用します。
接続情報は、DocumentDBのクラスター情報から確認することができます。
クラスターの「接続」を確認
以下のコマンドで、認証に必要なAmazon DocumentDB 認証機関 (CA) 証明書をダウンロードできます。
まだ持っていない場合はダウンロードしておきましょう。
1 |
wget https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem |
こちらは、mongoシェルでクラスターに接続する方法です。
1 |
mongo --ssl --host docdb-db.cluster-xxxxxxxxxxxx.ap-northeast-1.docdb.amazonaws.com:27017 --sslCAFile global-bundle.pem --username master --password <insertYourPassword> |
そして、アプリケーションでクラスターに接続方法です。
1 |
mongodb://master:********@docdb-db.cluster-xxxxxxxxxxxx.ap-northeast-1.docdb.amazonaws.com:27017/?ssl=true&ssl_ca_certs=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false |
できれば事前に、EC2のmongoシェルかアップリケーションから接続できることを確認しておいてください。
Studio 3Tの設定
ここから、上記で確認したDocumentDBとEC2の接続情報を基に、Studio 3Tの接続設定をしていきます。
Studio 3Tを開き、左から順に以下の4つのタブについて設定していきます。
Serverタブ
項目 | 設定値 |
---|---|
Connection Type: | Standalone |
Server: | docdb-db.cluster-xxxxxxxxxxxx.ap-northeast-1.docdb.amazonaws.com |
Port: | 27017(←変更してなければデフォルト) |
Authenticationタブ
項目 | 設定値 |
---|---|
Authentication Model: | Legacy (SCRAM-SHA-1) |
User name: | master(DocumentDBのユーザー名) |
Password: | ********(DocumentDBのパスワード) |
Authentication DB: | admin |
SSLタブ
項目 | 設定値 |
---|---|
Use SSL protocol to connect | チェックする |
Use own Root CA file (–sslCAFile) | チェックする Document DBの.pemのファイルパスを指定する |
SSHタブ
項目 | 設定値 |
---|---|
Use SSH tunnel to connect | チェックする |
SSH Address: | ec2-XXX-XXX-XXX-XXX.ap-northeast-1.compute.amazonaws.com |
Port: | 22(EC2のSSHポートを指定) |
SSH User name: | ec2-user(EC2のログインユーザー) |
SSH Auth Mode: | Private Key |
Private Key: | EC2の.pemのファイルパスを指定する |
これで設定が完了しました。設定情報が正確であることを確認し、接続をテストしてみましょう。
接続が成功すると、Studio 3Tを使用してDocumentDBにアクセスできるようになります。
引用・出典は以下のAWS公式サイトより。
まとめ
この方法を使用することで、Studio 3Tを通じてEC2を経由してDocumentDBに安全かつ効率的に接続できます。
データベースのクエリやデータの操作がスムーズに行えるようになり、効率的な開発やデータ解析が可能になります。
DocumentDBのデータベースユーザーについての記事も書いていますので、併せて参考にしてみてください。
お疲れ様でした!
コメント