arrow_back

Google Cloud 基礎知識:開始使用 Cloud Storage 和 Cloud SQL

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

Google Cloud 基礎知識:開始使用 Cloud Storage 和 Cloud SQL

实验 1 小时 15 分钟 universal_currency_alt 5 积分 show_chart 入门级
info 此实验可能会提供 AI 工具来支持您学习。
欢迎加入我们的社区,一起测试和分享您的知识!
done
学习 700 多个动手实验和课程并获得相关技能徽章

總覽

本研究室會帶您建立 Cloud Storage 值區,並在其中放置圖片。接著您將設定在 Compute Engine 執行的應用程式,以透過 Cloud SQL 使用代管資料庫。在本研究室中,您會使用 PHP 來設定網路伺服器,PHP 是主流網誌軟體的基礎網路開發環境。在研究室以外,這些套件會以類似技術來設定。

您也將設定網路伺服器來參照 Cloud Storage 值區中的圖片。

目標

在本研究室中,您將瞭解如何執行下列工作:

  • 建立 Cloud Storage 值區,並將圖片放入其中。
  • 建立 Cloud SQL 執行個體並加以設定。
  • 從網路伺服器連線到 Cloud SQL 執行個體。
  • 在網頁上使用 Cloud Storage 值區中的圖片。

工作 1:登入 Google Cloud 控制台

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

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

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

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

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

  5. 按一下「Open Google Console」

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

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

工作 2:部署網路伺服器 VM 執行個體

  1. 在 Google Cloud 控制台的「導覽選單」圖示 「導覽選單」圖示 中,依序點按「Compute Engine」>「VM 執行個體」

  2. 點按「建立執行個體」

  3. 在「建立執行個體」頁面上,為「名稱」輸入 bloghost

  4. 針對「區域」和「可用區」,選擇 Qwiklabs 指派的區域和可用區。

  5. 接受「機器類型」的預設值。

  6. 在「開機磁碟」部分,如果「映像檔」並非顯示「Debian GNU/Linux 11 (bullseye)」,請按一下「變更」並選擇「Debian GNU/Linux 11 (bullseye)」

  7. 保留「身分及 API 存取權」的預設值。

  8. 在「防火牆」設定,點按「允許 HTTP 流量」

  9. 點按「進階選項」,在對話方塊中開啟該設定。

  10. 點按「管理」,在對話方塊中開啟該設定。

  11. 向下捲動到「自動化」區塊,輸入下列指令碼做為「開機指令碼」的值:

apt-get update apt-get install apache2 php php-mysql -y service apache2 restart 注意:請務必將這個指令碼輸至「開機指令碼」欄位,如果不小心輸入到其他欄位,VM 執行個體啟動時就不會執行這個指令碼。
  1. 保留其餘設定的預設值,然後按一下「建立」
注意:執行個體可能需要兩分鐘才會啟動並完整運作。
  1. 在「VM 執行個體」頁面,將 bloghost VM 執行個體的內部和外部 IP 位址複製到文字編輯器,在後續步驟中會使用到。

按一下「Check my progress」,確認目標已達成。 部署網路伺服器 VM 執行個體

工作 3:使用 gcloud 儲存空間指令列建立 Cloud Storage 值區

所有 Cloud Storage 值區名稱在全域範圍內都不可重複。如要確保值區名稱不同,可以依照下列操作說明,將值區名稱設為 Google Cloud 專案 ID (專案 ID 也是全域不重複的名稱)。

Cloud Storage 值區可與單一區域或多區域位置建立關聯,例如美國歐盟亞洲。在本活動中,您會把值區與最靠近 Qwiklabs 或講師指派區域和可用區的多區域建立關聯。

  1. 在「Google Cloud 控制台」右上角的工具列中,點按「啟用 Cloud Shell」圖示 「啟用 Cloud Shell」圖示。如果出現對話方塊,請點按「繼續」

  2. 為了方便起見,請將所選位置輸入環境變數 LOCATION 之中。請輸入下列其中一個指令:

export LOCATION=US

export LOCATION=EU

export LOCATION=ASIA
  1. 在 Cloud Shell 中,環境變數 DEVSHELL_PROJECT_ID 包含專案 ID。請輸入下列指令,將值區命名為專案 ID:
gcloud storage buckets create -l $LOCATION gs://$DEVSHELL_PROJECT_ID

如果出現提示訊息,請點按「授權」繼續操作。

  1. 從可公開存取的 Cloud Storage 位置擷取橫幅圖片:
gcloud storage cp gs://cloud-training/gcpfci/my-excellent-blog.png my-excellent-blog.png
  1. 將橫幅圖片複製到新建立的 Cloud Storage 值區:
gcloud storage cp my-excellent-blog.png gs://$DEVSHELL_PROJECT_ID/my-excellent-blog.png
  1. 為剛建立的物件修改存取控制清單 (ACL),允許所有使用者讀取:
