arrow_back

導入 Cloud SQL (Azure)

登录 加入
欢迎加入我们的社区,一起测试和分享您的知识!
done
学习 700 多个动手实验和课程并获得相关技能徽章

導入 Cloud SQL (Azure)

实验 1 小时 30 分钟 universal_currency_alt 5 积分 show_chart 入门级
info This lab may incorporate AI tools to support your learning.
欢迎加入我们的社区,一起测试和分享您的知识!
done
学习 700 多个动手实验和课程并获得相关技能徽章

最近您受僱加入一間 IT 公司,這間公司的主要雲端服務供應商為 Google Cloud。身為 SQL 資料庫專家,您負責研究及採用 Google Cloud 提供的 SQL 服務,需要考量的主要面向包括:

  • 部署作業
  • 安全性
  • 應用程式整合
  • 連線方式

Azure 圖表 您在前一份工作中使用過 Azure,因此知道如何部署 SQL Server。定價模式是以可自訂的資料庫交易單位 (DTU) 為依據,並根據不同的使用情境提供各式定價選項。

您將在 Azure 中進行下列操作:

  • 導入 Proxy,確保使用者能安全連線至資料庫。
  • 使用 HTTP 負載平衡器維持應用程式資料庫的可用性。

您可以透過多種方式連線至先前部署的應用程式,包括:

  • 連線字串
  • 網頁應用程式服務整合功能
  • 在 Cloud SQL 中使用私人 IP 位址建立連線

現在您將學習如何使用 Cloud SQL 功能建構安全感知資料庫,並連結至應用程式。

總覽

在這個研究室中,您會設定 Cloud SQL 伺服器,並瞭解如何透過採用外部連線的 Proxy 將應用程式連結至伺服器。您也會設定使用私人 IP 連結的連線,藉此提高效能和安全性。我們選擇在這個研究室中展示的應用程式是「WordPress」,不過相關資訊和最佳做法適用於任何必須使用 SQL 伺服器的應用程式。

在這個研究室結束時,您會擁有 2 個運作正常的 WordPress 前端執行個體,這 2 個執行個體是透過 2 種連線連結至 WordPress 的 SQL 執行個體後端,如這張圖表所示:

SQL 研究室圖表

目標

在這個研究室中,您會瞭解如何執行下列工作:

  • 建立 Cloud SQL 資料庫
  • 設定虛擬機器執行 Proxy
  • 建立應用程式與 Cloud SQL 之間的連線
  • 使用私人 IP 位址將應用程式連線至 Cloud SQL

設定

在每個研究室中,您都能在固定時間內免付費建立新的 Google Cloud 專案,並使用一組資源。

  1. 請透過無痕式視窗登入 Qwiklabs。

  2. 請記下研究室的存取時間 (例如 1:15:00),並確保自己能在時間限制內完成作業。
    研究室不提供暫停功能。如有需要,您可以重新開始,但原先的進度恕無法保留。

  3. 準備就緒後,請按一下「Start lab」

  4. 請記下研究室憑證 (使用者名稱密碼),這組資訊將用於登入 Google Cloud 控制台。

  5. 按一下「Open Google Console」

  6. 按一下「Use another account」,然後複製這個研究室的憑證,並貼入提示訊息。
    如果使用其他憑證,系統會顯示錯誤或向您收取費用

  7. 接受條款,然後略過資源復原頁面。

工作 1:建立 Cloud SQL 資料庫

在這項工作中,您會依據 Google Cloud 最佳做法設定 SQL 伺服器,以及建立私人 IP 連線。

  1. 按一下導覽選單 (「導覽選單」圖示) 中的「SQL」
  2. 按一下「建立執行個體」。
  3. 按一下「選擇 MySQL」
  4. 指定下列屬性,其餘設定請保持預設狀態:
屬性
執行個體 ID wordpress-db
根密碼 輸入密碼
區域
可用區 不限
資料庫版本 MySQL 5.7
注意事項: 請記下根密碼,您會在後續步驟中使用這組密碼,屆時會稱為 [ROOT_PASSWORD]。
  1. 展開「顯示設定選項」

  2. 展開「機器類型」專區。

  3. 適量佈建 vCPU 和記憶體。點選下拉式選單並瀏覽選項,選取需要的機器類型

