將現有資源註冊至應用程式

將現有服務和工作負載註冊至應用程式,即可根據資源的業務用途整理資源,簡化管理作業。這種做法可提供統一的瀏覽、監控、治理和作業控制。

本指南說明如何將Google Cloud 中執行的現有服務和工作負載分組,這些服務和工作負載尚未正式定義為應用程式。

事前準備

您必須先完成應用程式管理的初始設定,才能將資源整理到應用程式中。這項程序通常需要下列角色和步驟:

建立應用程式

在 App Hub 建立應用程式,做為現有服務和工作負載的邏輯容器:

主控台

  1. 在 Google Cloud 控制台中,使用專案選擇工具選取主專案,或已啟用應用程式管理功能的資料夾的管理專案,視您的設定模式而定。
  2. 從 App Hub 前往「Applications」(應用程式) 頁面:

    前往「Applications」(應用程式)

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

  4. 在「Choose application region and name」(選擇應用程式區域和名稱) 窗格中,根據地理分布需求選取最適合應用程式的位置:

    • 選取「區域」即可建立區域應用程式。然後根據應用程式中心支援的區域,為應用程式選取特定區域。
    • 選取「Global」(全域) 即可建立全域應用程式。

    如要進一步瞭解應用程式的最佳位置,請參閱「全球和區域應用程式」。

  5. 輸入應用程式名稱,然後按一下「繼續」

  6. 選用:定義應用程式的頂層屬性,以支援探索和管理

    • 在「新增屬性」部分中,輸入「顯示名稱」
    • 在「Criticality」(重要性) 清單中選取值,指出應用程式的重要性。
    • 在「環境」清單中選取值,指出軟體生命週期的階段。
    • 新增擁有者的聯絡資訊詳細資料,包括顯示名稱和電子郵件地址。請注意,電子郵件地址的格式必須為 username@yourdomain,例如 jane-doe@gmail.com
  7. 點選「建立」

gcloud

  1. 使用 Google Cloud CLI 從終端機或 Cloud Shell 建立應用程式:

    gcloud apphub applications create APPLICATION_NAME \
      --project=PROJECT_ID \
      --scope-type=LOCATION \
      --location=REGION \
      --display-name=DISPLAY_NAME \
      --criticality-type=CRITICALITY \
      --environment-type=ENVIRONMENT \
      --developer-owners=display-name=DEV_NAME,email=DEV_EMAIL \
      --operator-owners=display-name=OPERATOR_NAME,email=OPERATOR_EMAIL \
      --business-owners=display-name=BUSINESS_NAME,email=BUSINESS_EMAIL
    

    APPLICATION_NAME 換成應用程式名稱。名稱只能包含小寫英數字元,不得有空格。

    使用 --criticality-type 等選用標記定義應用程式的頂層屬性,並支援探索和管理功能

    如為必要和選用旗標,請替換下列項目:

    • 必要:PROJECT_ID:主專案或管理專案的 ID,視您的設定模型而定。
    • 必要:LOCATION:根據地理分布規定,應用程式的適用地區。請使用下列其中一個值:

      • REGIONAL 用於區域應用程式。
      • GLOBAL:適用於全球應用程式。

      如要進一步瞭解應用程式的最佳位置,請參閱「全球和區域應用程式」。

    • 必要:REGION:應用程式的特定區域。請使用下列其中一個值:

      • 如果應用程式的 --scope-type 位置設為 REGIONAL,請指定App Hub 支援的區域名稱
      • 如果應用程式的 --scope-type 位置設為 GLOBAL,請使用 global
    • 選用:DISPLAY_NAME:應用程式的顯示名稱。

    • 選用:CRITICALITY:應用程式對您營運的重要性程度。請使用下列其中一個值:

      • MISSION_CRITICAL
      • HIGH
      • MEDIUM
      • LOW
    • 選用:ENVIRONMENT:軟體生命週期的階段。請使用下列其中一個值:

      • PRODUCTION
      • STAGING
      • DEVELOPMENT
      • TEST
    • 選用:DEV_NAMEDEV_EMAIL:分別是開發人員擁有者的顯示名稱和電子郵件地址。

    • 選用:OPERATOR_NAMEOPERATOR_EMAIL 分別是營運商擁有者的顯示名稱和電子郵件地址。

    • 選用:BUSINESS_NAMEBUSINESS_EMAIL 分別是企業主的顯示名稱和電子郵件地址。

  2. 列出專案中的應用程式:

    gcloud apphub applications list \
      --project=PROJECT_ID \
      --location=REGION
    

    您必須取得類似下列的輸出內容:

    ID                 DISPLAY_NAME   CREATE_TIME
    APPLICATION_NAME   DISPLAY_NAME   2023-10-31T18:33:48
    

註冊服務和工作負載

建立應用程式後,請將現有服務和工作負載註冊至該應用程式:

