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