App Hub を設定すると、アプリケーションの管理境界が作成されます。この境界は、設定モデルに応じて、管理プロジェクトまたはアプリケーション管理用に構成したホスト プロジェクトとサービス プロジェクトのコレクションのいずれかです。この管理境界内では、サービスとワークロードがアプリケーションとして登録されます。
構成のドリフトを回避し、明確な信頼できる情報源を維持するには、アプリケーション リソースが最初に定義された環境で管理することをおすすめします。
- App Design Center テンプレートからデプロイされたアプリケーションの場合: App Design Center を使用してアプリケーションを管理および更新します。アプリケーション設計の変更については、テンプレートを修正するか、アプリケーション リビジョンを作成して、アプリケーションやコンポーネントの詳細などの設定を更新できます。 
- App Hub でリソースを登録して作成されたアプリケーションの場合: アプリケーション、そのサービス、ワークロードを App Hub 内で直接管理します。 
このページでは、App Hub 内で直接検出または登録されたサービスとワークロードをアプリケーションとして管理する方法について説明します。これらの操作は、 Google Cloud コンソールまたは Google Cloud CLI を使用して実行できます。テンプレートからデプロイされたアプリケーションについては、Application Design Center のドキュメントをご覧ください。
始める前に
App Hub でサービスとワークロードを表示、更新、登録解除するには、次の手順を完了します。
- サポートされている設定モデルのいずれかを使用して、App Hub を設定します。
- サポートされているリソースをアプリケーションに登録する。
必要なロール
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などの特定のリージョンを使用します。
 
 
出力には、表示名、ロケーション、登録ステータス、属性など、リソースの詳細が表示されます。
または、登録ステータスの値が [検出済み] または [登録済み] のすべてのサービスとワークロードのリストを表示します。
検出されたリソース
検出されたリソースは、アプリケーションに登録できます。検出されたリソースを一覧表示する手順は次のとおりです。
- 検出されたサービスを一覧表示します。 - 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
Google Cloudリソースの組織構造を変更するか、基盤となるリソースを削除すると、アプリケーションのサービスとワークロードの登録ステータスが「接続解除」に変わることがあります。接続が解除されたサービスとワークロードは、登録を解除するまでアプリケーションに残りますが、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_EMAIL- SERVICE_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_EMAIL- WORKLOAD_NAMEは、更新するワークロードの名前に置き換えます。- 次の必須フラグとオプション フラグを置き換えます。 - 必須: APPLICATION_NAME: アプリケーションの名前。この値は、アプリケーションの作成時に指定します。
- 必須: PROJECT_ID: ホスト プロジェクトまたは管理プロジェクトの ID。
- 必須: LOCATION: リソースのロケーション。グローバル リソースの場合はglobalを使用し、リージョン リソースの場合はus-east1などの特定のリージョンを使用します。
- 省略可: DISPLAY_NAME: リソースの表示名。
- 省略可: - CRITICALITY_LEVEL: リソースの重要度。次のいずれかの値を使用します。- MISSION_CRITICAL
- HIGH
- MEDIUM
- LOW
 
- 省略可: - ENVIRONMENT: ソフトウェア ライフサイクルのステージ。次の値のいずれかを使用できます。- PRODUCTION
- STAGING
- DEVELOPMENT
- TEST
 
- 省略可: - 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 } }
サービスとワークロードの登録を解除する
サービスまたはワークロードの登録を解除すると、アプリケーションから削除されます。基盤となるリソースは削除されず、再び検出されたリソースになり、別のアプリケーションに登録できるようになります。
サービスとワークロードの登録を解除する手順は次のとおりです。
コンソール
- 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=LOCATION- WORKLOAD_NAMEは、登録解除するワークロードの名前に置き換えます。
 
Terraform
Terraform で管理されているサービスまたはワークロードの登録を解除するには、構成ファイルから対応する google_apphub_service または google_apphub_workload リソース ブロックを削除し、terraform apply を実行します。変更を適用すると、Terraform は App Hub から登録を削除します。
すべてのサービスとワークロードの登録を解除したら、アプリケーションを削除できます。