主控台

  1. 在 Google Cloud 控制台中,使用專案選擇工具選取主專案,或已啟用應用程式管理功能的資料夾的管理專案,視您的設定模式而定。
  2. 從 App Hub 前往「Applications」(應用程式) 頁面:

    前往「Applications」(應用程式)

  3. 按一下要註冊現有服務和工作負載的應用程式名稱。

  4. 在應用程式的詳細資料頁面中,選取「服務和工作負載」分頁標籤。這個分頁會顯示現有資源清單,您可以向應用程式註冊這些資源。App Hub 可讓您在資源階層結構中選取支援的資源,做為服務和工作負載。

  5. 如要註冊服務或工作負載,請執行下列操作:

    1. 在「服務和工作負載」分頁中,按一下「註冊服務/工作負載」
    2. 前往「選取資源」窗格,然後按一下「瀏覽」,找出要註冊的服務或工作負載。
    3. 選擇服務或工作負載,然後按一下「選取」
    4. 在「選取資源」窗格中,輸入服務或工作負載的名稱,然後按一下「繼續」
    5. 選用:在「新增屬性」窗格中,定義資源的頂層屬性,以支援探索和管理

    6. 按一下「繼續」

    7. 選用:在「新增擁有者」部分,新增服務或工作負載擁有者的詳細資料。

    8. 點按「Register」(註冊)

「服務和工作負載」分頁會顯示已註冊的服務或工作負載。

gcloud

您可以在 App Hub 中,從資源階層結構選取支援的資源做為服務和工作負載。使用 Google Cloud CLI 列出可從終端機或 Cloud Shell 註冊至應用程式的服務或工作負載。服務和工作負載的指令略有不同:

註冊服務

  1. 列出可註冊至應用程式的可用服務

    gcloud apphub discovered-services list \
      --project=PROJECT_ID \
      --location=REGION \
      --filter=FILTER_EXPRESSION
    

    如為必要和選用旗標,請替換下列項目:

    • 必要:PROJECT_ID:主專案或管理專案的 ID,視您的設定模型而定。
    • 必要條件:REGION:服務的特定區域,取決於您的地理位置分布。請使用下列其中一個值:

    • 選用:FILTER_EXPRESSION--filter 旗標的篩選運算式,僅顯示來自指定專案或具有特定屬性的服務,例如:

      • service_properties.gcp_project=projects/PROJECT_ID
      • service_properties.gcp_project=projects/PROJECT_ID AND service_reference.uri~"forwardingRules"

    輸出結果會與下列範例相似:

    ID            SERVICE_REFERENCE                                                                                             SERVICE_PROPERTIES
    SERVICE_ID    {'uri': '//compute.googleapis.com/projects/PROJECT_NUMBER/regions/REGION/forwardingRules/forwarding-rule'}    {'gcpProject': 'projects/PROJECT_ID', 'location': 'REGION'}
    
  2. 從輸出內容中複製服務 ID SERVICE_ID

  3. 將服務註冊到應用程式:

    gcloud apphub applications services create SERVICE_NAME \
      --project=PROJECT_ID \
      --location=REGION \
      --application=APPLICATION_NAME \
      --discovered-service=projects/PROJECT_ID/locations/REGION/discoveredServices/SERVICE_ID \
      --display-name=SERVICE_DISPLAY_NAME \
      --criticality-type=CRITICALITY \
      --environment-type=ENVIRONMENT \
      --developer-owners=display-name=DEV_NAME,email=DEV_EMAIL \
      --operator-owners=display-name=OPERATOR_NAME,email=OPERATOR_EMAIL \
      --business-owners=display-name=BUSINESS_NAME,email=BUSINESS_EMAIL
    

    SERVICE_NAME 替換為您要用於向應用程式註冊服務的名稱。

    使用 --criticality-type 等選用標記定義服務的頂層屬性,並支援探索和管理功能

    如為必要和選用旗標,請替換下列項目:

    • 必要:PROJECT_ID:主專案或管理專案的 ID,視您的設定模型而定。
    • 必要條件:REGION:服務的特定區域,取決於您的地理位置分布。請使用下列其中一個值:

    • 必要:APPLICATION_NAME:要註冊服務的應用程式名稱。

    • 必要:SERVICE_ID:您從上一個輸出內容複製的服務 ID。

    • 選用:SERVICE_DISPLAY_NAME:服務的顯示名稱。

    • 選用:CRITICALITY:服務對您營運的重要性程度。請使用下列其中一個值:

      • MISSION_CRITICAL
      • HIGH
      • MEDIUM
      • LOW
    • 選用:ENVIRONMENT:軟體生命週期的階段。請使用下列其中一個值:

      • PRODUCTION
      • STAGING
      • DEVELOPMENT
      • TEST
    • 選用:DEV_NAMEDEV_EMAIL:分別是開發人員擁有者的顯示名稱和電子郵件地址。

    • 選用:OPERATOR_NAMEOPERATOR_EMAIL:分別是營運商擁有者的顯示名稱和電子郵件地址。

    • 選用:BUSINESS_NAMEBUSINESS_EMAIL 分別為商家業主的顯示名稱和電子郵件地址。

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

    gcloud apphub applications services list \
      --application=APPLICATION_NAME
      --project=PROJECT_ID \
      --location=REGION
    

    您必須為每個已註冊的服務取得類似下列的輸出內容:

    ID              DISPLAY_NAME            SERVICE_REFERENCE                                                                                             CREATE_TIME
    SERVICE_NAME    SERVICE_DISPLAY_NAME    {'uri': '//compute.googleapis.com/projects/PROJECT_NUMBER/regions/REGION/forwardingRules/forwarding-rule'}    2023-11-01T21:38:08
    

