使用單一專案建立 App Hub 應用程式


透過 App Hub 應用程式,您可以使用 App Hub 管理及查看專案中的基礎架構資源。 Google Cloud 如要建立這些 App Hub 應用程式,您需要 App Hub 主專案,並將含有資源的服務專案附加至該主專案。 Google Cloud

本教學課程說明如何在單一專案中設定 App Hub 應用程式,做為 App Hub 主機和服務專案。在服務專案中,您會部署負載平衡管理執行個體群組 (MIG),並將服務專案附加至 App Hub 主專案。接著,在 App Hub 主專案的應用程式中,將服務專案的所有基礎架構資源註冊為 App Hub 服務和工作負載,並加以監控。

本教學課程的適用對象為設定及管理 App Hub 的人員。您應具備 Cloud Load Balancing 的相關經驗。

目標

本教學課程將說明如何完成下列工作:

  1. 建立或選取 Google Cloud 專案。這個專案是您的 App Hub 主專案和服務專案。在這個專案中啟用 App Hub API。
  2. 在這個專案中,請使用 Terraform 部署虛擬私有雲網路、區域外部應用程式負載平衡器,以及負載平衡器的代管執行個體群組後端。區域性外部應用程式負載平衡器包含下列資源:

    • HTTP 健康狀態檢查
    • 轉送規則
    • 網址對應
    • 目標 Proxy
    • 後端服務,後端為代管執行個體群組
    • SSL 憑證 (適用於 HTTPS)

    只有轉送規則、網址對應、後端服務和 MIG 會在 App Hub 上以「已探索」資源的形式提供。詳情請參閱概念和資料模型

  3. 為這個專案提供適當的角色和權限,做為應用程式中心主專案。

  4. 將 App Hub 主專案附加為 App Hub 服務專案,即可從服務專案探索資源,並將其視為探索到的服務和工作負載。 Google Cloud

  5. 在 App Hub 主專案中建立區域 App Hub 應用程式。

  6. 在 App Hub 應用程式中註冊探索到的服務和服務專案中的工作負載,並指派屬性。

  7. 在 App Hub 查看已註冊的服務和工作負載詳細資料。

費用

如要估算負載平衡代管 VM 解決方案使用的 Google Cloud 資源費用,請參閱 Google Cloud Pricing Calculator 中的預先計算估價。

您可以根據估算結果,計算部署作業的費用。您可以修改預估值,反映您打算對解決方案中使用的資源進行的任何設定變更。

預先計算的預估值是根據特定因素的假設而得,包括:

  • 資源的部署位置。 Google Cloud
  • 資源的使用時間長度。

如要進一步瞭解 App Hub 費用,請參閱定價頁面。

事前準備

如果您是專案建立者,系統會授予基本擁有者角色 (roles/owner)。根據預設,這個身分與存取權管理 (IAM) 角色包含的權限,可讓您完整存取大部分的 Google Cloud資源。

如果您不是專案建立者,必須在專案中將必要權限授予適當的主體。舉例來說,主體可以是 Google 帳戶 (適用於使用者) 或服務帳戶 (適用於應用程式和工作負載)。 <0x0

如要取得完成本教學課程所需的權限,請要求管理員為您授予專案的下列 IAM 角色:

如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。

您或許還可透過自訂角色或其他預先定義的角色取得必要權限。

控制台

  1. 前往 Google Cloud 控制台的專案選取器頁面。

    前往專案選取器

  2. 選取或建立 Google Cloud 專案,做為 App Hub 主專案。

  3. Enable the App Hub, Cloud Resource Manager, Compute Engine, Infrastructure Manager, and Service Usage APIs.

    Enable the APIs

gcloud

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  2. 確認已安裝最新版 Google Cloud CLI。在 Cloud Shell 中執行下列指令:

      gcloud components update

  3. 建立或選取新專案 (HOST_PROJECT_ID),做為 App Hub 的主機專案。

    • 建立 Google Cloud 專案:

      gcloud projects create HOST_PROJECT_ID
    • 選取您建立的 Google Cloud 專案:

      gcloud config set project HOST_PROJECT_ID
  4. 啟用 App Hub、Cloud Resource Manager、Compute Engine、Infrastructure Manager 和 Service Usage API:

    gcloud services enable apphub.googleapis.com \
       cloudresourcemanager.googleapis.com \
       compute.googleapis.com \
       config.googleapis.com \
       serviceusage.googleapis.com

