Studio 3TからEC2(踏み台)経由でDocumentDBに接続する方法

この記事では、ローカルのWindows環境にあるStudio 3Tを使用し、EC2踏み台)を経由してAWSDocumentDBに接続する方法について詳しく説明します。
Studio 3Tは、NoSQLを使うデータベースエンジニアや開発者にとって非常に便利なツールであり、MongoDBと互換性があるDocumentDBへの接続も簡単に行うことができます。

目標

出典:Qiita

今回の目標は、プライベートサブネットにいるDocumentDBに対して、パブリックサブネットにいる踏み台のEC2を経由して、ローカルにあるStudio 3Tから接続します。
なお、接続するVPCDocument DBEC2は構築済みであることを前提とし、Studio 3Tの設定に焦点を当てて説明しますので、まだAWSの環境を構築済みでない場合はこちらを参考にしてください。

それでは以下のステップに従って、効果的に設定しましょう。
接続するサーバーやユーザ、パスワード、DB名等は適宜置き換えてください。

DocumentDBの接続情報を確認

DocumentDBへの接続には、いくつかの情報が必要です。
まずはAWSコンソールにログインし、DocumentDBクラスター情報やエンドポイント、ユーザー名などを確認しましょう。
これらの情報は後でStudio 3Tの設定で使用します。
接続情報は、DocumentDBクラスター情報から確認することができます。

クラスターの「接続」を確認

以下のコマンドで、認証に必要なAmazon DocumentDB 認証機関 (CA) 証明書をダウンロードできます。
まだ持っていない場合はダウンロードしておきましょう。

wget https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem

こちらは、mongoシェルでクラスターに接続する方法です。

mongo --ssl --host docdb-db.cluster-xxxxxxxxxxxx.ap-northeast-1.docdb.amazonaws.com:27017 --sslCAFile global-bundle.pem --username master --password <insertYourPassword>

そして、アプリケーションでクラスターに接続方法です。

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

できれば事前に、EC2mongoシェルかアップリケーションから接続できることを確認しておいてください。

Studio 3Tの設定

ここから、上記で確認したDocumentDBEC2の接続情報を基に、Studio 3Tの接続設定をしていきます。
Studio 3Tを開き、左から順に以下の4つのタブについて設定していきます。

Serverタブ

スクロールできます
項目設定値
Connection Type:Standalone
Server:docdb-db.cluster-xxxxxxxxxxxx.ap-northeast-1.docdb.amazonaws.com
Port:27017(←変更してなければデフォルト)
Serverタブの設定

Authenticationタブ

スクロールできます
項目設定値
Authentication Model:Legacy (SCRAM-SHA-1)
User name:master(DocumentDBのユーザー名)
Password:********(DocumentDBのパスワード)
Authentication DB:admin
Authenticationタブの設定

SSLタブ

スクロールできます
項目設定値
Use SSL protocol to connectチェックする
Use own Root CA file (–sslCAFile)チェックする
Document DBの.pemのファイルパスを指定する
SSLタブの設定

DocumentDBはデフォルトでTLSが有効になっていますが、暗号化は踏み台サーバのSSHトンネル上でも行われるので、ここではTLSを無効にしても良いと思います。

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のファイルパスを指定する
SSHタブの設定

※秘密鍵で認証する場合は以下のように変更してください。
SSH Auth Mode:Password
SSH Password:********

これで設定が完了しました。設定情報が正確であることを確認し、接続をテストしてみましょう。
接続が成功すると、Studio 3Tを使用してDocumentDBにアクセスできるようになります。

引用・出典は以下のAWS公式サイトより。

まとめ

この方法を使用することで、Studio 3Tを通じてEC2を経由してDocumentDBに安全かつ効率的に接続できます。
データベースのクエリやデータの操作がスムーズに行えるようになり、効率的な開発やデータ解析が可能になります。

DocumentDBのデータベースユーザーについての記事も書いていますので、併せて参考にしてみてください。
お疲れ様でした!

著:佐竹 陽一, 著:山﨑 翔平, 著:小倉 大, 著:峯 侑資
¥2,970 (2023/11/01 13:46時点 | Amazon調べ)


Amazonベストセラー

返信を残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA