1. 簡介
本程式碼實驗室說明如何在單一 Google Compute Engine (GCE) 虛擬機器上部署 AlloyDB Omni。在本程式碼實驗室結束時,您將佈建執行 Rocky Linux 9 的單一 GCE VM,並使用官方 RPM 套件安裝 AlloyDB Omni。這部虛擬機器已預先安裝所有必要的開發工具,並提供永久的 20 GB 主目錄,而且可在 Google Cloud 運作,大幅提升網路效能並強化驗證功能。
必要條件
- 從 Cloud 控制台存取 Google Cloud 專案和 Cloud Shell。
- 已安裝並設定 Google Cloud SDK (
gcloud)。如要瞭解如何安裝 gcloud,請參閱 gcloud-install
課程內容
- 如何使用
gcloud建立及準備 GCE VM,以供 AlloyDB Omni 使用。 - 如何在單一 Linux 節點上安裝 AlloyDB Omni RPM。
- 如何啟動及設定 AlloyDB Omni。
- 如何驗證本機資料庫安裝作業。
軟硬體需求
- 取得 AlloyDB Omni RPM 的網址連結。連結會傳送至您的電子郵件,其中包含存放區網址伺服器。初始化下列環境變數,讓網址在程式碼研究室中隨時可用。
export ALLOYDB_OMNI_REPOSITORY_URL="..." - 可存取 Google Cloud 的終端機。您可以使用 Cloud Shell 達成這個目的。
2. 設定和需求條件
專案設定
建立 Google Cloud 專案
- 在 Google Cloud 控制台的專案選擇器頁面中,選取或建立 Google Cloud 專案。
- 確認 Cloud 專案已啟用計費功能。瞭解如何檢查專案是否已啟用計費功能。
啟動 Cloud Shell
雖然您可以透過筆電遠端操作 Google Cloud,但在本程式碼研究室中,您將使用 Google Cloud Shell,這是雲端執行的指令列環境。