準備環境

為協助您輕鬆部署這項解決方案,GitHub 提供 Terraform 設定。Terraform 設定會定義解決方案所需的所有Google Cloud 資源。從 GitHub 下載 Terraform 設定,視需要自訂程式碼,然後使用 Terraform CLI 部署解決方案。部署解決方案後,您可以繼續使用 Terraform 管理解決方案。

App Hub 工作負載和服務,以及負載平衡器和代管執行個體群組。
圖 1:App Hub 工作負載和服務,以及負載平衡器和代管執行個體群組。

以下是負載平衡代管 VM 解決方案部署的拓撲要求處理流程。

  1. 使用者向部署於 Compute Engine 的應用程式發出要求。Cloud Load Balancing 會收到這項要求。

  2. Cloud Load Balancing 會使用轉送規則、網址對應和後端服務中的資訊,將流量轉送至 Compute Engine 代管執行個體群組。

設定 Terraform 用戶端

您可以在 Cloud Shell 或本機主機中執行 Terraform。本教學課程說明如何在 Cloud Shell 中執行 Terraform。Cloud Shell 已預先安裝 Terraform,並設定為透過 Google Cloud進行驗證。

您可以在 GitHub 存放區中找到此解決方案的 Terraform 程式碼。

  1. 在 Cloud Shell 中,將 GitHub 存放區複製到 Cloud Shell。

    git clone https://github.com/terraform-google-modules/terraform-docs-samples
    
  2. 在 Cloud Shell 中,檢查目前的工作目錄是否為 terraform-docs-samples/lb/regional_external_http_load_balancer。這個目錄包含解決方案的 Terraform 設定檔。如要變更為該目錄,請執行下列指令:

    cd terraform-docs-samples/lb/regional_external_http_load_balancer 
    
  3. 執行下列指令來初始化 Terraform:

    terraform init
    

    等待系統顯示下列訊息:

    Terraform has been successfully initialized!
    

驗證及檢查 Terraform 設定

  1. 確認目前的工作目錄為 terraform-docs-samples/lb/regional_external_http_load_balancer。如果不是,請前往該目錄。

  2. 確認 Terraform 設定沒有錯誤:

    terraform validate
    

    如果指令傳回任何錯誤,請在設定中進行必要修正,然後再次執行 terraform validate 指令。重複這個步驟,直到指令傳回以下訊息為止:

    Success! The configuration is valid.
    
  3. 查看設定中定義的資源:

    terraform plan
    

    terraform plan 指令的輸出內容是資源清單,列出您套用設定時,Terraform 會佈建的資源。

    如要進行任何變更,請編輯設定,然後再次執行 terraform validateterraform plan 指令。

佈建資源

確認 Terraform 設定不需要進一步變更後,即可部署資源。

  1. 確認目前的工作目錄為 terraform-docs-samples/lb/regional_external_http_load_balancer。如果不是,請前往該目錄。

  2. 套用 Terraform 設定:

    terraform apply
    

    Terraform 會顯示即將建立的資源清單。

  3. 系統提示您執行動作時,請輸入 yes

    Terraform 會顯示訊息,說明部署進度。

    如果無法完成部署作業,Terraform 會顯示導致失敗的錯誤。請查看錯誤訊息並更新設定,修正錯誤。然後再次執行 terraform apply 指令。

    建立所有資源後,Terraform 會顯示下列訊息:

    Apply complete!
    

等待 Terraform 顯示「Apply complete!」訊息。

Cloud Load Balancing 會將流量分配至轉送規則、網址對應、後端服務和 Compute Engine MIG。後端服務、網址對應和轉送規則會成為 App Hub 主機專案中探索到的服務。Compute Engine MIG 會成為 App Hub 主專案中探索到的工作負載。

