透過使用 適用於 PostgreSQL 的 Azure 資料庫 彈性伺服器中的私有存取連接方法來連接

適用於 PostgreSQL 的 Azure 資料庫 是一項受控服務,可用來在雲端中執行、管理和調整高可用性 PostgreSQL 伺服器。 本文將示範如何在虛擬網路中利用 Azure 入口網站建立 適用於 PostgreSQL 的 Azure 資料庫 彈性伺服器。

如果您沒有 Azure 訂用帳戶,請在開始之前建立 免費的 Azure 帳戶 。

登入 Azure 入口網站

登入 Azure 入口網站。 輸入您的認證以登入入口網站。 預設檢視是您的服務儀表板。

建立適用於 PostgreSQL 的 Azure 資料庫

你建立一台 適用於 PostgreSQL 的 Azure 資料庫 靈活伺服器,並設定一組計算與儲存資源。 您可在 Azure 資源群組內建立伺服器。

完成以下步驟以建立 適用於 PostgreSQL 的 Azure 資料庫 彈性伺服器:

  1. 在入口網站中,搜尋並選取 [適用於 PostgreSQL 的 Azure 資料庫伺服器]:

    螢幕擷取畫面顯示搜尋「適用於 PostgreSQL 的 Azure 資料庫」伺服器。

  2. 選取 ,然後新增。

  3. 在 [基本] 索引標籤上,輸入 [訂閱]、[資源群組]、[區域] 以及 [伺服器名稱]。 使用預設值時,此組態會佈建一台第 12 版的 適用於 PostgreSQL 的 Azure 資料庫 彈性伺服器,採用一般用途定價層,配備 2 個 vCore、8 GiB RAM 和 28 GiB 儲存空間。 備份保留期為 7 天。 使用 開發 工作負載,預設採用較低的定價層級。

    螢幕擷取畫面,顯示適用於 PostgreSQL 的 Azure 資料庫頁面的 [基本] 索引標籤。

  4. 在 [基本] 索引標籤中,輸入唯一的系統管理員使用者名稱和管理員密碼。

    螢幕擷取畫面顯示管理員使用者資訊頁面。

  5. 移至 [網路] 索引標籤,然後選取 [私人存取]。 建立伺服器之後,您就無法變更連線方法。 選取 [建立虛擬網路] 建立新的虛擬網路 vnetenvironment1。 輸入虛擬網路名稱和子網路資訊後,選擇 確定 。

    螢幕擷取畫面顯示具有新 VNET 的 [網路] 索引標籤。

  6. 選擇 Review + create 以檢視你的 適用於 PostgreSQL 的 Azure 資料庫 靈活伺服器配置。

  7. 選取 [建立] 以佈建伺服器。 佈建這可能需要數分鐘的時間。

  8. 等候部署完成和成功。

    顯示部署成功的螢幕擷取畫面。

  9. 選取 [移至資源] 以檢視伺服器的 [概觀] 頁面。

建立 Azure Linux 虛擬機器

