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 の [アプリケーション] ページに移動します。 - このページには、アプリケーションのリストが表示されます。 
- リストをフィルタするには、[フィルタ] フィールドを使用します。重大度や環境などの属性でフィルタできます。 
gcloud
- 管理プロジェクトまたはホスト プロジェクトのプロジェクト ID を確認します。 
- 次のいずれかのオプションを使用して、アプリケーションのリストを表示します。 - すべてのアプリケーションを一覧表示します。 - gcloud apphub applications list \ --project=PROJECT_ID \ --location=LOCATION- 次のように置き換えます。 - PROJECT_ID: ホスト プロジェクトまたは管理プロジェクトの ID。
- LOCATION: アプリケーションのロケーション。グローバル アプリケーションの場合は- globalを使用し、リージョン アプリケーションの場合は- us-east1などの特定のリージョンを使用します。
 
- --filterフラグを使用して、属性に基づいてアプリケーションのリストをフィルタします。- gcloud apphub applications list \ --project=PROJECT_ID \ --location=LOCATION \ --filter=FILTER_EXPRESSION \- 次のように置き換えます。 - PROJECT_ID: ホスト プロジェクトまたは管理プロジェクトの ID。
- LOCATION: アプリケーションのロケーション。グローバル アプリケーションの場合は- globalを使用し、リージョン アプリケーションの場合は- us-east1などの特定のリージョンを使用します。
- FILTER_EXPRESSION: 属性を指定するフィルタ式。たとえば、- PRODUCTION環境タイプのすべてのアプリケーションを一覧表示するには、- attributes.environment.type=PRODUCTIONを使用します。
 
 
アプリケーションの詳細を表示する
特定のアプリケーションの詳細情報(属性やメタデータなど)を表示する手順は次のとおりです。
コンソール
- Google Cloud コンソールの [ようこそ] ページで、プロジェクト ピッカーを使用して管理プロジェクトまたはホスト プロジェクトを選択します。 
- App Hub の [アプリケーション] ページに移動します。 - このページには、アプリケーションのリストが表示されます。 
- 表示するアプリケーションの名前をクリックします。 - アプリケーションの [詳細] タブが表示されます。 
gcloud
- 管理プロジェクトまたはホスト プロジェクトのプロジェクト ID を確認します。 
- アプリケーションの説明: - gcloud apphub applications describe APPLICATION_NAME \ --project=PROJECT_ID \ --location=LOCATION- 次のように置き換えます。 - APPLICATION_NAME: アプリケーションの名前。この値は、アプリケーションの作成時に指定します。
- PROJECT_ID: ホスト プロジェクトまたは管理プロジェクトの ID。
- LOCATION: アプリケーションのロケーション。グローバル アプリケーションの場合は- globalを使用し、リージョン アプリケーションの場合は- us-east1などの特定のリージョンを使用します。
 
アプリケーション属性を更新する
アプリケーションの作成後にユーザー定義属性を変更する手順は次のとおりです。
コンソール
- Google Cloud コンソールの [ようこそ] ページで、プロジェクト ピッカーを使用して管理プロジェクトまたはホスト プロジェクトを選択します。 
- App Hub の [アプリケーション] ページに移動します。 - このページには、アプリケーションのリストが表示されます。 
- 更新するアプリケーションの [編集] をクリックします。 
- [アプリケーションの編集] ペインで、必要に応じてフィールドを変更します。 
- [保存] をクリックします。 
gcloud
- 管理プロジェクトまたはホスト プロジェクトのプロジェクト ID を確認します。 
- アプリケーションの属性を更新します。 - display-name、- criticality-type、- environment-type、所有者などの変更可能な属性を更新できます。- gcloud apphub applications update 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- 次のように置き換えます。 - 必須: 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_application リソース ブロック内の引数を変更します。変更を適用すると、Terraform は新しい構成に合わせてアプリケーションを更新します。
次の例では、us-central1 のリージョン アプリケーションの重要度と環境の属性を更新します。
resource "google_apphub_application" "example" {
    project        = "my-project-id"
    location       = "us-central1"
    application_id = "my-application"
    display_name   = "My Application"
    description    = "This application represents our platform."
    attributes {
        criticality {
            type = "HIGH" # Updated criticality
        }
        environment {
            type = "PRODUCTION"
        }
        # ... other attributes
    }
}
アプリケーションを削除する
アプリケーションを削除する前に、まず関連するすべてのサービスとワークロードの登録を解除する必要があります。次の手順でアプリケーションを削除します。
コンソール
- Google Cloud コンソールの [ようこそ] ページで、プロジェクト ピッカーを使用して管理プロジェクトまたはホスト プロジェクトを選択します。 
- App Hub の [アプリケーション] ページに移動します。 - このページには、アプリケーションのリストが表示されます。 
- 削除するアプリケーションの名前をクリックします。 
- [サービスとワークロード] タブに移動し、アプリケーションに関連付けられているすべてのリソースの登録が解除されていることを確認します。詳細については、サービスとワークロードの登録を解除するをご覧ください。 
- すべてのサービスとワークロードの登録を解除したら、アプリケーションの詳細に戻り、[削除] をクリックします。 
gcloud
- 管理プロジェクトまたはホスト プロジェクトのプロジェクト ID を確認します。 
- アプリケーションに関連付けられているすべてのリソースの登録を解除したことを確認します。詳細については、サービスとワークロードの登録解除をご覧ください。 
- 登録されたリソースがなくなったら、アプリケーションを削除します。 - gcloud apphub applications delete APPLICATION_NAME \ --project=PROJECT_ID \ --location=LOCATION- 次のように置き換えます。 - APPLICATION_NAME: アプリケーションの名前。この値は、アプリケーションの作成時に指定します。
- PROJECT_ID: ホスト プロジェクトまたは管理プロジェクトの ID。
- LOCATION: アプリケーションのロケーション。グローバル アプリケーションの場合は- globalを使用し、リージョン アプリケーションの場合は- us-east1などの特定のリージョンを使用します。
 
Terraform
Terraform で管理されているアプリケーションを削除するには、次のいずれかの方法を使用します。
- 構成からリソースを削除する: Terraform ファイルから google_apphub_applicationリソース ブロックを削除し、terraform applyを実行します。Terraform は、リソースが構成に存在しないことを認識し、プロジェクトから削除します。
- すべてのリソースを終了する: terraform destroyコマンドを実行して、アプリケーションを含む Terraform 構成で管理されているすべてのリソースを終了します。