- 開啟 Google Cloud 控制台,然後點選右上角工具列中的 Cloud Shell 圖示。您也可以透過下列任一方式開啟 Cloud Shell:
- 如果您使用 Google Cloud 控制台,請依序按下 G 和 S 鍵。
- 按一下這個連結。
佈建並連至環境預計只需要幾分鐘,這項作業完成後,您會看到類似以下的內容:
{: width="624"}
3. 建立 Compute Engine VM
在本節中,您將使用 gcloud 指令列工具建立單一 Compute Engine (GCE) 虛擬機器 (VM)。您使用與 AlloyDB Omni RPM 完全相容的 Rocky Linux 9 映像檔。
- 為專案 ID、VM 名稱、可用區和區域定義環境變數。
export PROJECT="your-project-id" export INSTANCE_NAME="alloydb-omni-vm" export ZONE="us-central1-c" export REGION="us-central1" - 使用 Google Cloud 帳戶使用者登入,並設定預設專案。
gcloud auth login gcloud config set project $PROJECT - 建立防火牆規則,允許連線至 VM 的 SSH 連線。
gcloud compute firewall-rules create allow-ssh-alloydb-omni \ --project=$PROJECT \ --direction=INGRESS \ --action=allow \ --rules=tcp:22 \ --source-ranges="0.0.0.0/0" - 由於 VM 是在沒有公用 IP 位址的情況下建立,請設定 Cloud Router 和 Cloud NAT 閘道,讓 VM 存取外部套件存放區並下載必要軟體。
gcloud compute routers create alloydb-omni-router \ --project=$PROJECT \ --network=default \ --region=$REGION gcloud compute routers nats create alloydb-omni-nat \ --project=$PROJECT \ --router=alloydb-omni-router \ --region=$REGION \ --nat-all-subnet-ip-ranges \ --auto-allocate-nat-external-ips - 確認虛擬私有雲網路具有有效的預設網際網路閘道路徑。在某些共用或遊樂區環境中,清理指令碼有時會移除預設路徑。Cloud NAT 必須有這條路徑,才能將傳出流量轉送至網際網路。
gcloud compute routes create default-internet-route \ --project=$PROJECT \ --network=default \ --destination-range=0.0.0.0/0 \ --next-hop-gateway=default-internet-gateway - 建立符合規格的 Compute Engine VM 執行個體 (16 個 vCPU、20 GB 的平衡型永久磁碟、Rocky Linux 9)。為提升安全性,我們使用
--no-address標記,確保 VM 未獲派公開 IP 位址。gcloud compute instances create $INSTANCE_NAME \ --project=$PROJECT \ --zone=$ZONE \ --machine-type=n2-highmem-16 \ --image-family=rocky-linux-9 \ --image-project=rocky-linux-cloud \ --boot-disk-size=20GB \ --boot-disk-type=pd-balanced \ --no-address - 建立 VM 後,請確認 VM 的狀態。
gcloud compute instances list --filter="name=$INSTANCE_NAME" --project=$PROJECT
4. 準備 VM
在本節中,您將連線至新建立的 VM,並準備作業系統環境,包括設定資料目錄和設定 SELinux。
- 使用 Identity-Aware Proxy (IAP),透過 SSH 連線至 VM。由於 VM 沒有公開 IP 位址,
gcloud會自動透過 IAP 建立 SSH 連線通道。gcloud compute ssh $INSTANCE_NAME --zone=$ZONE --project=$PROJECT --tunnel-through-iap - 在 VM 上定義資料目錄和 AlloyDB Omni 存放區網址的環境變數。將網址替換為註冊表單提供的網址。
export PGDATA="/var/lib/alloydbomni" export ALLOYDB_OMNI_REPOSITORY_URL="..." - 建立資料目錄,AlloyDB Omni 會將資料庫檔案儲存在這個目錄中。
sudo mkdir -p $PGDATA - 安裝
policycoreutils-python-utils套件,以便設定 SELinux 政策,允許 AlloyDB Omni 資料庫服務正常運作。sudo dnf install -y policycoreutils-python-utils
5. 安裝 AlloyDB Omni
準備好 VM 後,您現在可以設定套件存放區,並安裝 AlloyDB Omni RPM 套件。
- 建立存放區設定檔,在 VM 上設定 YUM 存放區。
sudo tee /etc/yum.repos.d/alloydbomni.repo << EOF [alloydbomni] name=alloydbomni baseurl=$ALLOYDB_OMNI_REPOSITORY_URL enabled=1 repo_gpgcheck=0 gpgcheck=1 gpgkey=https://dl.google.com/linux/linux_signing_key.pub EOF - 更新 YUM 快取,確保系統可辨識新的存放區。
注意:在 AlloyDB Omni RPM 搶先版中,系統會在個別 RPM 層級驗證套件完整性。如要繼續設定 YUM 存放區,請設定sudo yum makecacherepo_gpgcheck=0。 - 安裝 AlloyDB Omni RPM 套件的 18 版。
sudo dnf install -y alloydbomni18
6. 設定 AlloyDB Omni
安裝 RPM 套件後,您需要初始化、設定及啟動 AlloyDB Omni 資料庫服務。
- 為 PostgreSQL
postgres管理員使用者定義高強度密碼。export PGPASSWORD="YourStrongPassword123!" - 初始化 AlloyDB Omni 資料庫執行個體。
sudo PGPASSWORD=$PGPASSWORD PGDATA=$PGDATA /usr/lib/postgresql/18/bin/alloydbomni18-setup initdb - 設定 SELinux 檔案內容,允許 AlloyDB Omni 服務在自訂資料目錄中讀取及寫入資料,然後還原正確的安全環境。
sudo setenforce 0 - 準備 AlloyDB Omni 資料庫執行個體。
sudo PGPASSWORD=$PGPASSWORD PGDATA=$PGDATA /usr/lib/postgresql/18/bin/alloydbomni18-setup preparedb - (選用) 為獲得最佳 AlloyDB Omni 服務執行效能,請執行主機設定公用程式,自動設定建議的核心和記憶體設定。
sudo /usr/lib/postgresql/18/bin/alloydbomni18-setup-host - 啟用並啟動 AlloyDB Omni
systemd服務。sudo systemctl enable alloydbomni18 sudo systemctl start alloydbomni18 - 確認 AlloyDB Omni 服務已啟用並順利執行。
確認輸出內容顯示sudo systemctl status alloydbomni18Active: active (running)。
7. 驗證 AlloyDB Omni
如要確認單一節點 AlloyDB Omni 資料庫是否正常運作,請使用套件隨附的標準 PostgreSQL 用戶端 (psql) 連線至資料庫。
- 以
postgres使用者身分連線至本機資料庫執行個體。系統會提示您輸入先前設定的密碼。/usr/lib/postgresql/18/bin/psql -h localhost -U postgres -W - 建立連線後,請執行基本 SQL 查詢,驗證資料庫伺服器版本,並確認 AlloyDB Omni 正在執行。
輸出結果會顯示 PostgreSQL 18 正在 AlloyDB Omni 中執行。postgres=# SELECT version(); - 輸入
\q即可退出psql提示。
8. 清理與問卷調查
完成程式碼研究室後,您可以清理 Google Cloud 資源,以免產生不必要的費用。
- 中斷與 VM 的 SSH 工作階段連線,返回本機 Cloud Shell 終端機。
exit - 刪除 Compute Engine VM 執行個體。
gcloud compute instances delete $INSTANCE_NAME --zone=$ZONE --project=$PROJECT --quiet - 刪除為 SSH 存取權建立的防火牆規則。
gcloud compute firewall-rules delete allow-ssh-alloydb-omni --project=$PROJECT --quiet - 刪除 Cloud NAT 閘道和 Cloud Router。
gcloud compute routers nats delete alloydb-omni-nat --router=alloydb-omni-router --region=$REGION --project=$PROJECT --quiet gcloud compute routers delete alloydb-omni-router --region=$REGION --project=$PROJECT --quiet
9. 恭喜
恭喜您完成本程式碼研究室!您已成功在單一 Compute Engine 虛擬機器上部署及設定 AlloyDB Omni。
涵蓋內容
- 如何為 AlloyDB Omni 佈建及準備 Compute Engine VM。
- 如何設定 AlloyDB Omni 套件存放區,並安裝 RPM。
- 如何使用
systemd初始化、設定及管理 AlloyDB Omni 資料庫服務。 - 如何使用標準 PostgreSQL 工具驗證資料庫功能。
詳情請參閱「AlloyDB Omni 總覽」。