gsutil acl ch -u allUsers:R gs://$DEVSHELL_PROJECT_ID/my-excellent-blog.png

按一下「Check my progress」,確認目標已達成。 使用 gcloud 儲存空間指令列建立 Cloud Storage 值區

工作 4:建立 Cloud SQL 執行個體

  1. 在 Google Cloud 控制台的「導覽選單」圖示 「導覽選單」圖示 中,點按「SQL」

  2. 點按「建立執行個體」

  3. 在「選擇資料庫引擎」設定,選取「選擇 MySQL」

  4. 在「執行個體 ID」欄位輸入 blog-db,並在「根密碼」欄位輸入您選擇的密碼。

注意:請選擇您會記得的密碼。密碼不需隱藏,因為您使用的連線機制不會開放給所有使用者存取。
  1. 在「選擇 Cloud SQL 版本」設定,點按「Enterprise」,然後從下拉式選單選取「沙箱」

  2. 選擇「單一可用區」,並設定 Qwiklabs 指派的區域和可用區。

注意:這和啟動 bloghost 執行個體的區域和可用區相同。當用戶端和資料庫距離相近,才能達到最佳效能。
  1. 點按「建立執行個體」
注意:請等待執行個體完成部署,這可能需要幾分鐘。
  1. 點按執行個體的名稱 blog-db,即可開啟詳細資料頁面。

  2. 從 SQL 執行個體詳細資料頁面,將 SQL 執行個體的「公開 IP 位址」複製到文字編輯器,在後續步驟中會使用到。

  3. 依序點按左側的「使用者」選單和「新增使用者帳戶」

  4. 在「使用者名稱」欄位輸入 blogdbuser

  5. 在「密碼」部分輸入您選擇的密碼,並記下來。

  6. 點按「新增」,將使用者帳戶加入資料庫。

注意:請等待使用者建立完成。
  1. 依序點按左側的「連線」選單和「網路」分頁。

  2. 點按「新增網路」

注意:如果出現「私人 IP」和「公開 IP」連線選項,請選擇本研究室所需的「公開 IP」 注意:如果使用者帳戶尚未建立完成,「新增網路」按鈕可能會無法使用。
  1. 在「名稱」欄位輸入 web front end

  2. 在「網路」中輸入 bloghost VM 執行個體的外部 IP 位址,並在後方加上 /32

結果應類似於下方示例:

35.192.208.2/32 注意:務必使用 VM 執行個體的外部 IP 位址,並於後方加上 /32。請勿使用 VM 執行個體的內部 IP 位址,也不要使用這裡顯示的範例 IP 位址。
  1. 按一下「完成」,以完成設定授權網路。

  2. 按一下「儲存」,以儲存設定變更內容。

注意:如果出現「正在處理另一項作業」等訊息,請等待幾分鐘,看見 blog-db 出現綠色勾號後再儲存設定。

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

工作 5:在 Compute Engine 執行個體設定應用程式以使用 Cloud SQL

  1. 在「導覽選單」圖示 「導覽選單」圖示 中,依序點選「Compute Engine」>「VM 執行個體」

  2. 在 VM 執行個體清單上,按一下 VM 執行個體 bloghost 該列的「SSH」

  3. bloghost 的 SSH 工作階段,將工作目錄變更為網路伺服器的文件根目錄:

cd /var/www/html
  1. 使用 nano 文字編輯器來編輯 index.php 檔案:
sudo nano index.php
  1. 將以下內容貼入檔案中:
<html> <head><title>Welcome to my excellent blog</title></head> <body> <h1>Welcome to my excellent blog</h1> <?php $dbserver = "CLOUDSQLIP"; $dbuser = "blogdbuser"; $dbpassword = "DBPASSWORD"; // In a production blog, we would not store the MySQL // password in the document root. Instead, we would store it in a // configuration file elsewhere on the web server VM instance. $conn = new mysqli($dbserver, $dbuser, $dbpassword); if (mysqli_connect_error()) { echo ("Database connection failed: " . mysqli_connect_error()); } else { echo ("Database connection succeeded."); } ?> </body></html> 注意:在後續步驟中,您會在這個檔案插入 Cloud SQL 執行個體的 IP 位址和資料庫密碼,但現在請不要修改這個檔案。
  1. 依序按下 Ctrl+OEnter 鍵,來儲存編輯過的檔案。

  2. 按下 Ctrl+X 鍵,退出 nano 文字編輯器。

  3. 重新啟動網路伺服器:

sudo service apache2 restart
  1. 開啟新的網路瀏覽器分頁,在網址列貼上 bloghost VM 執行個體的外部 IP 位址,並在 IP 位址後方加上 /index.php。網址應類似於以下示例:
35.192.208.2/index.php 注意:務必使用 VM 執行個體的外部 IP 位址,並在後方加上 /index.php。請勿使用 VM 執行個體的內部 IP 位址,也不要使用這裡顯示的範例 IP 位址。