註冊工作負載

  1. 列出可註冊至應用程式的可用工作負載

    gcloud apphub discovered-workloads list \
      --project=PROJECT_ID \
      --location=REGION \
      --filter=FILTER_EXPRESSION
    

    如為必要和選用旗標,請替換下列項目:

    • 必要:PROJECT_ID:主專案或管理專案的 ID,視您的設定模型而定。
    • 必要條件:REGION:根據地理分布情況,工作負載的特定區域。請使用下列其中一個值:

    • 選用:FILTER_EXPRESSION--filter 旗標的篩選器運算式,只顯示來自特定專案或具有特定屬性的工作負載,例如 workload_properties.gcp_project=projects/PROJECT_ID

    輸出結果會與下列範例相似:

    ID             WORKLOAD_REFERENCE                                                                                    WORKLOAD_PROPERTIES
    WORKLOAD_ID    {'uri': '//compute.googleapis.com/projects/PROJECT_NUMBER/regions/REGION/instanceGroups/mig-name'}    {'gcpProject': 'projects/PROJECT_ID', 'location': 'REGION'}
    
  2. 從輸出內容中複製工作負載 ID WORKLOAD_ID

  3. 將工作負載註冊至應用程式:

    gcloud apphub applications workloads create WORKLOAD_NAME \
      --project=PROJECT_ID \
      --location=REGION \
      --application=APPLICATION_NAME \
      --discovered-workload=projects/PROJECT_ID/locations/REGION/discoveredWorkloads/WORKLOAD_ID \
      --display-name=WORKLOAD_DISPLAY_NAME \
      --criticality-type=CRITICALITY \
      --environment-type=ENVIRONMENT \
      --developer-owners=display-name=DEV_NAME,email=DEV_EMAIL \
      --operator-owners=display-name=OPERATOR_NAME,email=OPERATOR_EMAIL \
      --business-owners=display-name=BUSINESS_NAME,email=BUSINESS_EMAIL
    

    WORKLOAD_NAME 替換為您要用於向應用程式註冊工作負載的名稱。

    使用 --criticality-type 等選用標記定義工作負載的頂層屬性,並支援探索和管理

    如為必要和選用旗標,請替換下列項目:

    • 必要:PROJECT_ID:主專案或管理專案的 ID,視您的設定模型而定。
    • 必要條件:REGION:根據地理分布情況,工作負載的特定區域。請使用下列其中一個值:

    • 必要:APPLICATION_NAME:要註冊工作負載的應用程式名稱。

    • 必要:WORKLOAD_ID:您從上一個輸出內容複製的工作負載 ID。

    • 選用:WORKLOAD_DISPLAY_NAME:工作負載的顯示名稱。

    • 選用:CRITICALITY:工作負載對您營運的重要性等級。請使用下列其中一個值:

      • MISSION_CRITICAL
      • HIGH
      • MEDIUM
      • LOW
    • 選用:ENVIRONMENT:軟體生命週期的階段。請使用下列其中一個值:

      • PRODUCTION
      • STAGING
      • DEVELOPMENT
      • TEST
    • 選用:DEV_NAMEDEV_EMAIL:分別是開發人員擁有者的顯示名稱和電子郵件地址。

    • 選用:OPERATOR_NAMEOPERATOR_EMAIL:分別是營運商擁有者的顯示名稱和電子郵件地址。

    • 選用:BUSINESS_NAMEBUSINESS_EMAIL 分別為商家業主的顯示名稱和電子郵件地址。

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

    gcloud apphub applications workloads list \
      --application=APPLICATION_NAME
      --project=PROJECT_ID \
      --location=REGION
    

    您必須為每個已註冊的工作負載取得類似下列的輸出內容:

    ID               DISPLAY_NAME             WORKLOAD_REFERENCE                                                                                    CREATE_TIME
    WORKLOAD_NAME    WORKLOAD_DISPLAY_NAME    {'uri': '//compute.googleapis.com/projects/PROJECT_NUMBER/regions/REGION/instanceGroups/mig-name'}    2023-11-01T21:38:08
    

授予權限並開始作業

在應用程式中心建立應用程式並註冊資源後,您可以根據職責授予使用者存取權,並將這個邏輯群組視為單一單元進行管理:

  1. 視存取需求而定,您可以授予應用程式權限。如需建議角色清單,請參閱「授予使用者以應用程式為中心的角色」。
  2. 前往 Cloud Hub,查看所定義應用程式的統一作業資訊主頁,包括健康狀態、效能和費用資料。