將現有服務和工作負載註冊至應用程式,即可根據資源的業務用途整理資源,簡化管理作業。這種做法可提供統一的瀏覽、監控、治理和作業控制。
本指南說明如何將Google Cloud 中執行的現有服務和工作負載分組,這些服務和工作負載尚未正式定義為應用程式。
事前準備
您必須先完成應用程式管理的初始設定,才能將資源整理到應用程式中。這項程序通常需要下列角色和步驟:
管理員:
- 設定應用程式管理服務。 設定啟用應用程式的資料夾或主專案,做為應用程式的管理界線。
- 啟用必要的 API。啟用您打算使用的所有資源的 API。
- 將存取權授予使用者。 根據使用者在應用程式生命週期中的職責,指派適當的 IAM 角色。
開發人員和營運人員:
- 請與管理員確認初始設定是否已完成。
- 確認您具備執行工作所需的 IAM 角色。
- 根據設定模型,開啟啟用應用程式的資料夾或主機專案。
建立應用程式
在 App Hub 建立應用程式,做為現有服務和工作負載的邏輯容器:
主控台
- 在 Google Cloud 控制台中,使用專案選擇工具選取主專案,或已啟用應用程式管理功能的資料夾的管理專案,視您的設定模式而定。
從 App Hub 前往「Applications」(應用程式) 頁面:
按一下「建立應用程式」。
在「Choose application region and name」(選擇應用程式區域和名稱) 窗格中,根據地理分布需求選取最適合應用程式的位置:
- 選取「區域」即可建立區域應用程式。然後根據應用程式中心支援的區域,為應用程式選取特定區域。
- 選取「Global」(全域) 即可建立全域應用程式。
如要進一步瞭解應用程式的最佳位置,請參閱「全球和區域應用程式」。
輸入應用程式名稱,然後按一下「繼續」。
選用:定義應用程式的頂層屬性,以支援探索和管理:
- 在「新增屬性」部分中,輸入「顯示名稱」。
- 在「Criticality」(重要性) 清單中選取值,指出應用程式的重要性。
- 在「環境」清單中選取值,指出軟體生命週期的階段。
- 新增擁有者的聯絡資訊詳細資料,包括顯示名稱和電子郵件地址。請注意,電子郵件地址的格式必須為
username@yourdomain
,例如jane-doe@gmail.com
。
點選「建立」。
gcloud
使用 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_NAME
和DEV_EMAIL
:分別是開發人員擁有者的顯示名稱和電子郵件地址。選用:
OPERATOR_NAME
和OPERATOR_EMAIL
分別是營運商擁有者的顯示名稱和電子郵件地址。選用:
BUSINESS_NAME
和BUSINESS_EMAIL
分別是企業主的顯示名稱和電子郵件地址。
- 必要:
列出專案中的應用程式:
gcloud apphub applications list \ --project=PROJECT_ID \ --location=REGION
您必須取得類似下列的輸出內容:
ID DISPLAY_NAME CREATE_TIME APPLICATION_NAME DISPLAY_NAME 2023-10-31T18:33:48
註冊服務和工作負載
建立應用程式後,請將現有服務和工作負載註冊至該應用程式:
主控台
- 在 Google Cloud 控制台中,使用專案選擇工具選取主專案,或已啟用應用程式管理功能的資料夾的管理專案,視您的設定模式而定。
從 App Hub 前往「Applications」(應用程式) 頁面:
按一下要註冊現有服務和工作負載的應用程式名稱。
在應用程式的詳細資料頁面中,選取「服務和工作負載」分頁標籤。這個分頁會顯示現有資源清單,您可以向應用程式註冊這些資源。App Hub 可讓您在資源階層結構中選取支援的資源,做為服務和工作負載。
如要註冊服務或工作負載,請執行下列操作:
- 在「服務和工作負載」分頁中,按一下「註冊服務/工作負載」。
- 前往「選取資源」窗格,然後按一下「瀏覽」,找出要註冊的服務或工作負載。
- 選擇服務或工作負載,然後按一下「選取」。
- 在「選取資源」窗格中,輸入服務或工作負載的名稱,然後按一下「繼續」。
選用:在「新增屬性」窗格中,定義資源的頂層屬性,以支援探索和管理。
按一下「繼續」。
選用:在「新增擁有者」部分,新增服務或工作負載擁有者的詳細資料。
點按「Register」(註冊)。
「服務和工作負載」分頁會顯示已註冊的服務或工作負載。
gcloud
您可以在 App Hub 中,從資源階層結構選取支援的資源做為服務和工作負載。使用 Google Cloud CLI 列出可從終端機或 Cloud Shell 註冊至應用程式的服務或工作負載。服務和工作負載的指令略有不同:
註冊服務
列出可註冊至應用程式的可用服務:
gcloud apphub discovered-services list \ --project=PROJECT_ID \ --location=REGION \ --filter=FILTER_EXPRESSION
如為必要和選用旗標,請替換下列項目:
- 必要:
PROJECT_ID
:主專案或管理專案的 ID,視您的設定模型而定。 必要條件:
REGION
:服務的特定區域,取決於您的地理位置分布。請使用下列其中一個值:- 如果服務屬於區域性服務,請指定App Hub 支援的區域名稱。
- 如果服務是全球性的,請使用
global
。
選用:
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'}
- 必要:
從輸出內容中複製服務 ID
SERVICE_ID
。將服務註冊到應用程式:
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
:服務的特定區域,取決於您的地理位置分布。請使用下列其中一個值:- 如果服務屬於區域性服務,請指定App Hub 支援的區域名稱。
- 如果服務是全球性的,請使用
global
。
必要:
APPLICATION_NAME
:要註冊服務的應用程式名稱。必要:
SERVICE_ID
:您從上一個輸出內容複製的服務 ID。選用:
SERVICE_DISPLAY_NAME
:服務的顯示名稱。選用:
CRITICALITY
:服務對您營運的重要性程度。請使用下列其中一個值:MISSION_CRITICAL
HIGH
MEDIUM
LOW
選用:
ENVIRONMENT
:軟體生命週期的階段。請使用下列其中一個值:PRODUCTION
STAGING
DEVELOPMENT
TEST
選用:
DEV_NAME
和DEV_EMAIL
:分別是開發人員擁有者的顯示名稱和電子郵件地址。選用:
OPERATOR_NAME
和OPERATOR_EMAIL
:分別是營運商擁有者的顯示名稱和電子郵件地址。選用:
BUSINESS_NAME
和BUSINESS_EMAIL
分別為商家業主的顯示名稱和電子郵件地址。
- 必要:
列出應用程式中已註冊的服務:
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
註冊工作負載
列出可註冊至應用程式的可用工作負載:
gcloud apphub discovered-workloads list \ --project=PROJECT_ID \ --location=REGION \ --filter=FILTER_EXPRESSION
如為必要和選用旗標,請替換下列項目:
- 必要:
PROJECT_ID
:主專案或管理專案的 ID,視您的設定模型而定。 必要條件:
REGION
:根據地理分布情況,工作負載的特定區域。請使用下列其中一個值:- 如果工作負載屬於區域型,請指定App Hub 支援的區域名稱。
- 如果工作負載是全域,請使用
global
。
選用:
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'}
- 必要:
從輸出內容中複製工作負載 ID
WORKLOAD_ID
。將工作負載註冊至應用程式:
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
:根據地理分布情況,工作負載的特定區域。請使用下列其中一個值:- 如果工作負載屬於區域型,請指定App Hub 支援的區域名稱。
- 如果工作負載是全域,請使用
global
。
必要:
APPLICATION_NAME
:要註冊工作負載的應用程式名稱。必要:
WORKLOAD_ID
:您從上一個輸出內容複製的工作負載 ID。選用:
WORKLOAD_DISPLAY_NAME
:工作負載的顯示名稱。選用:
CRITICALITY
:工作負載對您營運的重要性等級。請使用下列其中一個值:MISSION_CRITICAL
HIGH
MEDIUM
LOW
選用:
ENVIRONMENT
:軟體生命週期的階段。請使用下列其中一個值:PRODUCTION
STAGING
DEVELOPMENT
TEST
選用:
DEV_NAME
和DEV_EMAIL
:分別是開發人員擁有者的顯示名稱和電子郵件地址。選用:
OPERATOR_NAME
和OPERATOR_EMAIL
:分別是營運商擁有者的顯示名稱和電子郵件地址。選用:
BUSINESS_NAME
和BUSINESS_EMAIL
分別為商家業主的顯示名稱和電子郵件地址。
- 必要:
列出應用程式中已註冊的工作負載:
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
授予權限並開始作業
在應用程式中心建立應用程式並註冊資源後,您可以根據職責授予使用者存取權,並將這個邏輯群組視為單一單元進行管理:
- 視存取需求而定,您可以授予應用程式權限。如需建議角色清單,請參閱「授予使用者以應用程式為中心的角色」。
- 前往 Cloud Hub,查看所定義應用程式的統一作業資訊主頁,包括健康狀態、效能和費用資料。