MongoDB 配置への接続
このページでは、MongoDB for VS Code 拡張機能を使用して MongoDB ホストに接続する方法について説明します。 スタンドアロン、レプリカセット、またはシャーディングされたクラスター ホストに接続できます。
注意
MongoDB Atlas
MongoDB ホストを作成する必要がある場合は、 MongoDB Atlasの使用を検討してください。 Atlas は、クラウドでホストされるサービスとしてのデータベースです。インストールは不要で、無料階層を提供し、VS Code 拡張機能を配置に簡単に接続するためのコピー可能な URI を提供します。
Atlas 無料階層でクラスターを作成するには、Visual Studio Code コマンド パレットでコマンド MongoDB: Open Overview Page
を実行し、[Create free cluster] をクリックします。
VS Code 拡張機能に含まれる Terraform テンプレートを使用して Atlas クラスターを作成するには、「 を使用してテンプレートから Atlas クラスターを作成する 」を参照してください。
VS Code拡張機能のインストールが必要な場合は、「 MongoDB for VS Codeインストール」で手順を参照してください。
Considerations
VS Code 拡張機能をレプリカセットに接続する場合は、接続情報を入力するときにレプリカセットSRV recordまたはReplica Set Nameのいずれかを使用します。 個々のレプリカセットに直接接続することはおすすめしません。
VS Code 拡張機能を分析ノード に直接接続することはできません。
VS Code拡張機能は、すべての配置接続に対して
mongodb-vscode <version>
の値を持つappName
接続stringオプションを追加します。
接続の作成
VS Code 拡張機能には、配置に接続するための 2 つのオプションが用意されています。
接続方法 | 説明 |
---|---|
Connect with Connection String | この方法は、高度な接続設定を使用するよりも速くて簡単です。配置がAtlasでホストされている場合、または配置用の接続文字列がすでに使用可能な場合は、このオプションを使用してください。 |
Advanced Connection Settings | このメソッドを使用すると、フォームを使用して接続文字列を構築できます。このオプションは、接続文字列をカスタマイズする必要があり、使用可能な接続オプションを確認したい場合に使用します。 |
注意
VS Code 拡張接続が保存される場所を指定するには、 Default Connection Saving Location設定を使用します。
接続string を指定すると、VS Code 拡張機能は でサポートされているほとんどの 接続string オプション MongoDBをサポートします。
接続文字列を取得します。
標準接続文字列形式または DNS シードリスト接続形式のいずれかを使用できます。
MongoDB Atlas クラスターの接続文字列を取得するには、以下の手順に従います。
Atlas Clusters ビューに移動します。
希望するクラスターで [Connect] をクリックします。
[Connect with MongoDB Compass] をクリックします。
指定された接続文字列をコピーします。
Atlas でホストされていない配置の接続文字列を形式する方法については、「接続文字列 URI 形式」を参照してください。
Visual Studio Code コマンド パレットを開きます。
Visual Studio Code コマンド パレットを開いて接続文字列を貼り付け、クラスターに接続します。コマンド パレットは、次のいずれかの方法で開くことができます。
VSCode の左側のメニュー バーから MongoDB アイコンを選択します。
クリックして拡大します左側のナビゲーションの Connections ペインが折りたたまれている場合は展開します。
クリックして拡大しますMore Actions メニュー(...)をクリックし、Add MongoDB Connection with Connection String... を選択します。
クリックして拡大します
お使いのオペレーティングシステムやメソッドに応じて、次の表で説明されているアクションを実行します。
オペレーティング システム方式アクションAny
Visual Studio Code メニュー
View > Command Palette
MacOS
キーボード ショートカット
Command
+Shift
+P
押しますWindows および Linux
キーボード ショートカット
Control
+Shift
+P
押しますコマンド パレットから MongoDB: Open Overview Page を選択します。
Tip
使用できるすべての VS Code 拡張コマンドを表示するには、コマンド パレットに
mongodb
と入力します。[Overview(概要)] ページで、 Connect with Connection String の下の Connect をクリックします。
お使いのオペレーティングシステムやメソッドに応じて、次の表で説明されているアクションを実行します。
オペレーティング システム方式アクションAny
Visual Studio Code メニュー
View > Command Palette
MacOS
キーボード ショートカット
Command
+Shift
+P
押しますWindows および Linux
キーボード ショートカット
Control
+Shift
+P
押しますコマンド パレットから MongoDB: Connect with Connection String... を選択します。
Tip
使用できるすべての VS Code 拡張コマンドを表示するには、コマンド パレットに
mongodb
と入力します。
VS Code 拡張機能の概要ページを開きます
MongoDB ビューまたはコマンド パレットを使用して概要ページを開くことができます。
左側のナビゲーションの Connections ペインが折りたたまれている場合は展開します。
クリックして拡大します[ More Actionsメニュー( ... )をクリックし、 Add MongoDB Connectionをクリックして VS Code 拡張機能の概要ページを開きます。
クリックして拡大します
お使いのオペレーティングシステムやメソッドに応じて、次の表で説明されているアクションを実行します。
オペレーティング システム方式アクションAny
Visual Studio Code メニュー
View > Command Palette
MacOS
キーボード ショートカット
Command
+Shift
+P
押しますWindows および Linux
キーボード ショートカット
Control
+Shift
+P
押しますコマンド パレットから MongoDB: Open Overview Page を選択します。
Tip
使用できるすべての VS Code 拡張コマンドを表示するには、コマンド パレットに
mongodb
と入力します。
接続情報を入力します
重要
VS Code 拡張機能は、次の接続オプションを サポートしていません。
CSFLE 使用中の暗号化
Kerberos 認証
[General] タブには、次のオプションがあります。
オプション | 説明 | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Connection Type | 接続のタイプ。接続タイプを定義するための具体的な手順については、タブから接続タイプを選択してください。 スタンドアロンの場合は、以下を指定します。
クリックして追加のホスト名と関連ポートを指定します。 レプリカセットの場合は、以下を指定します。
クリックして追加のホスト名と関連ポートを指定します。 SRV レコードの場合は、Hostname を指定します。ポートを指定する必要はありません。 SRV 接続文字列には 以下に例を挙げます。 MongoDB 配置の SRV 接続文字列が次の場合
次に、VS Code 拡張機能で、 Hostnameを次のように指定します。
| ||||||||||||||||||||||
Authentication | 配置で認証が必要な場合に使用する認証。Atlas クラスターは Username / Password 認証を使用します。 特定の手順については、お使いの認証方法を選択してください。 配置で認証メカニズムとして MongoDB-CR、SCRAM-SHA-1、SCRAM-SHA-256 のいずれかを使用する場合は、Username / Password を選択します。 ユーザーを認証するには、Username、Password、認証データベースを指定します。 配置で認証メカニズムとして OpenID Connect を使用する場合は、 OIDCを選択します。 以下の情報を提供してください。
これは安全性の低い認証フローであり、ブラウザベースの認証が利用できない場合のフォールバックとして使用できます。 配置で認証メカニズムとして X.509 を使用する場合は、X.509 を選択します。選択した場合、ユーザーを認証するために Username を提供する必要があります。 Atlas 管理の証明書を使用している場合は、RFC2253 に従ってユーザー名の前に "CN=" を付ける必要があります。たとえば、ユーザー名 "X509User" は、"CN=X509User" として指定する必要があります。 配置で認証メカニズムとしてLDAPを使用する場合は、LDAP を選択します。選択した場合、ユーザーを認証するために Username と Password を指定する必要があります。 配置で認証メカニズムとして AWS IAM を使用する場合はAWS IAMを選択します。
|
TLS/SSL または SSH トンネルを使用して配置に接続する場合、具体的な手順については次のタブを参照してください。
このオプションは、VS Code 拡張機能に対して、TLS/SSL 経由で MongoDB 配置に接続するように指示します。 次のいずれかの SSL オプションを選択できます。
オプション | 説明 | ||||||||
---|---|---|---|---|---|---|---|---|---|
System CA/Atlas Deployment | MongoDB Atlas に接続します。 | ||||||||
Server Validation | VS Code 拡張機能は配置の ID を検証します。 選択した場合は、次の情報を提供する必要があります。
| ||||||||
Server and Client Validation | 配置はクライアントから証明書の検証を実行し、VS Code 拡張機能は配置の ID を検証します。 選択した場合は、次の情報を提供する必要があります。
| ||||||||
Unvalidated (Insecure) | ID 検証なしで TLS/SSL を使用します。 |
Tip
実稼働環境で使用する場合、MongoDB の配置には、単一の認証局によって生成および署名された有効な証明書を使用する必要があります。ユーザーまたは組織は、独立した認証局を作成して維持することも、サードパーティの TLS/SSL ベンダーによって生成された証明書を使用することもできます。
このオプションは、VS Code 拡張機能に SSH トンネル経由で MongoDB 配置に接続するように指示します。 トンネルは、MongoDB に接続すると自動的に開始され、切断すると停止します。
SSH Tunnel ドロップダウンで、認証を提供するためのパスワードまたは ID ファイルのいずれかを選択します。識別方法を選択したら、以下のオプションを指定します。
SSH Hostname | bastion(jumpbox)のホスト名を入力します。これは、マシンがアクセスされるための一意の識別子(完全修飾ドメイン名、FQDN)です。 |
SSH Tunnel Port | SSH 接続に使用するポートを指定します。デフォルトでは、SSH の標準ポートである 22 になります。 |
SSH Username | リモート システムでログインするプロファイルのユーザー名です。これは、SSH接続を確立するユーザーになります。 |
SSH Identity File | SSH 公開キー認証の ID(秘密キー)を読み取るファイルを選択します。 Unix または OS X: OpenSSH を使用している場合、ID ファイルは
Windows では、識別ファイルのロケーションは、PuTTY などの SSH クライアントの選択によって異なります。 |
SSH Passphrase | 秘密キーが暗号化されている場合は、秘密キー(指定された ID ファイルに保存されている)の復号に使用したパスフレーズを指定します。パスフレーズは、SSH 接続のセキュリティをさらに強化します。 |
SSH Password | SSH 接続を保護するために使用されるパスワードです。これは、ID ファイルを使用していない場合に必要です。 |
要塞ホストを経由する SSH トンネルを使用するには、要塞ホストの SSH 構成で TCP ポート転送が許可されている必要があります。つまり、/etc/ssh/sshd_config
ファイルの AllowTcpForwarding
ディレクティブを yes
に設定します。AllowTcpForwarding
が yes
に設定されていない場合は、yes
に設定して SSH デーモン(sudo service sshd restart
)を再起動します。
VS Code 拡張機能を使用して SSH トンネルを作成する代わりに、コマンドラインから手動でトンネルを作成することもできます。
ssh -L <local_port>:<mongodb_hostname>:<mongodb_port> \ <user>@<bastion_hostname> -fN
例
hostname-a.com
のポート 27017 で配置を実行していて、要塞ホストが hostname-b.com
でユーザー名が ec2-user
の場合は、次の方法でトンネルを構築できます。
ssh -L 27000:hostname-a.com:27017 ec2-user@hostname-b.com -fN
この SSH トンネルを使用すると、VS Code 拡張機能(またはmongo
shell)をlocalhost:27000
に接続し、 hostname-a.com
で実行されている配置に接続できるようになります。
注意
SSH トンネル経由でレプリカセットに接続することはできません。 VS Code 拡張機能は、同じ SSH トンネルを介して複数のサーバーへの接続を確立できません。
任意: Advanced タブで追加オプションを指定します
VS Code 拡張機能が読み取り操作を指示する方法を指定するRead Preferenceを選択できます。
読み込み設定(read preference)モード | 説明 |
---|---|
Primary | デフォルト モード。すべての操作は、現在のレプリカセットのプライマリから読み取られます。 |
Primary Preferred | ほとんどの場合、操作はプライマリ ノードを対象に読み取りを行いますが、使用できない場合はセカンダリ ノードを対象に読み取りを行います。 |
Secondary | すべての操作はレプリカセットのセカンダリ ノードを対象に読み込みを行います。 |
Secondary Preferred | ほとんどの場合、操作はセカンダリから読み取られますが、セカンダリが使用できない場合は、操作はプライマリから読み取られます。 |
Nearest | 操作は、ノードのタイプに関係なく、レイテンシが最も少ないレプリカセットのノードから読み取られます。 |
省略された場合、デフォルトは Primary となります。読み込み設定 (read preference) の詳細については、 「読み込み設定 (read preference)」を参照してください。
次のオプションを使用して、追加の MongoDB 接続動作を指定できます。
フィールド | 説明 |
---|---|
ReplicaSetName | (任意)レプリカセットの名前。 |
デフォルトの認証データベース | (任意) authSource が指定されていない場合に使用される認証データベース。 詳細については、「認証オプション 」を参照してください。 |
URI オプション | 接続をカスタマイズするための追加オプションです。これらのオプションをキーと値のペアとして指定すると、Visual Studio Code によってキーと値のペアが接続文字列に自動的に追加されます。詳細については、「接続文字列オプション」を参照してください。 |
Atlas Stream Processing への接続
バージョン 1.50 で追加。
SPI(Stream Processing Interface)接続 を提供することで、VS CodeAtlas Stream Processing 拡張機能を使用してstring に接続できます。
Atlas Stream Processing の構成方法について詳しくは、「ストリーム プロセシング インスタンスの管理。」を参照してください。
SPI 接続文字列を貼り付けます
SPI 接続文字列を取得するには、Atlasアカウントにログインします。左側のナビゲーションから [Stream Processing] をクリックし、Atlas Stream Processing インスタンスを選択します。[Connect] をクリックし、接続ダイアログの [Choose a Connection Method] ページから [MongoDB for VSCode] を選択します。
Tip
Atlas Stream Processing の使用法と構成の詳細については、「Atlas Stream Processing の概要」を参照してください。
次のコード ブロックは、SPI 接続文字列の例です。
mongodb://user1:password1@atlas-stream-xxxxxxxxxxxxxxxxxxxxxxxx-yyyyy.virginia-usa.a.query.mongodb.net/?authSource=admin&readPreference=primary&ssl=true&directConnection=true
接続が完了すると、ストリーム接続が Connections ペインの下に表示されます。
接続の有効化
VS Code 拡張機能は一度に 1 つの配置にのみ接続できます。 アクティブな接続を別の配置に変更したり、切断された配置に接続するには、次の手順を実行します。
MongoDB Shell の起動
MongoDB Shell またはレガシー mongo
shell をアクティブな配置に接続できます。
Considerations
VS Code 拡張機能が配置に接続するために使用する shell は、拡張設定のShell設定によって決まります。 MongoDB Shellまたはレガシーの
mongo
shell のいずれかを選択できます。選択した shell へのパスは、システムの
PATH
に存在する必要があります。PATH
に存在しない場合、操作はエラーになります。
手順
shell をアクティブな配置に接続するには、次のようにします。
VS Code 拡張機能Connectionsリストで、アクティブな配置を右クリックします。
Launch MongoDB Shell を選択します。
VS Code 拡張機能は VS Code でTerminalウィンドウを開き、選択した配置に接続された shell を起動します。
接続の編集
接続のコピー
既存の Visual Studio Code 接続から接続文字列をコピーできます。
接続名の変更
VS Code 拡張機能で配置への接続の名前を変更するには、次のようにします。
配置からの切断
VS Code 拡張機能には、配置から切断するための 2 つの方法が用意されています。 ここでは、次の作業が可能です。
コマンド パレットを使用して切断
Activity Bar の MongoDB ビューから切断
MongoDB インスタンスから切断すると、アクティブなインスタンスへの VS Code 拡張機能の接続が閉じられます。 配置内のデータを再度操作するには、再接続する必要があります。
接続の削除
VS Code 拡張機能には、Visual Studio Code から配置への接続を削除する方法が 2 つあります。 ここでは、次の作業が可能です。
Activity Bar の MongoDB ビューからコネクションを削除します。
コマンド パレットを使用して接続を削除
重要
Visual Studio Code から接続を削除すると、現在のワークスペースと Visual Studio Code の両方からグローバルに削除されます。