不再需要解決方案時,您可以刪除部署作業,避免 Google Cloud 資源持續產生費用。詳情請參閱「刪除部署項目」一文。

授予 IAM 權限

為應用程式中樞主專案提供適當的 IAM 角色和權限。

控制台

如要取得完成本教學課程所需的權限,請要求管理員授予您專案的必要 IAM 角色:

  1. 前往 Google Cloud 控制台的「IAM」頁面。

    前往「身分與存取權管理」頁面

  2. 按一下「授予存取權」。 「授予存取權」窗格隨即開啟。

  3. 在「New principals」(新增主體) 欄位中,輸入將管理應用程式中心的個人電子郵件地址,也就是主機專案中的「App Hub Admin」(應用程式中心管理員) 角色。

  4. 按一下「選取角色」,然後在「篩選器」欄位中輸入 App Hub

  5. 選取「App Hub 管理員」角色。

  6. 按一下「新增其他角色」,然後從「請選擇角色」清單中,選取「Monitoring 檢視者」

  7. 按一下 [儲存]

gcloud

  1. 如要將角色授予使用 App Hub 的個人,請視需要重複執行下列指令,並替換 IAM 角色。詳情請參閱「應用程式中心角色和權限」。

    gcloud projects add-iam-policy-binding HOST_PROJECT_ID \
        --member='user:HOST_PROJECT_ADMIN' \
        --role='roles/apphub.admin'

    HOST_PROJECT_ADMIN 替換為在主專案中具有 App Hub 管理員角色的使用者。這個值的格式為 username@yourdomain,例如 222larabrown@gmail.com

  2. 在服務專案中,將 App Hub 管理員角色授予管理 App Hub 的人員。他們必須具備 App Hub 管理員角色,才能將服務專案新增至主專案。每個服務專案至少需要一位具有這項角色的使用者。在本範例中,主專案會做為服務專案。

    gcloud projects add-iam-policy-binding SERVICE_PROJECT_ID \
       --member='user:HOST_PROJECT_ADMIN' \
       --role='roles/apphub.admin'

    SERVICE_PROJECT_ID 替換為 HOST_PROJECT_ID 的名稱。

  3. 在主專案中,將監控檢視者角色授予管理 App Hub 的個人。他們必須具備主機專案的 Monitoring 檢視者角色,才能查看指標。

    gcloud projects add-iam-policy-binding SERVICE_PROJECT_ID \
       --member='user:HOST_PROJECT_ADMIN' \
       --role='roles/monitoring.viewer'

附加服務專案

服務專案是 Google Cloud 包含基礎架構資源的專案,您可以向 App Hub 應用程式註冊這些資源。詳情請參閱服務專案。在本教學課程中,由於我們只有一個專案,請將部署資源的專案附加為 App Hub 服務專案。

控制台

  1. 前往 Google Cloud 控制台的 App Hub「Settings」(設定) 頁面。

    前往「設定」

  2. 在「設定」頁面中,按一下「附加專案」

  3. 在開啟的窗格中,從顯示的清單中搜尋專案,然後選取 App Hub 服務專案的核取方塊。

  4. 按一下「選取」。 「Attached Service Project(s)」(已附加的服務專案) 表格會將所選主專案顯示為服務專案。

  5. 按一下 [關閉]

gcloud

將主專案新增為 App Hub 主專案的服務專案。

gcloud apphub service-projects add HOST_PROJECT_ID \
  --project=HOST_PROJECT_ID

將服務專案附加至 App Hub 主專案後,您就能查看附加服務專案中的所有 Google Cloud 資源,這些資源會顯示為已探索的 App Hub 服務和工作負載。如要進一步瞭解如何查看這些探索到的服務和工作負載,請參閱查看現有應用程式、服務和工作負載

建立應用程式

建立應用程式,做為服務和工作負載的容器。建立應用程式時,您可以指派不可變更的屬性,例如要註冊資源的範圍類型或位置,以及重要性和環境等變數屬性。您可以使用變數屬性篩選應用程式。詳情請參閱「屬性和屬性」。

