您可以在管理客戶端與MongoDB實例的專有網絡之間建立SSL-VPN隧道,實現安全便捷地連接MongoDB實例。
適用場景
管理MongoDB數據庫的客戶端所處的網絡環境沒有固定的公網地址,導致您要在MongoDB控制臺上頻繁調整白名單IP地址,且如果沒有及時清理過期的白名單地址,將存在一定的安全風險。
對網絡安全要求較高,通過公網連接MongoDB實例時,需要更加安全的方式連接MongoDB實例。
數據庫運維人員在公網環境中通過ECS來登錄MongoDB數據庫,在權限管理上存在一定的風險,需要實現ECS的管理權限和MongoDB數據庫權限的分離。
費用說明
操作步驟中創建VPN網關時將產生費用,詳情請參見計費說明。
前提條件
MongoDB實例的網絡類型為專有網絡,如果是經典網絡請切換至專有網絡,詳情請參見經典網絡切換為專有網絡。
本地客戶端的IP地址段和MongoDB實例所在的VPC網絡的IP地址段不能相同,否則無法通信。
本地客戶端必須能訪問外網。
案例環境介紹
步驟一:創建VPN網關
操作步驟,請參見創建和管理VPN網關實例。
創建VPN網關時,請注意以下配置項。
配置項 | 配置說明 |
地域 | VPN網關所屬的地域,選擇與MongoDB實例相同的地域。 |
VPC | VPN網關所屬的VPC,選擇與MongoDB實例相同的VPC。 |
IPsec-VPN | 選擇是否開啟IPsec-VPN功能,您可以根據業務需求選擇。 本案例使用客戶端直接接入,選擇關閉IPsec-VPN。 IPsec-VPN功能提供站點到站點的連接。您可以通過創建IPsec隧道將本地數據中心網絡和專有網絡或兩個專有網絡安全地連接起來。 |
SSL-VPN | 選擇是否開啟SSL-VPN功能,您可以根據業務需求選擇。 本案例使用客戶端直接接入,選擇開啟SSL-VPN。 提供站點到站點的VPN連接,不需要配置客戶端網關,客戶端直接接入。 |
步驟二:創建SSL服務端
操作步驟,請參見創建和管理SSL服務端。
創建SSL服務端時,請注意以下配置項。
配置項 | 配置說明 |
VPN網關 | 關聯的VPN網關,選擇步驟一中創建的VPN網關。 |
本端網段 | 本端網段是客戶端通過SSL-VPN連接要訪問的地址段。本端網段可以是VPC的網段、交換機的網段、通過專線和VPC互連的IDC的網段、云服務如RDS或OSS等網段。 本案例填寫MongoDB實例所屬專有網絡中交換機的網段地址:172.16.1.0/24。 說明 本端網段的子網掩碼的范圍為16到29位。 |
客戶端網段 | 客戶端網段是給客戶端虛擬網卡分配訪問地址的地址段,不是指客戶端已有的內網網段。當客戶端通過SSL-VPN連接訪問MongoDB實例時,VPN網關會從指定的客戶端網段中分配一個IP地址給客戶端使用。 此案例中填寫192.168.100.0/24。 說明 確保客戶端網段和本端網段不沖突。 |
步驟三:創建SSL客戶端
操作步驟,請參見創建和管理SSL客戶端證書。
SSL客戶端證書創建完成后,您需要下載證書并將證書安裝在客戶端中。
步驟四:建立SSL-VPN連接
下文以Linux客戶端和Windows客戶端為例連接SSL-VPN,其他操作系統的客戶端操作,請參見客戶端遠程連接VPC。
Linux客戶端
打開命令行窗口。
執行以下命令安裝OpenVPN客戶端。
#CentOS系統執行以下命令 yum install -y openvpn #執行以下命令查看系統是否已創建/etc/openvpn/conf/目錄,如果系統未創建,需手動創建/etc/openvpn/conf/目錄。 cd /etc/openvpn #進入openvpn目錄下 ls #查看openvpn目錄下是否已創建conf目錄 mkdir -p /etc/openvpn/conf #如果openvpn目錄下不存在conf目錄,手動創建conf目錄。 #Ubuntu系統執行以下命令 apt-get update apt-get install -y openvpn #執行以下命令查看系統是否已創建/etc/openvpn/conf/目錄,如果系統未創建,需手動創建/etc/openvpn/conf/目錄。 cd /etc/openvpn #進入openvpn目錄下 ls #查看openvpn目錄下是否已創建conf目錄 mkdir -p /etc/openvpn/conf #如果openvpn目錄下不存在conf目錄,手動創建conf目錄。
將已下載的SSL客戶端證書解壓拷貝至/etc/openvpn/conf/目錄。
進入/etc/openvpn/conf/目錄,執行以下命令建立VPN連接。
openvpn --config /etc/openvpn/conf/config.ovpn --daemon
Windows客戶端
下載并安裝OpenVPN客戶端(Windows版本)。
將已經下載的SSL客戶端證書解壓拷貝至OpenVPN\config目錄。
本文將證書解壓拷貝到C:\Program Files\OpenVPN\config目錄,請您根據安裝路徑將證書解壓拷貝至您真實的目錄。
啟動OpenVPN客戶端,單擊Connect建立VPN連接。
步驟五:登錄MongoDB數據庫
將SSL服務端配置中的客戶端網段添加到MongoDB實例的IP白名單中。本案例將172.16.1.0/24加入至MongoDB實例的IP白名單中。
登錄MongoDB管理控制臺。
獲取MongoDB實例的專有網絡地址,請參見實例連接說明。
使用Mongo Shell或其他管理工具登錄MongoDB數據庫。
說明請使用MongoDB實例的專有網絡地址登錄。