アプリケーション設定モデルを選択すると、管理プロジェクトで App Hub アプリケーションのアプリケーション管理境界を定義します。次に、この境界内のアプリケーションにサービスとワークロードを登録できます。アプリケーション管理プラクティスを導入するための推奨されるユースケースについては、アプリケーション ライフサイクル管理の準備をするをご覧ください。
構成のドリフトを回避し、明確な信頼できる情報源を維持するには、アプリケーション コンポーネントが最初に定義された環境で管理することをおすすめします。
App Design Center テンプレートからデプロイされたアプリケーションの場合: App Design Center を使用してアプリケーションを管理および更新します。アプリケーション設計の変更については、テンプレートを修正するか、アプリケーション リビジョンを作成して、アプリケーションやコンポーネントの詳細などの設定を更新できます。
App Hub で既存のリソースを登録して作成されたアプリケーションの場合: App Hub 内でアプリケーション、サービス、ワークロードを直接管理します。
このページでは、App Hub 内で直接検出または登録されたサービスとワークロードを管理する方法について説明します。これらのアクションは、 Google Cloud コンソールまたは Google Cloud CLI を使用して実行できます。テンプレートからデプロイされたアプリケーションについては、App Design Center のドキュメントをご覧ください。
始める前に
このドキュメントでは、サポートされているリソースが登録されているアプリケーションがあることを前提としています。
必要なロール
App Hub でサービスとワークロードを管理するために必要な権限を取得するには、アプリケーション管理境界を定義する管理プロジェクトに対する次の IAM ロールを付与するよう管理者に依頼してください。
-
サービスとワークロードの更新と登録解除:
App Hub 編集者 (
roles/apphub.editor) -
サービス、ワークロード、その詳細を表示する: App Hub 閲覧者 (
roles/apphub.viewer)
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
App Hub のロールの詳細については、App Hub の IAM ロールと権限をご覧ください。
サービスとワークロードの詳細を表示する
次の手順に沿って、アプリケーション管理境界内のサービスとワークロードの詳細(ロケーション、アプリケーションへの登録ステータス、属性、プロパティなど)を表示します。これらの詳細については、App Hub のコンセプトとデータモデルをご覧ください。
コンソール
登録ステータスの値が [登録済み] または [切り離し済み] のアプリケーションのサービスとワークロードの詳細を表示します。
Google Cloud コンソールで、プロジェクト選択ツールを使用して管理プロジェクトを選択します。
App Hub から [アプリケーション] ページに移動します。
このページには、アプリケーションのリストが表示されます。
サービスまたはワークロードの詳細を表示するアプリケーションの名前をクリックします。
[サービスとワークロード] タブで、表示するサービスまたはワークロードの名前をクリックします。
コンポーネントの [詳細] ページで、表示名、場所、登録ステータス、プロパティ、属性などの情報を確認できます。
または、登録ステータスの値が [検出済み] または [登録済み] のすべてのサービスとワークロードのリストを表示します。
App Hub から [サービスとワークロード] ページに移動します。
このページには、検出および登録されたすべてのサービスとワークロードのリストが表示されます。
[フィルタ] フィールドを使用して、[環境]、[所有者]、[登録ステータス] などの値を使用して、プロパティ、属性、ステータスで結果を絞り込みます。
gcloud
登録ステータスの値が [登録済み] または [切り離し済み] のアプリケーションのサービスとワークロードの詳細を表示します。
管理プロジェクトのプロジェクト ID を確認します。
アプリケーションからサービスまたはワークロードの説明を取得して、プロパティや属性などの詳細を確認します。
サービスの説明:
gcloud apphub applications services describe SERVICE \ --project=PROJECT_ID \ --application=APPLICATION \ --location=LOCATION次のように置き換えます。
SERVICE: サービスの ID。PROJECT_ID: 管理プロジェクトの ID。APPLICATION: サービスが登録されているアプリケーションの ID。LOCATION: サービスのロケーション。グローバル リソースの場合はglobalを使用し、リージョン リソースの場合はus-east1などの特定のリージョンを使用します。
ワークロードの説明:
gcloud apphub applications workloads describe WORKLOAD \ --project=PROJECT_ID \ --application=APPLICATION \ --location=LOCATION次のように置き換えます。
WORKLOAD: ワークロードの ID。PROJECT_ID: 管理プロジェクトの ID。APPLICATION: ワークロードが登録されているアプリケーションの ID。LOCATION: ワークロードのロケーション。グローバル リソースの場合はglobalを使用し、リージョン リソースの場合はus-east1などの特定のリージョンを使用します。
出力には、表示名、場所、登録ステータスなど、コンポーネントの詳細が表示されます。リソースに プロパティと属性がある場合は、それらも含まれます。
または、登録ステータスの値が [検出済み] または [登録済み] のすべてのサービスとワークロードのリストを表示します。
検出済み
アプリケーション管理境界内で検出された Google Cloud リソースは、アプリケーションのサービスまたはワークロードとして登録できます。検出されたリソースを一覧表示する手順は次のとおりです。
検出されたサービスを一覧表示します。
gcloud apphub discovered-services list \ --project=PROJECT_ID \ --location=LOCATION次のように置き換えます。
PROJECT_ID: 管理プロジェクトの ID。LOCATION: リソースを検出するロケーション。グローバル リソースの場合はglobalを使用し、リージョン リソースの場合はus-east1などの特定のリージョンを使用します。
検出されたワークロードを一覧表示します。
gcloud apphub discovered-workloads list \ --project=PROJECT_ID \ --location=LOCATION
登録済み
登録されたサービスとワークロードはアプリケーションの一部です。特定アプリケーションの登録済みコンポーネントを一覧表示する手順は次のとおりです。--filter フラグを使用して、属性に基づいてリストをフィルタできます。
アプリケーションに登録されているサービスを一覧表示します。
gcloud apphub applications services list \ --application=APPLICATION_NAME \ --project=PROJECT_ID \ --location=LOCATION \ --filter=FILTER_EXPRESSION次のように置き換えます。
APPLICATION_NAME: アプリケーションの名前。この値は、アプリケーションの作成時に指定します。PROJECT_ID: 管理プロジェクトの ID。LOCATION: コンポーネントのロケーション。グローバル コンポーネントにはglobalを使用し、リージョン コンポーネントにはus-east1などの特定のリージョンを使用します。- 省略可:
FILTER_EXPRESSION: 属性を指定するフィルタ式。たとえば、PRODUCTION環境タイプのコンポーネントを一覧表示するには、attributes.environment.type=PRODUCTIONを使用します。
アプリケーション内の登録済みワークロードを一覧表示します。
gcloud apphub applications workloads list \ --application=APPLICATION_NAME \ --project=PROJECT_ID \ --location=LOCATION \ --filter=FILTER_EXPRESSION
プロジェクトまたはフォルダをアプリケーション管理境界外に移動するか、基盤となるリソースを削除すると、アプリケーション内のサービスとワークロードの登録ステータスが「接続解除」に変更されることがあります。接続が解除されたサービスとワークロードは、登録を解除するまでアプリケーションに残りますが、App Hub で管理またはモニタリングすることはできなくなります。詳細については、サービスとワークロードの登録ステータスをご覧ください。
サービスまたはワークロードをアプリケーションに再度関連付けるには、再度登録する必要があります。
サービスとワークロードの属性を更新する
アプリケーションに登録されているサービスとワークロードの属性を変更する手順は次のとおりです。
コンソール
Google Cloud コンソールで、プロジェクト選択ツールを使用して管理プロジェクトを選択します。
App Hub から [アプリケーション] ページに移動します。
このページには、アプリケーションのリストが表示されます。
サービスまたはワークロードの属性を更新するアプリケーションの名前をクリックします。
[サービスとワークロード] タブで、更新するサービスまたはワークロードの名前を見つけます。
more_vert [その他] をクリックし、 [サービスを編集] または [ワークロードを編集] をクリックします。
開いたペインで、必要に応じてフィールドを編集し、[保存] をクリックします。
gcloud
管理プロジェクトのプロジェクト ID を確認します。
サービスまたはワークロードの属性を更新します。
サービス属性を更新します。
gcloud apphub applications services update SERVICE_NAME \ --application=APPLICATION_NAME \ --project=PROJECT_ID \ --location=LOCATION \ --display-name=DISPLAY_NAME \ --criticality-type=CRITICALITY_LEVEL \ --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_EMAILSERVICE_NAMEは、更新するサービスの名前に置き換えます。ワークロード属性を更新します。
gcloud apphub applications workloads update WORKLOAD_NAME \ --application=APPLICATION_NAME \ --project=PROJECT_ID \ --location=LOCATION \ --display-name=DISPLAY_NAME \ --criticality-type=CRITICALITY_LEVEL \ --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_EMAILWORKLOAD_NAMEは、更新するワークロードの名前に置き換えます。次の必須フラグとオプション フラグを置き換えます。
- 必須:
APPLICATION_NAME: アプリケーションの名前。この値は、アプリケーションの作成時に指定します。 - 必須:
PROJECT_ID: 管理プロジェクトの ID。 - 必須:
LOCATION: コンポーネントの場所。グローバル コンポーネントにはglobalを使用し、リージョン コンポーネントには特定のリージョン(us-east1など)を使用します。 - 省略可:
DISPLAY_NAME: コンポーネントの表示名。 省略可:
CRITICALITY_LEVEL: コンポーネントの重要度。次のいずれかの値を使用します。MISSION_CRITICALHIGHMEDIUMLOW
省略可:
ENVIRONMENT: ソフトウェア ライフサイクルのステージ。次の値のいずれかを使用できます。PRODUCTIONSTAGINGDEVELOPMENTTEST
省略可:
DEV_NAMEとDEV_EMAIL: それぞれデベロッパー オーナーの表示名とメールアドレス。省略可:
OPERATOR_NAMEとOPERATOR_EMAIL: オペレーター オーナーの表示名とメールアドレス。省略可:
BUSINESS_NAMEとBUSINESS_EMAIL: ビジネス オーナーの表示名とメールアドレス。
- 必須:
Terraform
Terraform を使用してサービスまたはワークロードの属性を更新するには、構成ファイル内の対応する google_apphub_service または google_apphub_workload リソース ブロック内の引数を変更します。変更を適用すると、Terraform は新しい構成に合わせてリソースを更新します。
次の例では、リージョン アプリケーションのサービスとワークロードの重要度と環境の属性を更新します。
サービス属性を更新します。
resource "google_apphub_service" "example" { # ... other arguments attributes { criticality { type = "HIGH" # Updated criticality } environment { type = "PRODUCTION" } # ... other attributes } }ワークロード属性を更新します。
resource "google_apphub_workload" "example" { # ... other arguments attributes { criticality { type = "HIGH" # Updated criticality } environment { type = "PRODUCTION" } # ... other attributes } }
サービスとワークロードの登録を解除する
サービスまたはワークロードの登録を解除すると、アプリケーションから削除されます。基盤となるリソースは削除されません。アプリケーション管理の境界内にある場合は、登録ステータスの値が discovered のリソースになり、別のアプリケーションに登録できます。
サービスとワークロードの登録を解除する手順は次のとおりです。
コンソール
Google Cloud コンソールで、プロジェクト選択ツールを使用して管理プロジェクトを選択します。
App Hub から [アプリケーション] ページに移動します。
このページには、アプリケーションのリストが表示されます。
サービスまたはワークロードの登録を解除するアプリケーションの名前をクリックします。
[サービスとワークロード] タブで、登録を解除するサービスまたはワークロードの名前をクリックします。
コンポーネントの詳細ページで、[登録解除] をクリックします。
gcloud
管理プロジェクトのプロジェクト ID を確認します。
サービスまたはワークロードの登録を解除します。
サービスの登録を解除します。
gcloud apphub applications services delete SERVICE_NAME \ --application=APPLICATION_NAME \ --project=PROJECT_ID \ --location=LOCATION次のように置き換えます。
SERVICE_NAME: 登録解除するサービスの名前。APPLICATION_NAME: アプリケーションの名前。この値は、アプリケーションの作成時に指定します。PROJECT_ID: 管理プロジェクトの ID。LOCATION: コンポーネントのロケーション。グローバル コンポーネントまたは特定のリージョンにはglobalを使用し、リージョン コンポーネントにはus-east1などの特定のリージョンを使用します。
ワークロードの登録を解除します。
gcloud apphub applications workloads delete WORKLOAD_NAME \ --application=APPLICATION_NAME \ --project=PROJECT_ID \ --location=LOCATIONWORKLOAD_NAMEは、登録解除するワークロードの名前に置き換えます。
Terraform
Terraform で管理されているサービスまたはワークロードの登録を解除するには、構成ファイルから対応する google_apphub_service または google_apphub_workload リソース ブロックを削除し、terraform apply を実行します。変更を適用すると、Terraform は App Hub から登録を削除します。
すべてのサービスとワークロードの登録を解除したら、アプリケーションを削除できます。