在本教學課程中,您會建立「區域」應用程式,管理特定區域的資源。如果已附加 App Hub 服務專案,且專案中有部署至全球或多個區域的 Google Cloud 資源,您可以建立「全球」應用程式並註冊這些資源。如要進一步瞭解如何建立全球應用程式,請參閱「設定 App Hub」。

控制台

  1. 確認您位於 App Hub 主機專案中。
  2. 前往 Google Cloud 控制台的 App Hub「Applications」頁面。

    前往「Applications」(應用程式)

  3. 按一下「建立應用程式」

  4. 在「建立應用程式」頁面的「選擇應用程式區域和名稱」窗格中,選取「區域性」

  5. 在「Region」(區域) 清單中選取「us-west1」

  6. 在「Application name」(應用程式名稱) 欄位中,輸入 tutorial-application。這個名稱是專屬 ID,應用程式建立後即無法變更。

  7. 輸入「顯示名稱」Tutorial,然後按一下「繼續」。這是方便使用者辨識的名稱,您可以更新。詳情請參閱「更新現有應用程式」。

  8. 在「新增屬性」窗格中,從「重要性」清單選取「高」重要性是指應用程式、服務或工作負載對業務運作的重要性。

  9. 在「Environment」(環境) 欄位中,選取「Production」(正式版),指出軟體生命週期的階段。

  10. 按一下「繼續」

  11. 在「新增擁有者」窗格中,新增「開發人員擁有者」、「營運部門擁有者」和「業務部門擁有者」的詳細資料。 請注意,如果新增顯示名稱,必須輸入擁有者的電子郵件地址。

    1. 輸入擁有者的顯示名稱。
    2. 輸入擁有者的電子郵件地址。這個值必須採用 username@yourdomain 格式,例如 222larabrown@gmail.com
  12. 針對每位開發人員、營運人員和企業主重複執行這些步驟。

  13. 點選「建立」

系統會建立新應用程式,並列在「Applications」頁面中。 請注意,只有轉送規則、網址對應、後端服務和受管理執行個體群組 (MIG) 會在 App Hub 應用程式中顯示為探索到的資源。詳情請參閱概念和資料模型

gcloud

  1. 選取您建立的 App Hub 主專案:

    gcloud config set project HOST_PROJECT_ID
  2. us-west1 區域中建立名為 tutorial-application 的新應用程式,並將顯示名稱設為 Tutorial。這個應用程式名稱是專屬 ID,應用程式建立後就無法變更。tutorial-application顯示名稱Tutorial 是方便使用者辨識的名稱,您可以更新。詳情請參閱「更新現有應用程式」。

    gcloud apphub applications create tutorial-application \
        --display-name='Tutorial' \
        --scope-type=REGIONAL \
        --project=HOST_PROJECT_ID \
        --location=us-west1
    
  3. 列出 App Hub 主專案中的應用程式:

    gcloud apphub applications list \
        --project=HOST_PROJECT_ID \
        --location=us-west1
    

    畫面會顯示類似以下內容的輸出:

    ID                    DISPLAY_NAME  CREATE_TIME
    tutorial-application  Tutorial      2023-10-31T18:33:48
    
  4. 使用 criticality-typeenvironment-type 和擁有者屬性更新應用程式:

    gcloud apphub applications update tutorial-application \
      --criticality-type='HIGH' \
      --environment-type='PRODUCTION' \
      --developer-owners=display-name=DISPLAY-NAME-DEVELOPER,email=EMAIL-DEVELOPER \
      --operator-owners=display-name=DISPLAY-NAME-OPERATOR,email=EMAIL-OPERATOR \
      --business-owners=display-name=DISPLAY-NAME-BUSINESS,email=EMAIL-BUSINESS \
      --project=HOST_PROJECT_ID \
      --location=us-west1
    

    更改下列內容:

    • DISPLAY-NAME-DEVELOPERDISPLAY-NAME-OPERATORDISPLAY-NAME-BUSINESS:分別是開發人員、營運者和企業主的顯示名稱。
    • EMAIL-NAME-DEVELOPEREMAIL-NAME-OPERATOREMAIL-NAME-BUSINESS:分別是開發人員、營運人員和企業主的電子郵件地址。這些值必須採用 username@yourdomain 格式,例如 222larabrown@gmail.com

    注意:

    • criticality-type:指出應用程式、服務或工作負載對業務營運的重要性。
    • environment-type:表示軟體生命週期的各個階段。
  5. 取得您建立的應用程式詳細資料:

    gcloud apphub applications describe tutorial-application \
      --project=HOST_PROJECT_ID \
      --location=us-west1
    

    指令會以 YAML 格式傳回資訊,類似於下列內容:

    attributes:
    businessOwners:
    – displayName: [DISPLAY-NAME-BUSINESS]
      email: [EMAIL-BUSINESS]
    criticality:
      type: HIGH
    developerOwners:
    – displayName: [DISPLAY-NAME-DEVELOPER]
      email: [EMAIL-DEVELOPER]
    environment:
      type: PRODUCTION
    operatorOwners:
    – displayName: [DISPLAY-NAME-OPERATOR]
      email: [EMAIL-OPERATOR]
    createTime: '2023-10-31T18:33:48.199394108Z'
    displayName: Tutorial
    name: projects/HOST_PROJECT_ID/locations/us-west1/applications/tutorial-application
    scope:
      type: REGIONAL
    state: ACTIVE
    uid: 9d991a9d-5d8a-4c0d-b5fd-85e39fb58c73
    updateTime: '2023-10-31T18:33:48.343303819Z'
    

