检查点
Create a Cloud SQL instance
/ 5
Create a database and configure a proxy on a Virtual Machine
/ 5
導入 Cloud SQL (Azure)
最近您受僱加入一間 IT 公司,這間公司的主要雲端服務供應商為 Google Cloud。身為 SQL 資料庫專家,您負責研究及採用 Google Cloud 提供的 SQL 服務,需要考量的主要面向包括:
- 部署作業
- 安全性
- 應用程式整合
- 連線方式
您在前一份工作中使用過 Azure,因此知道如何部署 SQL Server。定價模式是以可自訂的資料庫交易單位 (DTU) 為依據,並根據不同的使用情境提供各式定價選項。
您將在 Azure 中進行下列操作:
- 導入 Proxy,確保使用者能安全連線至資料庫。
- 使用 HTTP 負載平衡器維持應用程式資料庫的可用性。
您可以透過多種方式連線至先前部署的應用程式,包括:
- 連線字串
- 網頁應用程式服務整合功能
- 在 Cloud SQL 中使用私人 IP 位址建立連線
現在您將學習如何使用 Cloud SQL 功能建構安全感知資料庫,並連結至應用程式。
總覽
在這個研究室中,您會設定 Cloud SQL 伺服器,並瞭解如何透過採用外部連線的 Proxy 將應用程式連結至伺服器。您也會設定使用私人 IP 連結的連線,藉此提高效能和安全性。我們選擇在這個研究室中展示的應用程式是「WordPress」,不過相關資訊和最佳做法適用於任何必須使用 SQL 伺服器的應用程式。
在這個研究室結束時,您會擁有 2 個運作正常的 WordPress 前端執行個體,這 2 個執行個體是透過 2 種連線連結至 WordPress 的 SQL 執行個體後端,如這張圖表所示:
目標
在這個研究室中,您會瞭解如何執行下列工作:
- 建立 Cloud SQL 資料庫
- 設定虛擬機器執行 Proxy
- 建立應用程式與 Cloud SQL 之間的連線
- 使用私人 IP 位址將應用程式連線至 Cloud SQL
設定
在每個研究室中,您都能在固定時間內免付費建立新的 Google Cloud 專案,並使用一組資源。
-
請透過無痕式視窗登入 Qwiklabs。
-
請記下研究室的存取時間 (例如
1:15:00
),並確保自己能在時間限制內完成作業。
研究室不提供暫停功能。如有需要,您可以重新開始,但原先的進度恕無法保留。 -
準備就緒後,請按一下「Start lab」。
-
請記下研究室憑證 (使用者名稱和密碼),這組資訊將用於登入 Google Cloud 控制台。
-
按一下「Open Google Console」。
-
按一下「Use another account」,然後複製這個研究室的憑證,並貼入提示訊息。
如果使用其他憑證,系統會顯示錯誤或向您收取費用。 -
接受條款,然後略過資源復原頁面。
工作 1:建立 Cloud SQL 資料庫
在這項工作中,您會依據 Google Cloud 最佳做法設定 SQL 伺服器,以及建立私人 IP 連線。
- 按一下導覽選單 () 中的「SQL」。
- 按一下「建立執行個體」。
- 按一下「選擇 MySQL」。
- 指定下列屬性,其餘設定請保持預設狀態:
屬性 | 值 |
---|---|
執行個體 ID | wordpress-db |
根密碼 | 輸入密碼 |
區域 | |
可用區 | 不限 |
資料庫版本 | MySQL 5.7 |
-
展開「顯示設定選項」。
-
展開「機器類型」專區。
-
適量佈建 vCPU 和記憶體。點選下拉式選單並瀏覽選項,選取需要的機器類型。
注意事項:以下列出幾個考量要點:
-
在這個研究室中,請在下拉式選單中依序選取「標準」和「1 個 vCPU,3.75 GB」。
-
接著,請展開「儲存空間」專區,並選取「儲存空間類型」和「儲存空間容量」。
注意事項:以下列出幾個考量要點:
- 按一下各個容量選項,瞭解這對處理量有何影響。請將選項重設為「10 GB」。
-
展開「連線」專區。
-
選取「私人 IP」。
-
選取「網路」下拉式選單中的「預設」。
-
按一下隨即顯示的「設定連線」按鈕。
-
依序點選右側面板中的「啟用 API」、「使用系統自動分配的 IP 範圍」、「繼續」和「建立連線」。
-
按一下頁面底部的「建立執行個體」,建立資料庫執行個體。
按一下「Check my progress」,確認目標已達成。
工作 2:在虛擬機器中設定 Proxy
如果您的應用程式與 Cloud SQL 執行個體並非位於相同的虛擬私有雲連線網路和區域,請使用 Proxy 保護外部連線。
為設定 Proxy,您必須取得 Cloud SQL 執行個體的連線名稱。
-
在「導覽選單」 中,點選「Compute Engine」。
-
點選「wordpress-proxy」旁的「SSH」。
-
下載 Cloud SQL Proxy 並設為可以執行:
為啟動 Proxy,您必須取得 Cloud SQL 執行個體的連線名稱。不要關閉 SSH 視窗,返回 Cloud 控制台。
-
按一下導覽選單 () 中的「SQL」。
-
按一下 wordpress-db 執行個體,待名稱旁顯示綠色勾號即代表執行個體已可運作,這項作業可能需要幾分鐘才能完成。
-
請記下執行個體連線名稱,您會在後續步驟中使用這個名稱,屆時會稱為 [SQL_CONNECTION_NAME]。
-
另外,為了讓應用程式發揮作用,您必須建立資料表。按一下「資料庫」。
-
按一下「建立資料庫」、輸入應用程式預期的名稱「wordpress」,然後按一下「建立」。
-
返回 SSH 視窗,並在環境變數中儲存連線名稱,然後以您在前一個步驟中複製的不重複名稱取代 [SQL_CONNECTION_NAME]:
- 執行下列指令,確認環境變數是否已設定完成:
畫面中應會顯示連線名稱。
- 執行下列指令,啟動 Cloud SQL 資料庫的 Proxy 連線,並將處理程序傳送至背景:
預期的輸出內容如下:
- 按下 Enter 鍵。
按一下「Check my progress」,確認目標已達成。
工作 3:將應用程式連線至 Cloud SQL 執行個體
在這項工作中,您會將範例應用程式連線至 Cloud SQL 執行個體。
- 設定 WordPress 應用程式。為找出虛擬機器的外部 IP 位址,請查詢中繼資料:
-
在瀏覽器中前往 wordpress-proxy 外部 IP 位址,並設定 WordPress 應用程式。
-
點選「開始執行」。
-
指定下列屬性,並以您在建立機器時設定的密碼取代 [ROOT_PASSWORD],其餘設定則保留預設值:
屬性 | 值 |
---|---|
使用者名稱 | root |
密碼 | [ROOT_PASSWORD] |
資料庫主機 | 127.0.0.1 |
-
點選「提交」。
-
請在連線建立後按一下「執行安裝」,在 Cloud SQL 中將 WordPress 及其資料庫執行個體化。這項作業可能需要一些時間才能完成。
-
隨意填入示範網站資訊,然後按一下「安裝 WordPress」。您不需要記住或使用這些詳細資料。
- 畫面中出現「成功!」視窗之後,請前往網路瀏覽器的網址列,並移除 IP 位址後方的文字,然後按下 Enter 鍵。
接著,您就會看見運作正常的 WordPress 網誌!
工作 4:透過內部 IP 連線至 Cloud SQL
如果您的應用程式可以託管於 Cloud SQL 所在的區域和虛擬私有雲連線網路,即可使用私人 IP 提高設定的安全性與效能。
使用私人 IP 之後,您就可以透過內部 IP 建立專屬通訊,藉此降低延遲並提高效能,盡可能減少 Cloud SQL 執行個體的受攻擊面。
- 在 Cloud 控制台的導覽選單 () 中,按一下「SQL」。
- 按一下「wordpress-db」。
- 記下 Cloud SQL 伺服器的私人 IP 位址,屆時會稱為 [SQL_PRIVATE_IP]。
- 在「導覽選單」中,點選「Compute Engine」。
-
複製 wordpress-private-ip 的外部 IP 位址並貼到瀏覽器視窗,然後按下 Enter 鍵。
-
點選「開始執行」。
-
指定下列屬性,其餘設定請保持預設狀態:
屬性 | 值 |
---|---|
使用者名稱 | root |
密碼 | 輸入您在建立 Cloud SQL 執行個體時設定的 [ROOT_PASSWORD] |
資料庫主機 | [SQL_PRIVATE_IP] |
- 點選「提交」。
-
按一下「執行安裝」。
如果畫面中出現「已安裝!」視窗,即代表您的應用程式已透過私人 IP 連線至 Cloud SQL 伺服器。 -
前往網路瀏覽器的網址列,並移除 IP 位址後方的文字,然後按下 Enter 鍵。
接著,您就會看見運作正常的 WordPress 網誌!
工作 5:回顧
在這個研究室中,您建立了 Cloud SQL 資料庫並進行設定,讓資料庫透過安全的 Proxy 進行外部連線,且使用安全性與效能較高的私人 IP 位址。請記住,如要透過私人 IP 建立連線,應用程式與 Cloud SQL 伺服器必須位於同一區域和虛擬私有雲網路。如果應用程式託管於其他區域、虛擬私有雲,甚至是不同專案,則請使用 Proxy 保護外部連線。
瞭解如何在 Cloud SQL 中建立及設定資料庫後,現在來看看 Google Cloud SQL 和 Azure SQL 的相似與差異處。
相似處:
- Azure SQL 和 Google Cloud SQL 都是用來管理資料庫基礎架構,並提供執行個體、備份、更新和容錯移轉等功能。
- 您可以透過 Cloud SQL 和 Azure SQL 部署 Proxy,以安全接收來自虛擬私有雲外部的連線。
- 兩項服務都可透過連線字串來建立連線。
- 兩項服務都可以使用內部 IP 直接連結應用程式和 SQL Server 執行個體,前提是兩者必須位於相同的區域,並位於同一個虛擬私有雲網路。只使用內部 IP 位址有助於提升安全性,因為系統會阻擋所有公開連線。
差異處:
- 透過 Google Cloud 和 Azure 建立 SQL Server 時,考量的規格會有不同。若使用 Azure 服務,您需要在類別、DTU 和定義儲存空間中選擇。如為 Google Cloud 服務,您可以直接指定所需的 CPU 數量和儲存空間大小。
- Google Cloud 內建資料庫驗證機制 (使用者名稱 + 密碼),您也可以導入 Cloud SQL Auth Proxy 和 Cloud SQL 連接器資料庫,依據 IAM 提供存取權。而在 Azure 中,您可以運用連線原則來定義如何允許要求,透過「重新導向」(預設) 或「Proxy」連線原則來處理要求。您也能使用 Azure Active Directory 驗證功能。
- 在 Cloud Cloud 中,您將使用 Cloud SQL 連線至執行個體,主要方法有下列兩種:
- Cloud SQL Auth Proxy:有了這項安全通道,您就不需要採用授權網路或 SSL 等機制,驗證與授權將透過 Identity and Access Management (IAM) 和 OAuth 2.0 完成
- 私人 IP:在您的虛擬私有雲網路,或主要 Google 服務供應商的虛擬私有雲網路之間進行私人連線
關閉研究室
如果您已完成研究室,請按一下「End Lab」(關閉研究室)。Google Cloud Skills Boost 會移除您使用的資源,並清除所用帳戶。
您可以針對研究室的使用體驗評分。請選取合適的星級評等並提供意見,然後按一下「Submit」(提交)。
星級評等代表您的滿意程度:
- 1 星 = 非常不滿意
- 2 星 = 不滿意
- 3 星 = 普通
- 4 星 = 滿意
- 5 星 = 非常滿意
如果不想提供意見回饋,您可以直接關閉對話方塊。
如有任何想法、建議或指教,請透過「Support」(支援) 分頁提交。
Copyright 2022 Google LLC 保留所有權利。Google 和 Google 標誌是 Google LLC 的商標,其他公司和產品名稱則有可能是其關聯公司的商標。