在單一 GCE VM 上部署 AlloyDB Omni

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 專案

  1. 在 Google Cloud 控制台的專案選擇器頁面中,選取或建立 Google Cloud 專案。
  2. 確認 Cloud 專案已啟用計費功能。瞭解如何檢查專案是否已啟用計費功能。

啟動 Cloud Shell

雖然您可以透過筆電遠端操作 Google Cloud,但在本程式碼研究室中,您將使用 Google Cloud Shell,這是雲端執行的指令列環境。

啟用 Cloud Shell 的圖示

  1. 開啟 Google Cloud 控制台,然後點選右上角工具列中的 Cloud Shell 圖示。您也可以透過下列任一方式開啟 Cloud Shell:

佈建並連至環境預計只需要幾分鐘,這項作業完成後,您會看到類似以下的內容:

Google Cloud Shell 終端機顯示環境已連線{: width="624"}

3. 建立 Compute Engine VM

在本節中,您將使用 gcloud 指令列工具建立單一 Compute Engine (GCE) 虛擬機器 (VM)。您使用與 AlloyDB Omni RPM 完全相容的 Rocky Linux 9 映像檔。

  1. 為專案 ID、VM 名稱、可用區和區域定義環境變數。
    export PROJECT="your-project-id"
    export INSTANCE_NAME="alloydb-omni-vm"
    export ZONE="us-central1-c"
    export REGION="us-central1"
    
  2. 使用 Google Cloud 帳戶使用者登入,並設定預設專案。
    gcloud auth login
    gcloud config set project $PROJECT
    
  3. 建立防火牆規則,允許連線至 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"
    
  4. 由於 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
    
  5. 確認虛擬私有雲網路具有有效的預設網際網路閘道路徑。在某些共用或遊樂區環境中,清理指令碼有時會移除預設路徑。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
    
  6. 建立符合規格的 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
    
  7. 建立 VM 後,請確認 VM 的狀態。
    gcloud compute instances list --filter="name=$INSTANCE_NAME" --project=$PROJECT
    

4. 準備 VM

在本節中,您將連線至新建立的 VM,並準備作業系統環境,包括設定資料目錄和設定 SELinux。

  1. 使用 Identity-Aware Proxy (IAP),透過 SSH 連線至 VM。由於 VM 沒有公開 IP 位址,gcloud 會自動透過 IAP 建立 SSH 連線通道。
    gcloud compute ssh $INSTANCE_NAME --zone=$ZONE --project=$PROJECT --tunnel-through-iap
    
  2. 在 VM 上定義資料目錄和 AlloyDB Omni 存放區網址的環境變數。將網址替換為註冊表單提供的網址。
    export PGDATA="/var/lib/alloydbomni"
    export ALLOYDB_OMNI_REPOSITORY_URL="..."
    
  3. 建立資料目錄,AlloyDB Omni 會將資料庫檔案儲存在這個目錄中。
    sudo mkdir -p $PGDATA
    
  4. 安裝 policycoreutils-python-utils 套件,以便設定 SELinux 政策,允許 AlloyDB Omni 資料庫服務正常運作。
    sudo dnf install -y policycoreutils-python-utils
    

5. 安裝 AlloyDB Omni

準備好 VM 後,您現在可以設定套件存放區,並安裝 AlloyDB Omni RPM 套件。

  1. 建立存放區設定檔,在 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
    
  2. 更新 YUM 快取,確保系統可辨識新的存放區。
    sudo yum makecache
    
    注意:在 AlloyDB Omni RPM 搶先版中,系統會在個別 RPM 層級驗證套件完整性。如要繼續設定 YUM 存放區,請設定 repo_gpgcheck=0。
  3. 安裝 AlloyDB Omni RPM 套件的 18 版。
    sudo dnf install -y alloydbomni18
    

6. 設定 AlloyDB Omni

安裝 RPM 套件後,您需要初始化、設定及啟動 AlloyDB Omni 資料庫服務。

  1. 為 PostgreSQL postgres 管理員使用者定義高強度密碼。
    export PGPASSWORD="YourStrongPassword123!"
    
  2. 初始化 AlloyDB Omni 資料庫執行個體。
    sudo PGPASSWORD=$PGPASSWORD PGDATA=$PGDATA /usr/lib/postgresql/18/bin/alloydbomni18-setup initdb
    
  3. 設定 SELinux 檔案內容,允許 AlloyDB Omni 服務在自訂資料目錄中讀取及寫入資料,然後還原正確的安全環境。
    sudo setenforce 0
    
  4. 準備 AlloyDB Omni 資料庫執行個體。
    sudo PGPASSWORD=$PGPASSWORD PGDATA=$PGDATA /usr/lib/postgresql/18/bin/alloydbomni18-setup preparedb
    
  5. (選用) 為獲得最佳 AlloyDB Omni 服務執行效能,請執行主機設定公用程式,自動設定建議的核心和記憶體設定。
    sudo /usr/lib/postgresql/18/bin/alloydbomni18-setup-host
    
  6. 啟用並啟動 AlloyDB Omni systemd 服務。
    sudo systemctl enable alloydbomni18
    sudo systemctl start alloydbomni18
    
  7. 確認 AlloyDB Omni 服務已啟用並順利執行。
    sudo systemctl status alloydbomni18
    
    確認輸出內容顯示 Active: active (running)。

7. 驗證 AlloyDB Omni

如要確認單一節點 AlloyDB Omni 資料庫是否正常運作,請使用套件隨附的標準 PostgreSQL 用戶端 (psql) 連線至資料庫。

  1. 以 postgres 使用者身分連線至本機資料庫執行個體。系統會提示您輸入先前設定的密碼。
    /usr/lib/postgresql/18/bin/psql -h localhost -U postgres -W
    
  2. 建立連線後,請執行基本 SQL 查詢,驗證資料庫伺服器版本,並確認 AlloyDB Omni 正在執行。
    postgres=# SELECT version();
    
    輸出結果會顯示 PostgreSQL 18 正在 AlloyDB Omni 中執行。
  3. 輸入 \q 即可退出 psql 提示。

8. 清理與問卷調查

完成程式碼研究室後,您可以清理 Google Cloud 資源,以免產生不必要的費用。

  1. 中斷與 VM 的 SSH 工作階段連線,返回本機 Cloud Shell 終端機。
    exit
    
  2. 刪除 Compute Engine VM 執行個體。
    gcloud compute instances delete $INSTANCE_NAME --zone=$ZONE --project=$PROJECT --quiet
    
  3. 刪除為 SSH 存取權建立的防火牆規則。
    gcloud compute firewall-rules delete allow-ssh-alloydb-omni --project=$PROJECT --quiet
    
  4. 刪除 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 總覽」。

10. 問卷調查

您會如何使用本教學課程?

僅閱讀內容 閱讀內容並完成練習