載入頁面時,您會看到頁面內容包含錯誤訊息,且訊息開頭為:

Database connection failed: ... 注意:因為您尚未設定 PHP 和 Cloud SQL 執行個體之間的連線,才會出現這個訊息。
  1. 請返回 bloghost 的 SSH 工作階段。再次使用 nano 文字編輯器來編輯 index.php
sudo nano index.php
  1. nano 文字編輯器,將 CLOUDSQLIP 替換成您先前記下的 Cloud SQL 執行個體公開 IP 位址。請保留值的引號。

  2. nano 文字編輯器,將 DBPASSWORD 替換成您在上述步驟定義的 Cloud SQL 資料庫密碼。請保留值的引號。

  3. 依序按下 Ctrl+OEnter 鍵,來儲存編輯過的檔案。

  4. 按下 Ctrl+X 鍵,退出 nano 文字編輯器。

  5. 重新啟動網路伺服器:

sudo service apache2 restart
  1. 返回用來開啟 bloghost VM 執行個體外部 IP 位址的網路瀏覽器分頁。載入頁面時,會出現以下訊息:
Database connection succeeded. 注意:在實際的網誌中,網誌訪客不會看到資料庫連線狀態,只有系統管理員能管理資料庫連線。

工作 6:在 Compute Engine 執行個體中設定應用程式,以使用 Cloud Storage 物件

  1. 在 Google Cloud 控制台中,依序點按「Cloud Storage」>「值區」

  2. 點按根據 GCP 專案命名的值區。

  3. 值區中有一個 my-excellent-blog.png 物件。請在這個物件的「公開存取權」欄,複製「連結」圖示後方的網址。若出現「公開連結」等字詞,則網址可能在這些字詞後方。

注意:如果沒有看到「連結」圖示或「公開連結」一詞,請嘗試重新整理瀏覽器。如果仍然沒有看到「連結」圖示,請返回 Cloud Shell,確認您已成功透過 gsutil acl ch 指令變更物件的存取控制清單 (ACL)。
  1. 返回 bloghost VM 執行個體的 SSH 工作階段。

  2. 輸入下列指令,將工作目錄變更為網路伺服器的文件根目錄:

cd /var/www/html
  1. 使用 nano 文字編輯器來編輯 index.php
sudo nano index.php
  1. 使用方向鍵,將游標移到含有 h1 元素的該行程式碼。按下 Enter 鍵來開啟新的空白行,並將先前複製的網址貼入該行。

  2. 在網址前方貼上以下 HTML 標記:

<img src='
  1. 在網址尾端放置一個右單引號和右尖括號:
'>

結果應類似於以下示例:

<img src='https://storage.googleapis.com/qwiklabs-gcp-0005e186fa559a09/my-excellent-blog.png'>

這些步驟的作用是將 <img src='...'> 該行放在 <h1>...</h1> 該行前方。

注意:請勿複製這裡顯示的網址。請在您的 Cloud Platform 專案中,複製 Cloud Storage 瀏覽器顯示的網址。
  1. 依序按下 Ctrl+OEnter 鍵,來儲存編輯過的檔案。

  2. 按下 Ctrl+X 鍵,退出 nano 文字編輯器。

  3. 重新啟動網路伺服器:

sudo service apache2 restart
  1. 返回用來開啟 bloghost VM 執行個體外部 IP 位址的網路瀏覽器分頁。載入頁面時,現在的頁面內容會包含橫幅圖片。

恭喜!

在本研究室中,您設定了 Cloud SQL 執行個體,並連線到 Compute Engine 執行個體上的應用程式。此外,您也使用了 Cloud Storage 值區。

關閉研究室

如果您已完成研究室,請按一下「End Lab」(關閉研究室)。Google Cloud Skills Boost 會移除您使用的資源,並清除所用帳戶。

您可以針對研究室的使用體驗評分。請選取合適的星級評等並提供意見,然後按一下「Submit」(提交)

星級評等代表您的滿意程度:

  • 1 星 = 非常不滿意
  • 2 星 = 不滿意
  • 3 星 = 普通
  • 4 星 = 滿意
  • 5 星 = 非常滿意

如果不想提供意見回饋,您可以直接關閉對話方塊。

如有任何想法、建議或指教,請透過「Support」(支援) 分頁提交。

Copyright 2022 Google LLC 保留所有權利。Google 和 Google 標誌是 Google LLC 的商標,其他公司和產品名稱則有可能是其關聯公司的商標。

其他資源

請參閱「Google Cloud Platform 的 Cloud SQL 說明文件」。

請參閱「Google Cloud Platform 的 Cloud Storage 說明文件」。

827b33e18db55754.png

此内容目前不可用

We will notify you via email when it becomes available

太好了!

We will contact you via email if it becomes available