注意事項:以下列出幾個考量要點:

  • 共用核心的機器適合用於原型設計,而且不涵蓋在 Cloud SLA 中。
  • 每個 vCPU 的網路處理量效能上限為每秒 250 MB。每增加一個核心即可提高網路上限,理論上最多可以增加至每秒 2000 MB。
  • 以線上交易處理 (OLTP) 等講求效能的工作負載來說,基本原則為確保執行個體具備充足的記憶體保存整個工作集,並能容納所有有效連線。
    1. 在這個研究室中,請在下拉式選單中依序選取「標準」和「1 個 vCPU,3.75 GB」

    2. 接著,請展開「儲存空間」專區,並選取「儲存空間類型」和「儲存空間容量」

    注意事項:以下列出幾個考量要點:

  • 在多數用途中,SSD (固態硬碟) 是最佳選擇。HDD (一般硬碟) 的效能較低,但儲存空間費用相對低廉,因此較適合儲存不常存取且不需要極低延遲的資料。
  • 儲存空間容量與處理量有直接關係。
    1. 按一下各個容量選項,瞭解這對處理量有何影響。請將選項重設為「10 GB」。
    注意事項: 如果您設定的儲存空間容量過小,而且未啟用自動增加儲存空間的功能,執行個體可能會無法達到服務水準協議的保證。
    1. 展開「連線」專區。

    2. 選取「私人 IP」。

    3. 選取「網路」下拉式選單中的「預設」

    4. 按一下隨即顯示的「設定連線」按鈕。

    5. 依序點選右側面板中的「啟用 API」、「使用系統自動分配的 IP 範圍」、「繼續」和「建立連線」。

    6. 按一下頁面底部的「建立執行個體」,建立資料庫執行個體。

    注意事項: 您可能需要等待私人 IP 變更全面生效,才能點選「建立」按鈕

    按一下「Check my progress」,確認目標已達成。 建立 Cloud SQL 執行個體

    工作 2:在虛擬機器中設定 Proxy

    如果您的應用程式與 Cloud SQL 執行個體並非位於相同的虛擬私有雲連線網路和區域,請使用 Proxy 保護外部連線。

    為設定 Proxy,您必須取得 Cloud SQL 執行個體的連線名稱。

    注意事項: 這個研究室提供 2 個已預先設定 WordPress 及其依附元件的虛擬機器。只要按一下虛擬機器名稱,即可查看開機指令碼和服務帳戶存取權。請注意,我們採用最低權限原則,僅允許該 VM 的 SQL 存取權。我們也預先設定了網路標記和防火牆,允許任何主機中的通訊埠 80。
    1. 在「導覽選單」「導覽選單」圖示 中,點選「Compute Engine」

    2. 點選「wordpress-proxy」旁的「SSH」

    3. 下載 Cloud SQL Proxy 並設為可以執行:

    wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.amd64 -O cloud_sql_proxy && chmod +x cloud_sql_proxy

    為啟動 Proxy,您必須取得 Cloud SQL 執行個體的連線名稱。不要關閉 SSH 視窗,返回 Cloud 控制台。

    1. 按一下導覽選單 (「導覽選單」圖示) 中的「SQL」

    2. 按一下 wordpress-db 執行個體,待名稱旁顯示綠色勾號即代表執行個體已可運作,這項作業可能需要幾分鐘才能完成。

    3. 請記下執行個體連線名稱,您會在後續步驟中使用這個名稱,屆時會稱為 [SQL_CONNECTION_NAME]。

    4. 另外,為了讓應用程式發揮作用,您必須建立資料表。按一下「資料庫」

    5. 按一下「建立資料庫」、輸入應用程式預期的名稱「wordpress」,然後按一下「建立」

    6. 返回 SSH 視窗,並在環境變數中儲存連線名稱,然後以您在前一個步驟中複製的不重複名稱取代 [SQL_CONNECTION_NAME]:

    export SQL_CONNECTION=[SQL_CONNECTION_NAME]
    1. 執行下列指令,確認環境變數是否已設定完成:
    echo $SQL_CONNECTION

    畫面中應會顯示連線名稱。

    1. 執行下列指令,啟動 Cloud SQL 資料庫的 Proxy 連線,並將處理程序傳送至背景:
    ./cloud_sql_proxy -instances=$SQL_CONNECTION=tcp:3306 &

    預期的輸出內容如下:

    Listening on 127.0.0.1:3306 for [SQL_CONNECTION_NAME] Ready for new connections
    1. 按下 Enter 鍵。
    注意事項: Proxy 會監聽 127.0.0.1:3306 (localhost),以及透過安全通道安全地連線至 Cloud SQL 的 Proxy (使用機器的外部 IP 位址)。

    按一下「Check my progress」,確認目標已達成。 建立資料庫並在虛擬機器中設定 Proxy

    工作 3:將應用程式連線至 Cloud SQL 執行個體

    在這項工作中,您會將範例應用程式連線至 Cloud SQL 執行個體。

    1. 設定 WordPress 應用程式。為找出虛擬機器的外部 IP 位址,請查詢中繼資料:
    curl -H "Metadata-Flavor: Google" http://169.254.169.254/computeMetadata/v1/instance/network-interfaces/0/access-configs/0/external-ip && echo
    1. 在瀏覽器中前往 wordpress-proxy 外部 IP 位址,並設定 WordPress 應用程式。

    2. 點選「開始執行」

    3. 指定下列屬性,並以您在建立機器時設定的密碼取代 [ROOT_PASSWORD],其餘設定則保留預設值:

    屬性
    使用者名稱 root
    密碼 [ROOT_PASSWORD]
    資料庫主機 127.0.0.1
    注意: 您使用的資料庫 IP 是 127.0.0.1 (localhost),這是因為您啟動的 Proxy 會監聽這個位址,並將流量安全地重新導向至 SQL 伺服器。
    1. 點選「提交」

    2. 請在連線建立後按一下「執行安裝」,在 Cloud SQL 中將 WordPress 及其資料庫執行個體化。這項作業可能需要一些時間才能完成。

    3. 隨意填入示範網站資訊,然後按一下「安裝 WordPress」。您不需要記住或使用這些詳細資料。

    注意事項: WordPress 最多可能需要 3 分鐘才能安裝完畢,這是因為 WordPress 會將所有相關資料傳送至您的 SQL 伺服器。
    1. 畫面中出現「成功!」視窗之後,請前往網路瀏覽器的網址列,並移除 IP 位址後方的文字,然後按下 Enter 鍵。
      接著,您就會看見運作正常的 WordPress 網誌!

    工作 4:透過內部 IP 連線至 Cloud SQL

    如果您的應用程式可以託管於 Cloud SQL 所在的區域和虛擬私有雲連線網路,即可使用私人 IP 提高設定的安全性與效能。

    使用私人 IP 之後,您就可以透過內部 IP 建立專屬通訊,藉此降低延遲並提高效能,盡可能減少 Cloud SQL 執行個體的受攻擊面。

    1. 在 Cloud 控制台的導覽選單 (「導覽選單」圖示) 中,按一下「SQL」
    2. 按一下「wordpress-db」
    3. 記下 Cloud SQL 伺服器的私人 IP 位址,屆時會稱為 [SQL_PRIVATE_IP]。
    4. 在「導覽選單」中,點選「Compute Engine」
    備註: wordpress-private-ip 與 Cloud SQL 同樣位於 us-central1,因此您可以使用更安全的連線。
    1. 複製 wordpress-private-ip 的外部 IP 位址並貼到瀏覽器視窗,然後按下 Enter 鍵。

    2. 點選「開始執行」

    3. 指定下列屬性,其餘設定請保持預設狀態:

    屬性
    使用者名稱 root
    密碼 輸入您在建立 Cloud SQL 執行個體時設定的 [ROOT_PASSWORD]
    資料庫主機 [SQL_PRIVATE_IP]
    1. 點選「提交」
    注意事項: 請注意,您這次會直接連線至私人 IP,而非設定 Proxy。連線不會公開,這代表連線不會將流量輸出至網際網路,因此效能與安全性較高。
    1. 按一下「執行安裝」
      如果畫面中出現「已安裝!」視窗,即代表您的應用程式已透過私人 IP 連線至 Cloud SQL 伺服器。

    2. 前往網路瀏覽器的網址列,並移除 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 的商標,其他公司和產品名稱則有可能是其關聯公司的商標。

    This content is not currently available

    We will notify you via email, when it becomes available

    Great!

    We will contact you via email, if it becomes available