このページでは、mongo シェルを使用して、SSL (Secure Sockets Layer) 暗号化モードで ApsaraDB for MongoDB データベースに接続する方法について説明します。 SSL 暗号化では、トランスポート層でネットワーク接続を暗号化して、データのセキュリティを向上させ、データの整合性を確保できます。
前提条件
インスタンスは、レプリカセットインスタンスまたはクラウドディスクを使用するシャードクラスターインスタンスです。
説明インスタンスが以前のメジャーバージョンを実行している場合は、インスタンスのメジャーバージョンをアップグレードします。 詳細については、「ApsaraDB For MongoDBインスタンスのメジャーバージョンのアップグレード」をご参照ください。
インスタンスに対して SSL 暗号化が有効になっている必要があります。 詳細については、「ApsaraDB for MongoDB インスタンスの SSL 暗号化の設定」をご参照ください。
Mongo シェル 3.0 以降が、データベースへ接続するローカルサーバー、または ECS インスタンスにインストールされている必要があります。 インストール手順の詳細については、「MongoDB のインストール」をご参照ください。
インスタンスに接続するローカルサーバーまたはECSインスタンスのIPアドレスがインスタンスのホワイトリストに追加されます。 詳細については、「ApsaraDB For MongoDBインスタンスのIPアドレスホワイトリストの変更」をご参照ください。
使用上の注意
ApsaraDB for MongoDBインスタンスのSSL暗号化を有効にすると、このインスタンスのCPU使用率が大幅に増加します。 必要な場合にのみSSL暗号化を有効にすることを推奨します。 たとえば、インターネット経由で ApsaraDB for MongoDB インスタンスに接続するときに SSL 暗号化を有効にできます。
説明ほとんどの場合、インスタンスの内部エンドポイントへの接続は安全であり、SSL暗号化は必要ありません。
ApsaraDB for MongoDBインスタンスのSSL暗号化を有効にした後、インスタンスのエンドポイントを変更した場合、または新しいノードエンドポイントやパブリックエンドポイントなどのインスタンスの新しいエンドポイントを申請した場合、新しいエンドポイントはSSL暗号化をサポートしません。 新しいエンドポイントのSSL暗号化を有効にする場合は、SSL証明書を更新します。 詳細については、「SSL証明書の更新」をご参照ください。
手順
次の例では、Linuxオペレーティングシステムを備えたローカルサーバーを使用します。
SSL CA証明書をダウンロードします。 詳細については、「ApsaraDB for MongoDB インスタンスの SSL 暗号化の設定」をご参照ください。
パッケージを解凍し、証明書ファイルをローカルサーバーまたはmongoシェルがインストールされているECSインスタンスにアップロードします。
説明この例では、. pemファイルは、/テスト /sslcafile /ローカルサーバーのディレクトリ。
ローカルサーバーまたは ECS インスタンスで、次のコマンドを実行して、ApsaraDB for MongoDB インスタンスのデータベースに接続します。
mongo -- host <host> -u <username> -p -- authenticationDatabase <database> -- ssl -- sslCAFile <sslCAFile_path> -- sslAllowInvalidHostnames
説明<host>
: ApsaraDB for MongoDBインスタンスのプライマリノードまたはセカンダリノードの接続文字列 (ポート番号を含む) 。 詳細については、「レプリカセットインスタンスへの接続」をご参照ください。インターネット経由でインスタンスのデータベースに接続する場合は、インスタンスのパブリックIPアドレスを申請します。 詳細は、パブリック IP アドレスの申請をご参照ください。
内部ネットワーク経由でApsaraDB for MongoDBインスタンスのデータベースに接続する場合は、インスタンスがECSインスタンスと同じネットワークタイプであることを確認してください。 ネットワークタイプがVirtual Private Cloud (VPC) の場合、2つのインスタンスが同じVPCにあることを確認します。
<username>
: ApsaraDB for MongoDBインスタンスのデータベースアカウント。 初期アカウントはrootです。 ルートアカウントを使用して本番環境のデータベースに接続しないことをお勧めします。 アカウントを作成し、アカウントに権限を付与できます。 詳細については、「MongoDBデータベースユーザーの権限の管理」をご参照ください。<database>
: データベースアカウントが属する認証データベースの名前。 ユーザー名がrootの場合は、adminと入力します。<sslCAFile_path>
: SSL CA証明書ファイルのパス。-- sslAllowInvalidHostnames
: Transport Layer Security (TLS) またはSSL CA証明書のホスト名が検証されておらず、指定されたホスト名と一致しないサーバーに接続できることを指定します。 SSL暗号化でホスト名の検証が必要な場合は、このパラメーターを設定しないでください。
例:
次のサンプルコマンドでは、ユーザー名はtest、データベースはadminです。
mongo -- ホストdds-bp19f409d7512 **** -pub.mongodb.rds.aliyuncs.com:3717 -u test -p -- authenticationDatabase admin -- ssl -- sslCAFile /test/sslcafile/ApsaraDB-CA-Chain.pem -- sslAllowInvalidHostnames
Enter password
が表示されている場合は、データベースアカウントのパスワードを入力してenterキーを押します。説明パスワードを入力すると、パスワードの文字は表示されません。
rootアカウントのパスワードを忘れた場合は、リセットできます。 詳細については、「 (オプション) パスワードのリセット」をご参照ください。