註冊服務和工作負載

註冊服務和工作負載後,這些項目就會新增至應用程式,方便您監控新增的資源。

控制台

  1. 前往 Google Cloud 控制台的 App Hub「Applications」頁面。

    前往「Applications」(應用程式)

  2. 按一下應用程式名稱「Tutorial」。 系統會顯示「服務和工作負載」分頁,並列出 App Hub 服務專案中已註冊的服務和工作負載。

  3. 註冊服務:

    1. 在「服務和工作負載」分頁中,按一下「註冊服務/工作負載」
    2. 在「Register service or workload」(註冊服務或工作負載) 頁面的「Select resource」(選取資源) 窗格中,按一下「Browse」(瀏覽),選取服務或工作負載做為「Resource」(資源)
    3. 在「Select resource」(選取資源) 窗格中,選擇服務的「Name」(名稱)「l7-xlb-backend-service」,然後按一下「Select」(選取)
    4. 在「選取資源」窗格中,輸入資源的「名稱」tutorial-service-backend
    5. 輸入「顯示名稱」Backend service,然後按一下「繼續」
    6. 在「新增屬性」窗格的「重要性」清單中,選取「高」,指出應用程式的重要性。
    7. 在「Environment」(環境) 欄位中,選取「Production」(正式版),指出軟體生命週期的階段。
    8. 按一下「繼續」
    9. 在「新增擁有者」窗格中,視需要新增開發人員擁有者營運部門擁有者業務部門擁有者的詳細資料。 請注意,如果新增顯示名稱,必須輸入擁有者的電子郵件地址。
      1. 輸入擁有者的顯示名稱。
      2. 輸入擁有者的電子郵件地址。這個值必須採用 username@yourdomain 格式,例如 222larabrown@gmail.com
    10. 針對每位開發人員、營運人員和企業主重複執行這些步驟。
    11. 按一下「註冊」

    在「服務和工作負載」分頁的「已註冊的服務和工作負載」部分,您會看到新增的服務。

  4. 重複上述步驟,將其他服務分別註冊為 tutorial-service-forwarding-ruletutorial-service-url-map

  5. 重複先前的服務註冊步驟來註冊工作負載,但有以下例外狀況:

    1. 在「Register service or workload」(註冊服務或工作負載) 窗格的「Choose service or workload」(選擇服務或工作負載) 專區中,選取工作負載的「Name」(名稱),即「l7-xlb-backend-example」,然後按一下「Continue」(繼續)
    2. 在「選取資源」窗格中,輸入資源的「名稱」tutorial-workload-mig
    3. 輸入「顯示名稱」Workload instance group,然後按一下「繼續」。 在「服務和工作負載」分頁的「已註冊的服務和工作負載」部分,您會看到新增的工作負載。

