您可以為文檔數據庫服務實例綁定彈性公網IP,通過公網方式訪問文檔數據庫服務實例。
當應用部署在天翼云彈性云服務器上,且該彈性云服務器與文檔數據庫服務實例處于不同區域時,或者應用部署在其他廠商的云服務器上時,建議通過彈性公網IP連接文檔數據庫服務實例。
本文以部署在彈性云服務器上的應用場景為例,介紹如何使用Mongo Shell通過公網方式連接實例。
連接實例的方式有SSL連接和非SSL連接兩種方法,其中SSL連接進行了加密,具有更高的安全性。為了提升數據在網絡傳輸過程中的安全性,建議采用SSL方式。
前提條件
- 創建并登錄彈性云服務器。
- 實例綁定彈性公網IP,并設置安全組規則,確保可以通過彈性云服務器訪問實例。
- IPv6的實例需要提前綁定帶寬
- 需要在白名單管理添加公網配置以及使用規則設置。
- 在彈性云服務器上,安裝MongoDB客戶端。
非SSL方式連接
- 進入“TeleDB數據庫控制臺。
- 在“DDS”>“實例管理”頁面,選擇指定的目標實例,單擊實例名稱,進入“基本信息”頁面。
- 在實例信息中關閉SSL。
- 查看綁定彈性公網IP。
- 連接彈性云服務器。
- 在客戶端工具mongo所在的目錄下,連接數據庫實例。
方式一:公網高可用連接(推薦)
命令格式:
./mongo <公網高可用連接地址>
公網高可用連接地址:您可以在“基本信息>數據庫連接”處獲取。
IPv4連接方式
連接示例:
./mongo "mongodb://root:password@100.124.xx.xx:9030,100.124.xx.xx:9030/admin?authSource=admin"
| 參數 | 說明 |
|---|---|
| root | 表示數據庫帳號名。默認創建root賬號,也可以是您創建的賬號。 |
| password | 表示數據庫帳號對應的密碼,需要替換為真實密碼。如果密碼中包含特殊字符“@”、“!”和“%”需要分別替換為對應的十六進制的URL編碼(ASCII碼)“%40”、“%21”和“%25”。示例:密碼為****@%!,對應的URL編碼為****%40%25%21。 |
| 100.124.xx.xx:9030,100.124.xx.xx:9030 | 待連接實例的mongod節點彈性公網IP地址及端口號,集群實例為mongos節點彈性公網IP地址及端口號。mongod默認端口8030,mongos默認端口9030。 |
| admin | 表示admin庫名,可根據實際情況設置。 |
| authSource=admin | root帳號認證數據庫必須為“admin”,root賬號為“authSource=admin”固定格式不可改變,也可以是您創建賬號所在的庫。 |
IPv6連接方式
連接示例:
./mongo "mongodb://root:password@[240e:982:d93d:9500:5a31:e1d0::]:9030,[240e:982:d93d:9500:1039:367c::]:9030/admin?authSource=admin" --ipv6
| 參數 | 說明 |
|---|---|
| root | 表示數據庫帳號名。默認創建root賬號,也可以是您創建的賬號。 |
| password | 表示數據庫帳號對應的密碼,需要替換為真實密碼。如果密碼中包含特殊字符“@”、“!”和“%”需要分別替換為對應的十六進制的URL編碼(ASCII碼)“%40”、“%21”和“%25”。示例:密碼為****@%!,對應的URL編碼為****%40%25%21。 |
| [240e:982:d93d:9500:5a31:e1d0::]:9030,[240e:982:d93d:9500:1039:367c::]:9030 | 待連接實例的mongod節點彈性公網IPv6 IP地址及端口號,集群實例為mongos節點彈性公網IP地址及端口號。mongod默認端口8030,mongos默認端口9030。 |
| admin | 表示admin庫名,可根據實際情況設置。 |
| authSource=admin | root帳號認證數據庫必須為“admin”,root賬號為“authSource=admin”固定格式不可改變,也可以是您創建賬號所在的庫。 |
| --ipv6 | IPv6連接方式 |
方式二:公網IP地址連接
命令格式:
./mongo --host <db_host> --port <db_port> -u <db_user> -p --authenticationDatabase admin
IPv4連接方式
連接示例:
./mongo --host 100.124.xx.xx --port 9030 -u root -p --authenticationDatabase admin
IPv6連接方式
連接示例:
./mongo --host 240e:982:d93d:9500:5a31:e1d0:: --port 9030 -u root -p --authenticationDatabase admin --ipv6
| 參數 | 說明 |
|---|---|
| db_user | 表示數據庫帳號名。默認創建root賬號,也可以是您創建的賬號。 |
| db_host | 待連接實例的mongod節點彈性公網IP地址,集群實例為mongos節點彈性公網IP地址。 |
| db_port | 待連接實例的mongod節點端口號,集群實例為mongos節點端口號。 |
| --authenticationDatabase admin | root帳號認證數據庫必須為“admin”,root賬號為“--authenticationDatabase admin”固定格式不可改變,也可以是您創建賬號所在的庫。 |
| --ipv6 | IPv6連接方式 |
出現如下提示時,輸入數據庫帳號對應的密碼:
Enter password:
出現如下信息,說明連接成功。
- 集群:
mongos>
- 副本集主和備:
DDS:PRIMARY>
DDS:SECONDARY>
注意
分片集群規格實例模式下,支持多個Mongos節點的公網IP高可用模式連接。
SSL方式連接
- 進入TeleDB數據庫控制臺。
- 在“DDS”>“實例管理”頁面,選擇指定的目標實例,單擊實例名稱,進入“基本信息”頁面。
- 在實例信息中開啟SSL,點擊下載證書。
- 查看綁定彈性公網IP。
- 連接彈性云服務器,上傳證書至彈性云服務器。
- 在客戶端工具mongo所在的目錄下,連接數據庫實例。
方式一:公網高可用連接(推薦)
命令格式:
./mongo <公網高可用連接地址> --ssl --sslCAFile <file_path> --sslAllowInvalidHostnames
公網高可用連接地址:您可以在“基本信息>數據庫連接”處獲取。
IPv4連接方式
連接示例:
./mongo "mongodb://root:password@100.124.xx.xx:9030,100.124.xx.xx:9030/admin?authSource=admin" --ssl --sslCAFile /conf/ca.crt -sslAllowInvalidHostnames
| 參數 | 說明 |
|---|---|
| root | 表示數據庫帳號名。默認創建root賬號,也可以是您創建的賬號。 |
| password | 表示數據庫帳號對應的密碼,需要替換為真實密碼。如果密碼中包含特殊字符“@”、“!”和“%”需要分別替換為對應的十六進制的URL編碼(ASCII碼)“%40”、“%21”和“%25”。示例:密碼為****@%!,對應的URL編碼為****%40%25%21。 |
| 100.124.xx.xx:9030,100.124.xx.xx:9030 | 待連接實例的mongod節點彈性公網IP地址及端口號,集群實例為mongos節點彈性公網IP地址及端口號。mongod默認端口8030,mongos默認端口9030。 |
| admin | 表示admin庫名,可根據實際情況設置。 |
| authSource=admin | root帳號認證數據庫必須為“admin”,root賬號為“authSource=admin”固定格式不可改變,也可以是您創建賬號所在的庫。 |
| file_path | 存放根證書的路徑。 |
| --sslAllowInvalidHostnames | 證書使用內部IP地址生成。通過公網SSL連接實例時,需要添加“--sslAllowInvalidHostnames”。 |
IPv6連接方式
連接示例:
./mongo "mongodb://root:password@[240e:982:d93d:9500:5a31:e1d0::]:9030,[240e:982:d93d:9500:1039:367c::]:9030/admin?authSource=admin" --ssl --sslCAFile /conf/ca.crt -sslAllowInvalidHostnames --ipv6
| 參數 | 說明 |
|---|---|
| root | 表示數據庫帳號名。默認創建root賬號,也可以是您創建的賬號。 |
| password | 表示數據庫帳號對應的密碼,需要替換為真實密碼。如果密碼中包含特殊字符“@”、“!”和“%”需要分別替換為對應的十六進制的URL編碼(ASCII碼)“%40”、“%21”和“%25”。示例:密碼為****@%!,對應的URL編碼為****%40%25%21。 |
| [240e:982:d93d:9500:5a31:e1d0::]:9030,[240e:982:d93d:9500:1039:367c::]:9030 | 待連接實例的mongod節點彈性公網IP地址及端口號,集群實例為mongos節點彈性公網IP地址及端口號。mongod默認端口8030,mongos默認端口9030。 |
| admin | 表示admin庫名,可根據實際情況設置。 |
| authSource=admin | root帳號認證數據庫必須為“admin”,root賬號為“authSource=admin”固定格式不可改變,也可以是您創建賬號所在的庫。 |
| file_path | 存放根證書的路徑。 |
| --sslAllowInvalidHostnames | 證書使用內部IP地址生成。通過公網SSL連接實例時,需要添加“--sslAllowInvalidHostnames”。 |
| --ipv6 | IPv6連接方式 |
方式二:公網IP地址連接
命令格式:
./mongo --host <db_host> --port <db_port> -u <db_user> -p --authenticationDatabase admin --ssl --sslCAFile <file_path> --sslAllowInvalidHostnames
IPv4連接方式
連接示例:
./mongo --host 100.124.xx.xx --port 9030 -u root -p --authenticationDatabase admin --ssl --sslCAFile /conf/ca.crt --sslAllowInvalidHostnames
IPv6連接方式
連接示例:
./mongo --host 240e:982:d93d:9500:5a31:e1d0:: --port 9030 -u root -p --authenticationDatabase admin --ssl --sslCAFile /conf/ca.crt --sslAllowInvalidHostnames --ipv6
| 參數 | 說明 |
|---|---|
| db_user | 表示數據庫帳號名。默認創建root賬號,也可以是您創建的賬號。 |
| db_host | 待連接實例的mongod節點彈性公網IP地址,集群實例為mongos節點彈性公網IP地址。 |
| db_port | 待連接實例的mongod節點端口號,集群實例為mongos節點端口號。 |
| --authenticationDatabase admin | root帳號認證數據庫必須為“admin”,root賬號為“--authenticationDatabase admin”固定格式不可改變,也可以是您創建賬號所在的庫。 |
| file_path | 存放根證書的路徑。 |
| --sslAllowInvalidHostnames | 證書使用內部IP地址生成。通過公網SSL連接實例時,需要添加“--sslAllowInvalidHostnames”。 |
| --ipv6 | IPv6連接方式 |
出現如下提示時,輸入數據庫帳號對應的密碼:
Enter password:
出現如下信息,說明連接成功。
- 集群:
mongos>
- 副本集主和備:
DDS:PRIMARY>
DDS:SECONDARY>
注意
分片集群規格實例模式下,支持多個Mongos節點的公網IP高可用模式連接。