因為伺服器在虛擬網路中,你只能從同一虛擬網路內的其他 Azure 服務連線到伺服器。 要連接和管理伺服器,請建立 Linux 虛擬機。 你必須在同一 區域 和 訂閱內建立虛擬機。 用 Linux 虛擬機當作 SSH 隧道來管理你的 適用於 PostgreSQL 的 Azure 資料庫 彈性伺服器。

  1. 回到你建立伺服器的資源群組。 選取 ,然後新增。

  2. 選取 [Ubuntu Server 18.04 LTS]。

  3. 在基礎標籤中,Project 詳情下,確認選對訂閱,然後選擇建立新資源群組。 輸入 myResourceGroup 作為名稱。

    [專案詳細資料] 區段的螢幕擷取畫面,其中顯示您選取 Azure 訂用帳戶和虛擬機器的資源群組的位置。

  4. 在實例詳細資料中,輸入 myVM 作為虛擬機名稱,並選擇與你 適用於 PostgreSQL 的 Azure 資料庫 彈性伺服器相同的區域。

    [執行個體詳細資料] 區段的螢幕擷取畫面,您在其中提供虛擬機器的名稱,並選取其區域、映像與大小。

  5. 在 [Administrator 帳戶] 底下,選取 [SSH 公開金鑰]。

  6. 在 [使用者名稱] 中輸入「azureuser」。

  7. 對於 SSH 公開金鑰來源,預設設定為 「產生新金鑰對」,然後輸入 myKey 來取得 金鑰對名稱。

    [系統管理員帳戶] 區段的螢幕擷取畫面,您可在其中選取驗證類型並提供管理員認證。

  8. 在「入站埠規則>「公開入站埠」中,選擇「允許選定埠」。 接著從下拉選單選擇 SSH (22) 和 HTTP (80)。

    [輸入連接埠規則] 區段的螢幕擷取畫面,您可在其中選取允許接聽輸入連線的連接埠。

  9. 選取 [網路] 頁面來設定虛擬網路。 針對虛擬網路,選擇為資料庫伺服器建立的 vnetenvironment1。

    選取資料庫伺服器現有虛擬網路的螢幕擷取畫面。

  10. 選取 [管理子網路設定] 建立新的伺服器子網路。

    管理子網路的螢幕擷取畫面。

  11. 為虛擬機器新增新的子網路。

    為虛擬機器新增子網路的螢幕擷取畫面。

  12. 子網成功建立後,關閉該頁面。

    成功為虛擬機器新增子網路的螢幕擷取畫面。

  13. 選取檢閱 + 建立。

  14. 選取 ,創建。 當 [產生新的金鑰組] 視窗開啟時,請選取 [下載私密金鑰並建立資源]。 您的金鑰檔會下載為 myKey.pem。

    這很重要

    請務必確認 .pem 檔案會下載到哪裡。 你需要在下一步找到通往它的路徑。

  15. 部署結束後,選擇 「前往資源 」以查看虛擬機 概覽 頁面。

  16. 選取公用 IP 位址,並將其複製到剪貼簿。

    顯示如何複製虛擬機器的 IP 位址的螢幕擷取畫面。

安裝 PostgreSQL 用戶端工具

用 Bash 或 PowerShell 建立 SSH 連線。 在您的提示字元中,開啟與虛擬機器的 SSH 連線。 將 IP 位址取代為您 VM 的位址,並且以下載金鑰檔案的路徑取代 .pem 的路徑。

ssh -i .\Downloads\myKey1.pem azureuser@10.111.12.123

小提示

下次在 Azure 建立虛擬機時,你可以使用你建立的 SSH 金鑰。 下次建立虛擬機時,只要選擇「使用儲存在 Azure 中的金鑰作為 SSH 公鑰來源」。 你電腦上已經有私鑰,所以不需要下載任何東西。

你需要安裝 postgresql-client 這個工具才能連接到伺服器。

sudo apt-get update
sudo apt-get install postgresql-client

因為連接資料庫需要 SSL,所以你需要下載公開的 SSL 憑證。

wget --no-check-certificate https://dl.cacerts.digicert.com/DigiCertGlobalRootCA.crt.pem

從 Azure Linux 虛擬機器連線至伺服器

安裝了 psql 用戶端工具後,你現在可以從本地環境連接到伺服器。

psql --host=mydemoserver-pg.postgres.database.azure.com --port=5432 --username=myadmin --dbname=postgres --set=sslmode=require --set=sslrootcert=DigiCertGlobalRootCA.crt.pem

清理資源

你在資源群組中建立了一台 適用於 PostgreSQL 的 Azure 資料庫 彈性伺服器。 如果您未來不需要這些資源,可以藉由刪除資源群組來刪除,或者直接刪除適用於 PostgreSQL 的 Azure 資料庫彈性伺服器。 若要刪除資源群組,請完成下列步驟:

  1. 在 Azure 入口網站中,搜尋並選取 [資源群組]。

  2. 在資源群組清單中,選取資源群組的名稱。

  3. 在資源群組的 [概觀] 頁面中,選取 [刪除資源群組]。

  4. 在確認對話方塊凹輸入您的資源群組名稱,然後選取 [刪除]。