gcloud

  1. 新增具有 App Hub 編輯器權限的個人:

    gcloud projects add-iam-policy-binding HOST_PROJECT_ID \
      --member='user:APP_HUB_EDITOR' \
      --role='roles/apphub.editor'
    

    APP_HUB_EDITOR 替換為在應用程式中樞主機專案中具有應用程式中樞編輯者角色的使用者。這個值的格式為 username@yourdomain,例如 222larabrown@gmail.com

  2. 列出 App Hub 主專案中所有探索到的服務。這個指令會傳回可註冊至應用程式的服務。

    gcloud apphub discovered-services list \
        --project=HOST_PROJECT_ID \
        --location=us-west1
    

    畫面會顯示類似以下內容的輸出:

    ID                             SERVICE_REFERENCE                                                                                                              SERVICE_PROPERTIES
    BACKEND_SERVICE_ID          {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/backendServices/l7-xlb-backend-service'}  {'gcpProject': 'projects/SERVICE_PROJECT_ID', 'location': 'us-west1'}
    FORWARDING_RULE_SERVICE_ID" {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/forwardingRules/l7-xlb-forwarding-rule'}  {'gcpProject': 'projects/SERVICE_PROJECT_ID', 'location': 'us-west1'}
    URL_MAP_SERVICE_ID          {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/urlMaps/regional-l7-xlb-map'}             {'gcpProject': 'projects/SERVICE_PROJECT_ID', 'location': 'us-west1'}
    

    複製輸出內容中的服務 ID,例如 BACKEND_SERVICE_SP2_ID,以供下一個步驟使用。

  3. 將上一個步驟中的服務註冊至應用程式。複製上一個步驟中輸出欄位的服務 ID。

    gcloud apphub applications services create tutorial-service-backend \
        --discovered-service='projects/HOST_PROJECT_ID/locations/us-west1/discoveredServices/BACKEND_SERVICE_ID' \
        --display-name='Backend service' \
        --criticality-type='HIGH' \
        --environment-type='PRODUCTION' \
        --application=tutorial-application \
        --project=HOST_PROJECT_ID \
        --location=us-west1
    
    gcloud apphub applications services create tutorial-service-forwarding-rule \
        --discovered-service='projects/HOST_PROJECT_ID/locations/us-west1/discoveredServices/FORWARDING_RULE_SERVICE_ID' \
        --display-name='Forwarding rule' \
        --criticality-type='HIGH' \
        --environment-type='PRODUCTION' \
        --application=tutorial-application \
        --project=HOST_PROJECT_ID \
        --location=us-west1
    
    gcloud apphub applications services create tutorial-service-url-map \
        --discovered-service='projects/HOST_PROJECT_ID/locations/us-west1/discoveredServices/URL_MAP_SERVICE_ID' \
        --display-name='URL map' \
        --criticality-type='HIGH' \
        --environment-type='PRODUCTION' \
        --application=tutorial-application \
        --project=HOST_PROJECT_ID \
        --location=us-west1
    

    更改下列內容:

    • BACKEND_SERVICE_ID:要註冊的後端服務 ID 服務。
    • FORWARDING_RULE_SERVICE_ID:要註冊的轉送規則服務 ID
    • URL_MAP_SERVICE_ID:要註冊的網址地圖服務 ID
  4. 列出應用程式中所有已註冊的服務:

    gcloud apphub applications services list \
        --application=tutorial-application \
        --project=HOST_PROJECT_ID \
        --location=us-west1
    

    畫面會顯示類似以下內容的輸出:

    ID                               DISPLAY_NAME      SERVICE_REFERENCE                                                                                                              CREATE_TIME
    tutorial-service-backend         Backend service   {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/backendServices/l7-xlb-backend-service'}  2024-02-13T00:31:45
    tutorial-service-forwarding-rule Forwarding rule   {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/forwardingRules/l7-xlb-forwarding-rule'}  2024-02-13T00:31:45
    tutorial-service-url-map         URL map           {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/urlMaps/regional-l7-xlb-map'}             2024-02-13T00:31:45
    
    已註冊但已分離的服務會以 SERVICE_REFERENCE 欄位中的空白值表示。如要進一步瞭解註冊狀態,請參閱「App Hub 的屬性和屬性」。

  5. 列出 App Hub 主專案中所有探索到的工作負載。 這項指令會傳回可註冊至應用程式的工作負載。

    gcloud apphub discovered-workloads list \
        --project=HOST_PROJECT_ID \
        --location=us-west1
    

    畫面會顯示類似以下內容的輸出:

    ID                            WORKLOAD_REFERENCE                                                                                                            WORKLOAD_PROPERTIES
    INSTANCE_GROUP_ID          {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/zones/us-west1-a/instanceGroups/l7-xlb-backend-example'}  {'gcpProject': 'projects/SERVICE_PROJECT_ID', 'location': 'us-west1', 'zone': 'us-west1-a'}
    
    從輸出內容複製工作負載 ID,以便在下一個步驟中使用。

  6. 將上一步驟中的工作負載註冊至應用程式。從上一個步驟的輸出欄位複製工作負載 ID。

    gcloud apphub applications workloads create tutorial-workload-mig \
        --discovered-workload='projects/HOST_PROJECT_ID/locations/us-west1/discoveredWorkloads/WORKLOAD_ID' \
        --display-name='Workload instance group' \
        --application=tutorial-application \
        --project=HOST_PROJECT_ID \
        --location=us-west1
    
    WORKLOAD_ID 替換為要註冊的工作負載 ID。
  7. 列出應用程式中所有已註冊的工作負載:

    gcloud apphub applications workloads list \
        --application=tutorial-application \
        --project=HOST_PROJECT_ID \
        --location=us-west1
    

    畫面會顯示類似以下內容的輸出:

    ID                        DISPLAY_NAME              WORKLOAD_REFERENCE                                                                                                            CREATE_TIME
    tutorial-workload-mig     Workload instance group   {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/zones/us-west1-a/instanceGroups/l7-xlb-backend-example'}  2024-02-13T00:31:45
    
    已註冊但已分離的工作負載,會在 WORKLOAD_REFERENCE 欄位中以空白值表示。如要進一步瞭解註冊狀態,請參閱「App Hub 的屬性和屬性」。

查看所有服務和工作負載

您可以查看附加至 App Hub 主專案的服務專案中,服務和工作負載的詳細資料。

  1. 前往 Google Cloud 控制台的「App Hub」頁面。

    前往「服務和工作負載」

    系統會顯示附加 App Hub 服務專案的所有服務和工作負載。

  2. 在「Region」(區域) 清單中選取「us-west1」。 「工作負載執行個體群組」工作負載會顯示詳細資料,例如「App Hub 類型」、「重要性」和「已註冊至」

  3. 如要依據服務或工作負載的狀態進行篩選,請按照下列步驟操作:

    1. 在「篩選器」欄位中,選取「註冊狀態」等篩選器。
    2. 按一下「已註冊」。系統會顯示已向應用程式註冊的服務和工作負載清單。

監控應用程式

Application Monitoring 提供立即可用的資訊主頁,可監控 App Hub 應用程式及其已註冊服務和工作負載的記錄、指標和事件。詳情請參閱「應用程式監控」。如要查看這些資訊主頁,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的 App Hub「Applications」頁面。

    前往「Applications」(應用程式)

  2. 執行下列其中一個步驟:

    • 如要查看頂層的 OOTB 資訊主頁,列出已向主機專案或啟用應用程式的資料夾註冊的應用程式清單摘要資訊,請按一下「在可觀測性中查看」
    • 如要查看應用程式的 OOTB 資訊主頁,請按照下列步驟操作:
      1. 按一下應用程式名稱。
      2. 按一下「查看觀測能力資訊主頁」
    • 如要查看特定服務或工作負載的 OOTB 資訊主頁,請按照下列步驟操作:
      1. 按一下應用程式名稱。
      2. 在顯示服務或工作負載名稱的列中,按一下 「查看觀測能力資訊主頁」圖示「查看觀測能力資訊主頁」

如要進一步瞭解如何查看資訊主頁,請參閱「查看應用程式遙測資料」。

清除所用資源

如要避免系統向您的 Google Cloud 帳戶收取本教學課程中所用資源的相關費用,請刪除含有該項資源的專案,或者保留專案但刪除個別資源。

刪除 App Hub 資源

控制台

  1. 前往 Google Cloud 控制台的 App Hub「Applications」頁面。

    前往「Applications」(應用程式)

  2. 按一下應用程式名稱「Tutorial」(教學課程)

  3. 在「服務和工作負載」分頁的「已註冊的服務和工作負載」部分,按一下服務名稱。

  4. 在「服務和工作負載」頁面中,按一下「取消註冊」

    系統會發出快訊,通知服務已取消註冊。

  5. 在「服務和工作負載」分頁的「已註冊的服務和工作負載」部分,按一下工作負載名稱。

  6. 在「詳細資料」分頁中,按一下「取消註冊」

    系統會發出快訊,通知您工作負載已取消註冊。

  7. 前往 App Hub 的「Applications」(應用程式) 頁面。

    前往「Applications」(應用程式)

  8. 按一下應用程式名稱。

  9. 在「tutorial-application」頁面中,按一下「Delete」

  10. 前往 Google Cloud 控制台的 App Hub「Settings」(設定) 頁面。

    前往「設定」

  11. 在「設定」頁面中,選取要從 App Hub 主專案移除的服務專案核取方塊。

  12. 按一下「卸離專案」

gcloud

  1. 列出應用程式中已註冊的服務:

    gcloud apphub applications services list \
      --application=tutorial-application --project=HOST_PROJECT_ID \
      --location=us-west1
    
  2. 從應用程式取消註冊服務:

    gcloud apphub applications services delete SERVICE_NAME \
      --application=tutorial-application --project=HOST_PROJECT_ID \
      --location=us-west1
    

    SERVICE_NAME 改為您的服務名稱。這些服務現在是可向應用程式註冊的探索服務。

  3. 列出應用程式中已註冊的工作負載:

    gcloud apphub applications workloads list \
      --application=tutorial-application --project=HOST_PROJECT_ID \
      --location=us-west1
    
  4. 從應用程式取消註冊工作負載:

    gcloud apphub applications workloads delete WORKLOAD_NAME \
      --application=tutorial-application --project=HOST_PROJECT_ID \
      --location=us-west1
    

    WORKLOAD_NAME 替換為工作負載的名稱。工作負載現在是可向應用程式註冊的已發現工作負載。

  5. 刪除應用程式:

    gcloud apphub applications delete tutorial-application \
      --project=HOST_PROJECT_ID \
      --location=us-west1
    
  6. 從 App Hub 託管專案中移除服務專案:

    gcloud apphub service-projects remove SERVICE_PROJECT_ID \
      --project=HOST_PROJECT_ID
    

刪除部署作業

不再需要解決方案時,請刪除所有資源,以免系統繼續向您收取解決方案中建立的資源費用。

如果您使用 Terraform CLI 部署解決方案,請按照這個程序操作。

  1. 在 Cloud Shell 中,請確認目前的工作目錄是 terraform-docs-samples/lb/regional_external_http_load_balancer。如果不是,請前往該目錄。

  2. 移除 Terraform 佈建的資源:

    terraform destroy
    

    Terraform 會顯示即將刪除的資源清單。

  3. 系統提示您執行動作時,請輸入 yes

    Terraform 會顯示訊息,說明進度。刪除所有資源後,Terraform 會顯示以下訊息:

    Destroy complete!
    

如果您不再需要用於解決方案的 Google Cloud 專案,可以刪除該專案。

刪除專案

控制台

  1. 前往 Google Cloud 控制台的「管理資源」頁面。

    前往「管理資源」頁面

  2. 在專案清單中選取要刪除的專案,然後按一下「刪除」
  3. 在對話方塊中輸入專案 ID,然後按一下「Shut down」(關閉) 刪除專案。

gcloud

刪除 Google Cloud 專案:

gcloud projects delete PROJECT_ID

PROJECT_ID 替換為託管或服務專案 ID。

後續步驟