本文說明如何使用啟用應用程式的資料夾設定 App Hub,以便在 Google Cloud上建構、運作及管理 App Hub 應用程式。本文適用於設定及管理 App Hub 的使用者。
您也可以在主專案中設定 App Hub。不過,我們建議您使用已啟用應用程式的資料夾,而非主機專案來管理應用程式,因為已啟用應用程式的資料夾可存取 Application Design Center 和 Gemini Cloud Assist 等功能。如要進一步瞭解如何在主專案中設定 App Hub,請參閱「在主專案中設定 App Hub」一文。
在啟用應用程式的資料夾中設定 App Hub 應用程式後,即可使用自然語言輔助功能擷取應用程式相關資訊。詳情請參閱「在 Google Cloud 控制台中使用 Gemini Cloud Assist」。
服務和工作負載
透過 App Hub,您可以將 Google Cloud 專案中屬於已啟用應用程式資料夾後代的資源,當做服務和工作負載使用。將服務和工作負載註冊至應用程式後,您就能觀察及監控資源。App Hub 支援全球和區域資源。如要進一步瞭解可新增至應用程式的資源,請參閱「App Hub 支援的資源」。
整體設定程序
以下列出設定應用程式中心的步驟摘要:
- 判斷要在應用程式中納入哪些現有資源,以及這些資源所屬的專案。如要進一步瞭解如何管理應用程式,請參閱「應用程式管理」。
- 在資料夾中啟用應用程式管理功能。
您現在可以管理已啟用應用程式的資料夾中,所有子代專案的資源。如果資料夾中新增了應用程式所需的基礎資源專案,系統會自動為這些專案啟用應用程式管理功能。
注意事項:- 專案必須與啟用應用程式的資料夾位於相同的機構。將專案附加至啟用應用程式的資料夾後,如要將專案移至其他機構,必須遷移專案。詳情請參閱「在組織資源之間遷移專案」。
- 將專案附加至啟用應用程式的資料夾後,查詢啟用應用程式的資料夾中的服務或工作負載時,系統會自動傳回附加至啟用應用程式的資料夾的所有專案中的所有服務和工作負載。
- 如果啟用應用程式的資料夾移至其他機構,所有已註冊的服務和工作負載都會卸離。
- 指派 App Hub 使用者為 App Hub 管理員、編輯者或檢視者。
- 建立應用程式,管理多個工作負載和服務。
注意事項:- 請確認應用程式在啟用應用程式的資料夾和位置中具有不重複的名稱。
- 專案可以附加至啟用應用程式的資料夾,其中包含多個應用程式,但專案的個別資源只能向一個應用程式註冊。
- 如果專案移至其他資料夾或機構,應用程式仍會保留在已啟用應用程式的資料夾中,但服務和工作負載會處於分離狀態。
- 查詢服務和工作負載,並將其註冊至應用程式。
建立應用程式後,您可以查詢已啟用應用程式的資料夾,瞭解可用的服務和工作負載。系統會針對已啟用應用程式的資料夾,以及附加至該資料夾的所有專案執行查詢。查詢也會傳回這些專案中的所有服務和工作負載。請注意以下事項:
- 您只能向單一應用程式註冊服務或工作負載。
- 您必須將特定區域的服務和工作負載,註冊至相同區域的區域應用程式,或是註冊至全域應用程式。以下操作說明和指令假設所有資源都位於同一個區域。如要瞭解可指定的地區,請參閱「位置」一文。
- 更新基礎架構資源不會影響已註冊的服務和工作負載。換句話說,如果您刪除做為服務和工作負載的基礎資源,App Hub 不會從應用程式中刪除相關聯的工作負載和服務。您必須分別取消註冊工作負載或服務。
必要條件
設定應用程式中心前,請先完成下列工作。
- 請確認您具備必要的 IAM 角色,才能為管理專案啟用或建立帳單帳戶。
- 決定要啟用應用程式管理的現有資料夾,或建立新資料夾。如要進一步瞭解如何建立資料夾,請參閱建立資料夾。
- 請確認您已決定哪些人員將擔任 App Hub 的身分與存取權管理 (IAM) 角色:App Hub 管理員、App Hub 編輯者和 App Hub 檢視者。如要進一步瞭解角色和權限,請參閱「應用程式中心角色和權限」。
必要的角色
如要取得修改 App Hub 資源所需的權限,請管理員在啟用應用程式的資料夾中,授予您下列 IAM 角色:
-
如要建立及更新應用程式,並註冊及取消註冊服務和工作負載,請按照下列步驟操作:
-
應用程式中心管理員 (
roles/apphub.admin
) -
App Hub 編輯器 (
roles/apphub.editor
)
-
應用程式中心管理員 (
-
如要在資料夾中啟用應用程式管理功能,請按照下列步驟操作:
資料夾管理員 (
resourcemanager.folderAdmin
) -
如要查看支援應用程式管理的 Google Cloud 服務中的應用程式、服務、工作負載及其屬性:
App Hub 管理檢視器 (
roles/apphub.appManagementViewer
)
如要進一步瞭解如何集中查看應用程式資料,請參閱 Cloud Hub 總覽。
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。
啟用應用程式管理功能
在本節中,您將選取資料夾,並為該資料夾啟用應用程式管理功能。為資料夾設定應用程式管理功能時,啟用程序會包含下列動作:
- 在資料夾中建立新的管理專案。管理專案是由 Google 建立的專案,您無法移動或刪除。一個已啟用應用程式的資料夾只能與一個管理專案建立關聯。管理專案可用於管理與已啟用應用程式的資料夾相關聯的所有子代專案配額和帳單。
- 啟用 API,以便使用支援應用程式管理功能的服務,例如 App Hub 和 Gemini Cloud Assist。
前往 Google Cloud 控制台的「應用程式中心」頁面。
請根據下列情況採取相應步驟:
- 如果您位於未啟用應用程式管理功能的 Google Cloud 專案或 Google Cloud資料夾:
- 按一下「選取資料夾」。
- 在「選取資料夾」對話方塊中,選取已啟用應用程式管理功能的資料夾。如需已啟用應用程式的資料夾相關資訊,請洽詢管理員。如果您選取的資料夾未啟用應用程式管理功能,且您具備資料夾管理員 (
resourcemanager.folderAdmin
) IAM 角色,請啟用該資料夾的應用程式管理功能。詳情請參閱在資料夾中啟用應用程式管理功能和 API。
- 如果您位於 Google Cloud 已啟用應用程式的資料夾,請前往這個頁面的「指派 App Hub 使用者」。
在資料夾中啟用應用程式管理功能後,系統會建立名為「管理專案」的 Google 專案,格式如下:
FOLDER_DISPLAY_NAME-mp
。管理專案會代管已啟用應用程式的資料夾的子項專案,並協助管理跨專案功能。您現在可以為這個已啟用應用程式的資料夾中的子代專案,建立 App Hub 應用程式。- 如果您位於未啟用應用程式管理功能的 Google Cloud 專案或 Google Cloud資料夾:
選用:您可以建立專案,或將專案從其他資料夾移至已啟用應用程式管理功能的資料夾。接著,您可以在啟用應用程式的資料夾中建立應用程式,管理專案中的服務和工作負載。如要進一步瞭解如何建立專案,請參閱「建立專案」。如要進一步瞭解如何移動專案,請參閱「移動專案」一文。
指派 App Hub 使用者
如果您是專案建立者,系統會授予您基本擁有者角色 (roles/owner
)。根據預設,這個 IAM 角色包含的權限,可讓您完整存取大多數Google Cloud 資源。
如果您不是專案建立者,必須在專案中將必要權限授予適當的主體。舉例來說,主體可以是 Google 帳戶 (適用於使用者) 或服務帳戶 (適用於應用程式和運算工作負載)。如要取得完成本教學課程所需的權限,請要求管理員在專案中授予您下列 IAM 角色:
控制台
前往 Google Cloud 控制台的「IAM」頁面。
確認頂端導覽列的專案選取器顯示已啟用應用程式管理功能的資料夾。Purview 挑選器會顯示您目前使用的機構、資料夾或專案。如果目前不在已啟用應用程式管理功能的資料夾中,請按照下列步驟選取:
- 在 Purview 選擇器中,按一下所選選項。
- 在「選取資源」對話方塊中,執行下列其中一項操作:
- 從資料夾清單中選取
FOLDER_DISPLAY_NAME
資料夾。 - 搜尋並選取「
FOLDER_DISPLAY_NAME
」資料夾。
- 從資料夾清單中選取
在「IAM」頁面中,按一下
「Grant access」(授予存取權)。「授予存取權」窗格隨即開啟。在「New principals」(新增主體) 欄位中,輸入負責管理 App Hub 的人員電子郵件地址,也就是啟用應用程式的資料夾中具有 App Hub 管理員角色的使用者。
按一下「選取角色」,然後在「篩選器」欄位中輸入「App Hub」。
選取「App Hub 管理員」角色,然後按一下「儲存」。
重複上述步驟,將「應用程式管理檢視者」角色授予個人,即可在支援應用程式管理的Google Cloud 服務中,查看應用程式資料和屬性。這個角色會授予已啟用應用程式的資料夾中,所有專案和子資料夾的個人。
按一下 [儲存]。
gcloud
-
In the Google Cloud console, 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.
確認已安裝最新版的 Google Cloud CLI。在 Cloud Shell 中執行下列指令:
gcloud components update
在啟用應用程式的資料夾中,授予負責管理 App Hub 的使用者 App Hub 管理員角色。針對每位管理員重複執行下列指令。他們必須具備 App Hub 管理員角色,才能建立應用程式。
gcloud projects add-iam-policy-binding MANAGEMENT_PROJECT_ID \ --member='user:MANAGEMENT_PROJECT_ADMIN' \ --role='roles/apphub.admin'
更改下列內容:
MANAGEMENT_PROJECT_ID
:管理專案的 ID,格式為google-mpf-FOLDER_ID
。您可以在 Google Cloud 控制台的「Identity and Access Management (IAM) & Admin Settings」(身分與存取權管理 (IAM) 與管理設定) 頁面,找到管理專案 ID。如果找不到管理專案 ID,可能是因為您不在已啟用應用程式的資料夾中。從專案選取器中,選取已啟用應用程式的資料夾。MANAGEMENT_PROJECT_ADMIN
:在專案中具有 App Hub 管理員角色的使用者。這個值的格式為username@yourdomain
,例如robert.smith@example.com
。
在已啟用應用程式的資料夾中,授予使用者「應用程式管理檢視者」角色,即可在支援應用程式管理的 Google Cloud 服務中,查看應用程式資料和屬性。這個角色會授予已啟用應用程式的資料夾中,所有專案和子資料夾的個人。
gcloud resource-manager folders add-iam-policy-binding FOLDER_ID \ --member='user:MANAGEMENT_PROJECT_ADMIN' \ --role='roles/apphub.appManagementViewer'
將
FOLDER_ID
替換為專案 ID。您可以在 Google Cloud 控制台的「IAM & Admin Settings」(IAM 與管理設定) 頁面中,找到已啟用應用程式的資料夾 ID。如要確保資料夾已啟用應用程式,「設定」頁面應會顯示管理專案 ID。如果找不到管理專案 ID,可能是因為您不在已啟用應用程式的資料夾中。從專案選取器中,選取已啟用應用程式的資料夾。
建立應用程式
如果沒有,請建立應用程式,做為服務和工作負載的容器。根據服務和工作負載的範圍,在啟用應用程式的資料夾中建立全域或區域應用程式。
- 全域應用程式可讓您註冊從區域和全域 Google Cloud 資源探索到的服務和工作負載。
- 區域應用程式可讓您註冊從區域 Google Cloud 資源探索到的服務和工作負載。
請注意,應用程式建立完成後,您就無法變更應用程式範圍。如要進一步瞭解全球和區域應用程式,請參閱「全球和區域 App Hub 應用程式」。
控制台
- 確認您位於已啟用應用程式的資料夾。
前往 Google Cloud 控制台的 App Hub「Applications」頁面。
按一下「建立應用程式」。
在「建立應用程式」頁面的「選擇應用程式區域和名稱」窗格中,根據要向應用程式註冊的服務和工作負載範圍,執行下列其中一項操作:
如要建立應用程式,以便從全域位置註冊服務和工作負載,請選取「Global」。
如要建立應用程式,以便從單一位置註冊服務和工作負載,請按照下列步驟操作:
- 選取「區域」。
- 選擇一個 [Region] (地區)。
輸入應用程式名稱,然後按一下「繼續」。
選用:在「新增屬性」部分中,輸入「顯示名稱」。
選用:在「重要性」清單中,選取下列其中一個選項,指出應用程式的重要性:
- 對業務至關重要
- 高
- 中
- 低
選用:在「環境」清單中,選取下列其中一個選項,指出軟體生命週期的階段:
- Production
- 陳設
- 開發
- 測試
(選用) 視需要新增開發人員擁有者、營運者擁有者和商家擁有者的詳細資料。請注意,如果新增顯示名稱,必須輸入擁有者的電子郵件地址。
- 輸入擁有者的顯示名稱。
- 輸入擁有者的電子郵件地址。這個值必須採用
username@yourdomain
格式,例如222larabrown@gmail.com
。
針對每位開發人員、營運人員和企業主重複執行這些步驟。
點選「建立」。
gcloud
建立名為
APPLICATION_NAME
的新應用程式,並提供顯示名稱APPLICATION_DISPLAY_NAME
。gcloud apphub applications create APPLICATION_NAME \ --display-name='APPLICATION_DISPLAY_NAME' \ --scope-type=SCOPE_TYPE \ --criticality-type='CRITICALITY_LEVEL' \ --environment-type='ENVIRONMENT' \ --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=MANAGEMENT_PROJECT_ID \ --location=REGION
更改下列內容:
APPLICATION_NAME
:應用程式名稱。 名稱只能包含小寫英數字元,且不得有空格。APPLICATION_DISPLAY_NAME
:應用程式的顯示名稱。SCOPE_TYPE
:應用程式的範圍,定義可供您向應用程式註冊的服務和工作負載。請使用下列其中一個值:REGIONAL
GLOBAL
CRITICALITY_LEVEL
:(選用) 指出應用程式、服務或工作負載對業務營運的重要性。請提供下列其中一個值:MISSION_CRITICAL
HIGH
MEDIUM
LOW
ENVIRONMENT
:(選用) 指出軟體生命週期的階段。請提供下列其中一個值:PRODUCTION
STAGING
DEVELOPMENT
TEST
DISPLAY-NAME-DEVELOPER
、DISPLAY-NAME-OPERATOR
和DISPLAY-NAME-BUSINESS
:(選用) 分別是開發人員、營運者和企業主的顯示名稱。EMAIL-NAME-DEVELOPER
、EMAIL-NAME-OPERATOR
和EMAIL-NAME-BUSINESS
:(選用) 分別是開發人員、營運人員和企業主的電子郵件地址。這些值必須採用username@yourdomain
格式,例如222larabrown@gmail.com
。MANAGEMENT_PROJECT_ID
:管理專案的 ID,格式為google-mpf-FOLDER_ID
。REGION
:應用程式的區域。視--scope-type
而定,將此值設為us-east1
或global
。
例如:
gcloud apphub applications create my-application \ --display-name='application-display-name' \ --scope-type=REGIONAL \ --criticality-type='MEDIUM' \ --environment-type='STAGING' \ --developer-owners=display-name=developer-name,email=username@yourdomain \ --project=host-project \ --location=us-east1
列出已啟用應用程式的資料夾中的應用程式。
gcloud apphub applications list \ --project=MANAGEMENT_PROJECT_ID \ --location=REGION
輸出結果會與下列內容相似:
ID DISPLAY_NAME CREATE_TIME APPLICATION_NAME APPLICATION_DISPLAY_NAME 2023-10-31T18:33:48
註冊服務和工作負載
將基礎架構服務和工作負載註冊至應用程式時,這些服務和工作負載會註冊為 App Hub 資源。使用全域應用程式註冊全域資源,或散布在多個區域的資源。使用區域應用程式註冊與應用程式位於相同區域的資源。
控制台
前往 Google Cloud 控制台的 App Hub「Applications」頁面。
按一下應用程式名稱。 系統會顯示「服務和工作負載」分頁,其中列出已註冊的服務和工作負載,這些項目位於啟用應用程式的資料夾中。
如要註冊服務或工作負載,請執行下列操作:
- 在「服務和工作負載」分頁中,按一下「註冊服務/工作負載」。
- 在「Register service or workload」(註冊服務或工作負載) 頁面的「Select resource」(選取資源) 窗格中,按一下「Browse」(瀏覽),選取服務或工作負載做為「Resource」(資源)。
- 在「選取資源」窗格中,選擇服務或工作負載,然後按一下「選取」。
- 在「選取資源」窗格中,輸入服務或工作負載的「名稱」,然後按一下「繼續」。
- (選用) 在「新增屬性」窗格中,在後續欄位中新增服務或工作負載的詳細資料。如需更多資訊,請參閱本文中的「建立應用程式」。請注意,您可以為「嚴重程度」和「環境」欄位選取與建立應用程式時設定的值不同的值。
- 按一下「繼續」。
- (選用) 在「新增擁有者」部分,於後續欄位中新增服務或工作負載擁有者的詳細資料。詳情請參閱本文的「建立應用程式」一節。
- 按一下「註冊」。
「服務和工作負載」分頁會顯示已註冊的服務或工作負載。如要進一步瞭解註冊狀態,請參閱 App Hub 的屬性和屬性。
gcloud
列出已啟用應用程式管理功能的資料夾中探索到的服務。在下列指令中,您可以選擇指定
filter
標記,從指定專案傳回可註冊至應用程式的服務。gcloud apphub discovered-services list \ --filter='FILTER_RESOURCES' \ --project=MANAGEMENT_PROJECT_ID \ --location=REGION
將
FILTER_RESOURCES
替換為篩選器,例如:service_properties.gcp_project=projects/PROJECT_ID
service_properties.gcp_project=projects/PROJECT_ID AND service_reference.uri~"forwardingRules"
輸出內容會類似如下:
ID SERVICE_REFERENCE SERVICE_PROPERTIES [DISCOVERED_SERVICE_ID] {'uri': '//compute.googleapis.com/projects/[PROJECT_NUMBER]/regions/REGION/forwardingRules/forwarding-rule'} {'gcpProject': 'projects/PROJECT_1', 'location': 'REGION'}
複製輸出內容中的服務 ID
DISCOVERED_SERVICE_ID
,以便在下一個步驟中使用。在專案中將轉送規則
forwarding-rule-name
註冊為應用程式的服務。gcloud apphub applications services create SERVICE_NAME \ --discovered-service='projects/MANAGEMENT_PROJECT_ID/locations/REGION/discoveredServices/DISCOVERED_SERVICE' \ --display-name='SERVICE_DISPLAY_NAME' \ --application=APPLICATION_NAME \ --criticality-type='CRITICALITY_LEVEL' \ --environment-type='ENVIRONMENT' \ --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=MANAGEMENT_PROJECT_ID \ --location=REGION
更改下列內容:
SERVICE_NAME
:用來註冊服務的名稱。DISCOVERED_SERVICE_ID
:上一個步驟輸出內容中的服務 ID。SERVICE_DISPLAY_NAME
:應用程式的顯示名稱。
注意:
criticality-type
和environment-type
:(選用) 您必須提供其中一個指定值,但這些值可以與建立應用程式時設定的值不同。詳情請參閱本文的「建立應用程式」一節。developer-owners
、operator-owners
和business-owners
:(選用)。 詳情請參閱本文中的「建立應用程式」。
例如:
gcloud apphub applications services create my-service \ --display-name='mywebserver-service' \ --application=my-application \ --criticality-type='MEDIUM' \ --environment-type='STAGING' \ --developer-owners=display-name=developer-name,email=username@yourdomain \ --folder=folder-ID \ --location=us-east1
列出已啟用應用程式管理功能的資料夾中探索到的工作負載。在下列指令中,您可以選擇指定
filter
標記,從指定專案傳回可註冊至應用程式的工作負載。gcloud apphub discovered-workloads list \ --filter='FILTER_RESOURCES' \ --project=MANAGEMENT_PROJECT_ID \ --location=REGION
將
FILTER_RESOURCES
替換為篩選器,例如workload_properties.gcp_project=projects/PROJECT_ID
。您會看到類似以下的輸出內容,其中包含未註冊的 MIG:
ID WORKLOAD_REFERENCE WORKLOAD_PROPERTIES [DISCOVERED_WORKLOAD] {'uri': '//compute.googleapis.com/projects/[PROJECT_NUMBER]/regions/REGION/instanceGroups/mig-name'} {'gcpProject': 'projects/PROJECT', 'location': 'REGION'}
從輸出內容複製工作負載 ID,以便在下一個步驟中使用。
將專案中的 MIG「
mig-name
」註冊為應用程式的工作負載。gcloud apphub applications workloads create WORKLOAD_NAME \ --discovered-workload='projects/MANAGEMENT_PROJECT_ID/locations/REGION/discoveredWorkloads/DISCOVERED_WORKLOAD_ID' \ --display-name=WORKLOAD_DISPLAY_NAME' \ --application=APPLICATION_NAME \ --criticality-type='CRITICALITY_LEVEL' \ --environment-type='ENVIRONMENT' \ --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=MANAGEMENT_PROJECT_ID \ --location=REGION
更改下列內容:
WORKLOAD_NAME
:用來註冊工作負載的名稱。DISCOVERED_WORKLOAD_ID
:上一步輸出內容中的工作負載 ID。WORKLOAD_DISPLAY_NAME
:應用程式的顯示名稱。
注意:
criticality-type
和environment-type
:(選用) 您必須提供其中一個指定值,但這些值可以與建立應用程式時設定的值不同。詳情請參閱本文的「建立應用程式」一節。developer-owners
、operator-owners
和business-owners
:(選用)。 詳情請參閱本文中的「建立應用程式」。
例如:
gcloud apphub applications workloads create my-workload \ --display-name='mywebserver-deployment1' \ --application=my-application \ --criticality-type='MEDIUM' \ --environment-type='STAGING' \ --developer-owners=display-name=developer-name,email=username@yourdomain \ --folder=folder-ID \ --location=us-east1
App Hub 設定程序完成。
新增或移除專案
您可以修改專案附件,讓不同的基礎架構資源可供分組到應用程式中。
控制台
將專案新增至已啟用應用程式的資料夾
-
In the Google Cloud console, go to the project selector page.
-
Click Create project.
-
Name your project. Make a note of your generated project ID.
-
Edit the other fields as needed.
-
Click Create.
從已啟用應用程式的資料夾中移除專案
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
gcloud
將專案新增至已啟用應用程式的資料夾
gcloud projects create PROJECT_ID \ --folder FOLDER_ID
從已啟用應用程式的資料夾中移除專案
Delete a Google Cloud project:
gcloud projects delete PROJECT_ID