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 から登録を削除します。
すべてのサービスとワークロードの登録を解除したら、アプリケーションを削除できます。