このチュートリアルは、App Hub を設定および管理するユーザーを対象としています。Cloud Load Balancing の使用経験が必要です。
目標
このチュートリアルでは、次のタスクを行う方法を説明します。- Google Cloud プロジェクトを作成または選択します。このプロジェクトは、App Hub のホスト プロジェクトです。
ホスト プロジェクトで、Terraform を使用して VPC ネットワーク、リージョン外部アプリケーション ロードバランサ、ロードバランサの MIG バックエンドをデプロイします。リージョン外部アプリケーション ロードバランサには、次のリソースが含まれます。
- HTTP ヘルスチェック
- 転送ルール
- URL マップ
- ターゲット プロキシ
- マネージド インスタンス グループをバックエンドとして使用するバックエンド サービス
- SSL 証明書(HTTPS の場合)
転送ルール、URL マップ、バックエンド サービス、MIG のみが、App Hub で検出されたリソースとして使用可能になります。詳細については、コンセプトとデータモデルをご覧ください。
ホスト プロジェクトに適切なロールと権限を付与します。
App Hub ホスト プロジェクトをサービス プロジェクトとして接続する。
App Hub ホスト プロジェクトでアプリケーションを作成する。
インフラストラクチャ リソースを App Hub サービスとワークロードとして検出する。
アプリケーションにサービス プロジェクトのサービスとワークロードを登録し、属性を割り当てる。
App Hub で登録されているサービスとワークロードの詳細を表示する。
費用
ロードバランスされたマネージド VM ソリューションで使用される Google Cloud リソースの費用を見積もるには、Google Cloud 料金計算ツールで事前に計算された見積もりをご覧ください。
見積もりを出発点として使用して、デプロイの費用を計算します。見積もりを変更して、ソリューションで使用するリソースに対して行う予定の構成の変更を反映できます。
事前に計算された見積もりは、次のような特定の要因に関する前提条件に基づいています。
- リソースがデプロイされている Google Cloud のロケーション。
- リソースが使用される時間。
App Hub の費用について詳しくは、料金ページをご覧ください。
始める前に
プロジェクト作成者にはオーナーロール(roles/owner
)が付与されます。デフォルトでは、この Identity and Access Management(IAM)ロールには、ほとんどの Google Cloud リソースに対する完全アクセスに必要な権限が含まれています。
プロジェクト作成者でない場合は、プロジェクトで適切なプリンシパルに必要な権限を付与する必要があります。プリンシパルは Google アカウント(エンドユーザーの場合)やサービス アカウント(アプリケーションとワークロードの場合)になることもあります。
このチュートリアルを完了するために必要な権限を取得するには、プロジェクトに対する次の IAM ロールを付与するよう管理者に依頼してください。
-
Service Usage 管理者 (
roles/serviceusage.services.enable
) -
サービス アカウント管理者(
roles/iam.serviceAccounts.create
) -
プロジェクト IAM 管理者(
roles/resourcemanager.projectIamAdmin
) -
Cloud Infrastructure Manager (
roles/config.admin
) -
App Hub 管理者 (
roles/apphub.admin
)
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
Console
Google Cloud コンソールでプロジェクトの選択ページに移動します。
App Hub ホスト プロジェクトとなる Google Cloud プロジェクトを選択または作成します。
-
Enable the required APIs.
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 のホスト プロジェクトとなる新しいプロジェクト
HOST_PROJECT_ID
を作成または選択します。Google Cloud プロジェクトを作成します。
gcloud projects create HOST_PROJECT_ID
作成した Google Cloud プロジェクトを選択します。
gcloud config set project HOST_PROJECT_ID
API を有効にします。
gcloud services enable apphub.googleapis.com \ cloudresourcemanager.googleapis.com \ compute.googleapis.com \ config.googleapis.com \ serviceusage.googleapis.com
環境の準備
このソリューションを最小限の労力でデプロイできるように、Terraform 構成が GitHub で提供されています。Terraform 構成では、ソリューションに必要なすべての Google Cloud のリソースを定義しています。 GitHub から Terraform 構成をダウンロードし、必要に応じてコードをカスタマイズしてから、Terraform CLI を使用してソリューションをデプロイします。ソリューションをデプロイした後も、引き続き Terraform を使用してソリューションを管理できます。
ロードバランスされたマネージド VM ソリューションでデプロイされるトポロジのリクエスト処理フローは次のとおりです。
ユーザーが、Compute Engine にデプロイされたアプリケーションにリクエストを行います。Cloud Load Balancing がこのリクエストを受信します。
Cloud Load Balancing は、転送ルール、URL マップ、バックエンド サービス内の情報を使用して、Compute Engine マネージド インスタンス グループにトラフィックをルーティングします。
Terraform クライアントを設定する
Terraform は、Cloud Shell またはローカルホストで実行できます。このチュートリアルでは、Terraform がプリインストールされ、Google Cloud での認証が構成されている Cloud Shell で Terraform を実行する方法について説明します。
このソリューションの Terraform コードは、GitHub リポジトリで入手できます。
Cloud Shell で、GitHub リポジトリのクローンを作成します。
git clone https://github.com/terraform-google-modules/terraform-docs-samples
Cloud Shell で、現在の作業ディレクトリが
terraform-docs-samples/lb/regional_external_http_load_balancer
かどうかを確認します。このディレクトリには、ソリューションの Terraform 構成ファイルが含まれています。このディレクトリに移動する必要がある場合は、次のコマンドを実行します。cd terraform-docs-samples/lb/regional_external_http_load_balancer
次のコマンドを実行して Terraform を初期化します。
terraform init
次のメッセージが表示されるまで待ちます。
Terraform has been successfully initialized!
Terraform 構成を検証して確認する
現在の作業ディレクトリが
terraform-docs-samples/lb/regional_external_http_load_balancer
であることを確認します。そうでない場合は、そのディレクトリに移動します。Terraform 構成にエラーがないことを確認します。
terraform validate
コマンドからエラーが返された場合は、構成で必要な修正を行ってから、
terraform validate
コマンドを再度実行します。コマンドで次のメッセージが返されるまで、この手順を繰り返します。Success! The configuration is valid.
構成で定義されているリソースを確認します。
terraform plan
terraform plan
コマンドの出力に、構成の適用時に Terraform がプロビジョニングするリソースのリストが表示されます。変更を行う場合は、構成を編集してから、
terraform validate
コマンドとterraform plan
コマンドを再度実行します。
リソースをプロビジョニングする
構成にこれ以上の変更が必要ない場合は、リソースをデプロイします。
現在の作業ディレクトリが
terraform-docs-samples/lb/regional_external_http_load_balancer
であることを確認します。そうでない場合は、そのディレクトリに移動します。Terraform 構成を適用します。
terraform apply
作成されるリソースのリストが表示されます。
アクションの実行を求められたら、「
yes
」と入力します。Terraform でデプロイの進行状況を示すメッセージが表示されます。
デプロイを完了できない場合、失敗の原因となったエラーが表示されます。エラー メッセージを確認し、構成を更新してエラーを修正します。次に、
terraform apply
コマンドを再実行します。すべてのリソースが作成されると、Terraform から次のメッセージが表示されます。
Apply complete!
Terraform に「Apply complete!」というメッセージが表示されるまで待ちます。
Cloud Load Balancing は、転送ルール、URL マップ、バックエンド サービス、Compute Engine MIG にトラフィックを分散します。バックエンド サービス、URL マップ、転送ルールが、App Hub ホスト プロジェクトで検出されたサービスになります。Compute Engine MIG は、App Hub ホスト プロジェクトで検出されたワークロードになります。
このソリューションが不要になった場合は、デプロイメントを削除して、Google Cloud リソースに対する課金が継続しないようにします。詳細については、デプロイメントを削除するをご覧ください。
IAM 権限を付与
App Hub ホスト プロジェクトに適切な IAM ロールと権限を付与します。
Console
このチュートリアルを完了するために必要な権限を取得するには、プロジェクトに対する必要な IAM ロールを付与するよう管理者に依頼してください。
Google Cloud コンソールの [IAM] ページに移動します。
[
アクセスを許可] をクリックします。アクセス権の付与ペインが開きます。[新しいプリンシパル] フィールドに、ホスト プロジェクトの App Hub 管理者のロール、つまり App Hub を管理するユーザーのメールアドレスを入力します。
[ロールを選択] をクリックし、[フィルタ] フィールドに「
App Hub
」と入力します。[App Hub 管理者] ロールを選択します。
[別のロールを追加] をクリックし、[ロールを選択] リストから [Monitoring 閲覧者] を選択します。
[保存] をクリックします。
gcloud
App Hub を使用するユーザーにロールを付与するには、必要に応じて IAM ロールを置き換えて、次のコマンドを繰り返します。詳細については、App Hub のロールと権限をご覧ください。
gcloud projects add-iam-policy-binding HOST_PROJECT_ID \ --member='user:HOST_PROJECT_ADMIN' \ --role='roles/apphub.admin'
HOST_PROJECT_ADMIN
は、ホスト プロジェクトで App Hub 管理者のロールを持つユーザーに置き換えます。この値の形式はusername@yourdomain
です(例:222larabrown@gmail.com
)。App Hub を管理するユーザーに、サービス プロジェクトの App Hub 管理者のロールを付与します。ホスト プロジェクトにサービス プロジェクトを追加するには、App Hub 管理者のロールが必要です。このロールを持つユーザーは、サービス プロジェクトごとに 1 人以上必要です。この例では、ホスト プロジェクトがサービス プロジェクトとして機能します。
gcloud projects add-iam-policy-binding SERVICE_PROJECT_ID \ --member='user:HOST_PROJECT_ADMIN' \ --role='roles/apphub.admin'
SERVICE_PROJECT_ID
は、HOST_PROJECT_ID の名前に置き換えます。App Hub を管理するユーザーに、ホスト プロジェクトの Monitoring 閲覧者のロールを付与します。指標を表示するには、ホスト プロジェクトに対する Monitoring 閲覧者のロールが必要です。
gcloud projects add-iam-policy-binding SERVICE_PROJECT_ID \ --member='user:HOST_PROJECT_ADMIN' \ --role='roles/monitoring.viewer'
サービス プロジェクトを接続する
リソースをサービス プロジェクトとしてデプロイしたホスト プロジェクトを接続します。
Console
Google Cloud コンソールで、App Hub の [設定] ページに移動します。
[設定] ページで、[プロジェクトを接続] をクリックします。
開いたペインで、表示されたリストからプロジェクトを検索し、App Hub サービス プロジェクトのチェックボックスをオンにします。
[選択] をクリックします。 [接続されたサービス プロジェクト] テーブルに、選択したホスト プロジェクトがサービス プロジェクトとして表示されます。
[閉じる] をクリックします。
gcloud
ホスト プロジェクトをサービス プロジェクトとして App Hub ホスト プロジェクトに追加します。
gcloud apphub service-projects add HOST_PROJECT_ID \ --project=HOST_PROJECT_ID
アプリケーションを作成する
サービスとワークロードのコンテナになるアプリケーションを作成します。
Console
- App Hub ホスト プロジェクトにいることを確認します。
Google Cloud コンソールで、App Hub の [アプリケーション] ページに移動します。
[アプリケーションを作成] をクリックします。
[アプリケーションを作成] ページの [アプリケーションのリージョンと名前を選択] ペインで、[リージョン] を選択します。
[リージョン] リストで [us-west1] を選択します。
[アプリケーション名] フィールドに、
tutorial-application
と入力します。表示名
Tutorial
を入力し、[続行] をクリックします。[属性を追加] ペインで、[重要度] リストから [高] を選択します。重要度は、アプリケーション、サービス、またはワークロードが、ビジネス運営にとってどの程度重要であるかを示します。
[環境] フィールドで、ソフトウェア ライフサイクルのステージを示すために [本番環境] を選択します。
[続行] をクリックします。
[オーナーを追加] ペインで、デベロッパー オーナー、オペレーター オーナー、ビジネス オーナーの次の詳細を追加します。表示名を追加する場合は、所有者のメールアドレスを入力する必要があります。
- 所有者の表示名を入力します。
- 所有者のメールアドレスを入力します。この値は、
username@yourdomain
の形式(例:222larabrown@gmail.com
)にする必要があります。
デベロッパー、オペレーター、ビジネス オーナーごとに、上記の手順を繰り返します。
[作成] をクリックします。
新しいアプリケーションが作成され、[アプリケーション] ページに表示されます。
gcloud
作成した App Hub ホスト プロジェクトを選択します。
gcloud config set project HOST_PROJECT_ID
リージョン
us-west1
にtutorial-application
という名前の新しいアプリケーションを作成し、表示名Tutorial
を設定します。gcloud apphub applications create tutorial-application \ --display-name='Tutorial' \ --scope-type=REGIONAL \ --project=HOST_PROJECT_ID \ --location=us-west1
App Hub ホスト プロジェクト内のアプリケーションを一覧表示します。
gcloud apphub applications list \ --project=HOST_PROJECT_ID \ --location=us-west1
次のような出力が表示されます。
ID DISPLAY_NAME CREATE_TIME tutorial-application Tutorial 2023-10-31T18:33:48
criticality-type
、environment-type
、オーナーの属性でアプリケーションを更新します。gcloud apphub applications update tutorial-application \ --criticality-type='HIGH' \ --environment-type='PRODUCTION' \ --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=HOST_PROJECT_ID \ --location=us-west1
以下を置き換えます。
DISPLAY-NAME-DEVELOPER
、DISPLAY-NAME-OPERATOR
、DISPLAY-NAME-BUSINESS
: それぞれ、デベロッパー、オペレーター、ビジネス オーナーの表示名。EMAIL-NAME-DEVELOPER
、EMAIL-NAME-OPERATOR
、EMAIL-NAME-BUSINESS
: それぞれ、デベロッパー、オペレーター、ビジネス オーナーのメールアドレス。これらの値は、username@yourdomain
の形式にする必要があります(例:222larabrown@gmail.com
)。
注:
criticality-type
: ビジネス運営におけるアプリケーション、サービス、ワークロードの重要度を示します。environment-type
: ソフトウェア ライフサイクルのステージを示します。
作成したアプリケーションの詳細を取得します。
gcloud apphub applications describe tutorial-application \ --project=HOST_PROJECT_ID \ --location=us-west1
このコマンドは、次のような YAML 形式の情報を返します。
attributes: businessOwners: – displayName: [DISPLAY-NAME-BUSINESS] email: [EMAIL-BUSINESS] criticality: type: HIGH developerOwners: – displayName: [DISPLAY-NAME-DEVELOPER] email: [EMAIL-DEVELOPER] environment: type: PRODUCTION operatorOwners: – displayName: [DISPLAY-NAME-OPERATOR] email: [EMAIL-OPERATOR] createTime: '2023-10-31T18:33:48.199394108Z' displayName: Tutorial name: projects/HOST_PROJECT_ID/locations/us-west1/applications/tutorial-application scope: type: REGIONAL state: ACTIVE uid: 9d991a9d-5d8a-4c0d-b5fd-85e39fb58c73 updateTime: '2023-10-31T18:33:48.343303819Z'
サービスとワークロードを登録する
サービスとワークロードを登録すると、アプリケーションに追加されます。
Console
Google Cloud コンソールで、App Hub の [アプリケーション] ページに移動します。
アプリケーションの名前、「Tutorial」をクリックします。 [サービスとワークロード] タブに、App Hub サービス プロジェクトに存在する登録済みのサービスとワークロードのリストが表示されます。
サービスの登録:
- [サービスとワークロード] タブで、[サービス / ワークロードを登録] をクリックします。
- [サービスまたはワークロードの登録] ページの [リソースの選択] ペインで、[参照] をクリックして、サービスまたはワークロードを [リソース] として選択します。
- [リソースの選択] ペインで、サービスの名前「l7-xlb-backend-service」を選択し、[選択] をクリックします。
- [リソースの選択] ペインで、リソースの名前
tutorial-service-backend
を入力します。 - 表示名
Backend service
を入力し、[続行] をクリックします。 - [属性を追加] ペインの [重要度] リストで、アプリケーションの重要性を示すために [高] を選択します。
- [環境] フィールドで、ソフトウェア ライフサイクルのステージを示すために [本番環境] を選択します。
- [続行] をクリックします。
- [オーナーを追加] ペインで、デベロッパー オーナー、オペレーター オーナー、ビジネス オーナーに必要であるため、次の詳細を追加します。表示名を追加する場合は、所有者のメールアドレスを入力する必要があります。
- 所有者の表示名を入力します。
- 所有者のメールアドレスを入力します。この値は、
username@yourdomain
の形式(例:222larabrown@gmail.com
)にする必要があります。
- デベロッパー、オペレーター、ビジネス オーナーごとに、上記の手順を繰り返します。
- [Register] をクリックします。
[サービスとワークロード] タブの [登録されているサービスとワークロード] セクションで、追加された新しいサービスを確認できます。
上記の手順を繰り返して、他のサービスを tutorial-service-forwarding-rule と tutorial-service-url-map として登録します。
次の例外を除き、前述のサービスの登録手順を繰り返して、ワークロードを登録します。
- [サービスまたはワークロードの登録] ペインの [サービスまたはワークロードの選択] セクションで、ワークロードの [名前]「l7-xlb-backend-example」を選択して [続行] をクリックします。
- [リソースの選択] ペインで、リソースの名前
tutorial-workload-mig
を入力します。 - 表示名
Workload instance group
を入力し、[続行] をクリックします。[サービスとワークロード] タブの [登録されているサービスとワークロード] セクションで、追加された新しいワークロードを確認できます。
gcloud
App Hub 編集者の権限を持つユーザーを追加します。
gcloud projects add-iam-policy-binding HOST_PROJECT_ID \ --member='user:APP_HUB_EDITOR' \ --role='roles/apphub.editor'
APP_HUB_EDITOR
は、App Hub ホスト プロジェクトで App Hub 編集者のロールを持つユーザーに置き換えます。この値の形式はusername@yourdomain
です(例:222larabrown@gmail.com
)。App Hub ホスト プロジェクトで検出されたすべてのサービスを一覧表示します。このコマンドによって、アプリケーションに登録可能なサービスが返されます。
gcloud apphub discovered-services list \ --project=HOST_PROJECT_ID \ --location=us-west1
次のような出力が表示されます。
ID SERVICE_REFERENCE SERVICE_PROPERTIES
BACKEND_SERVICE_ID
{'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/backendServices/l7-xlb-backend-service'} {'gcpProject': 'projects/SERVICE_PROJECT_ID', 'location': 'us-west1'}FORWARDING_RULE_SERVICE_ID"
{'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/forwardingRules/l7-xlb-forwarding-rule'} {'gcpProject': 'projects/SERVICE_PROJECT_ID', 'location': 'us-west1'}URL_MAP_SERVICE_ID
{'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/urlMaps/regional-l7-xlb-map'} {'gcpProject': 'projects/SERVICE_PROJECT_ID', 'location': 'us-west1'}次のステップで使用するサービス
ID
(BACKEND_SERVICE_SP2_ID
など)を出力からコピーします。前の手順で取得したサービスをアプリケーションに登録します。前の手順の出力フィールドからサービス ID をコピーします。
gcloud apphub applications services create tutorial-service-backend \ --discovered-service='projects/HOST_PROJECT_ID/locations/us-west1/discoveredServices/BACKEND_SERVICE_ID' \ --display-name='Backend service' \ --criticality-type='HIGH' \ --environment-type='PRODUCTION' \ --application=tutorial-application \ --project=HOST_PROJECT_ID \ --location=us-west1
gcloud apphub applications services create tutorial-service-forwarding-rule \ --discovered-service='projects/HOST_PROJECT_ID/locations/us-west1/discoveredServices/FORWARDING_RULE_SERVICE_ID' \ --display-name='Forwarding rule' \ --criticality-type='HIGH' \ --environment-type='PRODUCTION' \ --application=tutorial-application \ --project=HOST_PROJECT_ID \ --location=us-west1
gcloud apphub applications services create tutorial-service-url-map \ --discovered-service='projects/HOST_PROJECT_ID/locations/us-west1/discoveredServices/URL_MAP_SERVICE_ID' \ --display-name='URL map' \ --criticality-type='HIGH' \ --environment-type='PRODUCTION' \ --application=tutorial-application \ --project=HOST_PROJECT_ID \ --location=us-west1
以下を置き換えます。
BACKEND_SERVICE_ID
: 登録するバックエンド サービスのサービスID
。FORWARDING_RULE_SERVICE_ID
: 登録する転送ルールのサービスID
。URL_MAP_SERVICE_ID
: 登録する URL マップのサービスID
。
アプリケーションに登録されたすべてのサービスを一覧表示します。
gcloud apphub applications services list \ --application=tutorial-application \ --project=HOST_PROJECT_ID \ --location=us-west1
次のような出力が表示されます。
ID DISPLAY_NAME SERVICE_REFERENCE CREATE_TIME tutorial-service-backend Backend service {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/backendServices/l7-xlb-backend-service'} 2024-02-13T00:31:45 tutorial-service-forwarding-rule Forwarding rule {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/forwardingRules/l7-xlb-forwarding-rule'} 2024-02-13T00:31:45 tutorial-service-url-map URL map {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/urlMaps/regional-l7-xlb-map'} 2024-02-13T00:31:45
登録済みであるが、接続解除されているサービスは、
SERVICE_REFERENCE
フィールドに空の値で示されます。登録ステータスの詳細については、App Hub のプロパティと属性をご覧ください。App Hub ホスト プロジェクトで検出されたすべてのワークロードを一覧表示します。このコマンドによって、アプリケーションに登録可能なワークロードが返されます。
gcloud apphub discovered-workloads list \ --project=HOST_PROJECT_ID \ --location=us-west1
次のような出力が表示されます。
ID WORKLOAD_REFERENCE WORKLOAD_PROPERTIES
INSTANCE_GROUP_ID
{'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/zones/us-west1-a/instanceGroups/l7-xlb-backend-example'} {'gcpProject': 'projects/SERVICE_PROJECT_ID', 'location': 'us-west1', 'zone': 'us-west1-a'}出力からワークロード ID をコピーし、次の手順で使用します。
前の手順のワークロードを
sample-workload
としてアプリケーションに登録します。前の手順の出力フィールドからワークロード ID をコピーします。gcloud apphub applications workloads create tutorial-workload \ --discovered-workload='projects/HOST_PROJECT_ID/locations/us-west1/discoveredWorkloads/WORKLOAD_ID' \ --display-name='Workload instance group' \ --application=tutorial-application \ --project=HOST_PROJECT_ID \ --location=us-west1
WORKLOAD_ID
は、登録するワークロードの ID に置き換えます。アプリケーションに登録されているすべてのワークロードを一覧表示します。
gcloud apphub applications workloads list \ --application=tutorial-application \ --project=HOST_PROJECT_ID \ --location=us-west1
次のような出力が表示されます。
ID DISPLAY_NAME WORKLOAD_REFERENCE CREATE_TIME tutorial-workload-mig Workload instance group {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/zones/us-west1-a/instanceGroups/l7-xlb-backend-example'} 2024-02-13T00:31:45
登録済みであるが、接続解除されたワークロードは、
WORKLOAD_REFERENCE
フィールドに空の値で示されます。登録ステータスの詳細については、App Hub のプロパティと属性をご覧ください。
すべてのサービスとワークロードを表示する
App Hub ホスト プロジェクトに接続されているサービス プロジェクトから、サービスとワークロードの詳細を表示できます。
Google Cloud コンソールで、App Hub の [サービスとワークロード] ページに移動します。
[リージョン] リストで [us-west1] を選択します。Workload instance group ワークロードに、[App Hub タイプ]、[重要度]、[登録先] などの詳細が表示されます。
状態に基づいてサービスまたはワークロードをフィルタするには:
- [フィルタ] フィールドで、[登録ステータス] などのフィルタを選択します。
- [登録済み] をクリックします。アプリケーションに登録されているサービスとワークロードのリストが表示されます。
アプリケーション指標を表示する
App Hub ホスト プロジェクトで作成されたアプリケーションのシステム指標を表示できます。これらの指標は、アプリケーションのパフォーマンスと健全性のモニタリングに役立つゴールデン シグナル(トラフィック、エラー、レイテンシ、飽和度)に対応しています。
Google Cloud コンソールで、App Hub の [アプリケーション] ページに移動します。
アプリケーションの名前「
Tutorial
」をクリックします。[サービスとワークロード] タブに、アプリケーションに登録されているサービスとワークロードのメタデータが表示されます。
登録されたサービスとワークロードのシステム指標を表示するには、[指標] をクリックします。
クリーンアップ
このチュートリアルで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、リソースを含むプロジェクトを削除するか、プロジェクトを維持して個々のリソースを削除します。
App Hub リソースを削除する
Console
Google Cloud コンソールで、App Hub の [アプリケーション] ページに移動します。
アプリケーションの名前、「Tutorial」をクリックします。
[サービスとワークロード] タブの [登録済みのサービスとワークロード] セクションで、サービスの名前をクリックします。
[サービスとワークロード] ページで、[登録を解除する] をクリックします。
サービスの登録が解除されたことを示すアラートが表示されます。
[サービスとワークロード] タブの [登録済みのサービスとワークロード] セクションで、ワークロードの名前をクリックします。
[詳細] タブで、[登録を解除する] をクリックします。
ワークロードの登録が解除されたことを示すアラートが表示されます。
App Hub の [アプリケーション] ページに移動します。
アプリケーションの名前をクリックします。
[tutorial-application] ページで、[削除] をクリックします。
Google Cloud コンソールで、App Hub の [設定] ページに移動します。
[設定] ページで、App Hub ホスト プロジェクトから削除するサービス プロジェクトのチェックボックスをオンにします。
[プロジェクトを接続解除] をクリックします。
gcloud
アプリケーションの登録済みサービスを一覧表示します。
gcloud apphub applications services list \ --application=tutorial-application --project=HOST_PROJECT_ID \ --location=us-west1
アプリケーションからサービスを登録解除します。
gcloud apphub applications services delete SERVICE_NAME \ --application=tutorial-application --project=HOST_PROJECT_ID \ --location=us-west1
SERVICE_NAME
は、実際のサービス名に置き換えます。これで、アプリケーションに登録可能な検出されたサービスになります。
アプリケーションの登録済みワークロードを一覧表示します。
gcloud apphub applications workloads list \ --application=tutorial-application --project=HOST_PROJECT_ID \ --location=us-west1
アプリケーションからワークロードの登録を解除します。
gcloud apphub applications workloads delete WORKLOAD_NAME \ --application=tutorial-application --project=HOST_PROJECT_ID \ --location=us-west1
WORKLOAD_NAME
は、使用するワークロードの名前に置き換えます。これで、ワークロードは、アプリケーションに登録可能な検出されたワークロードになります。
アプリケーションを削除します。
gcloud apphub applications delete tutorial-application \ --project=HOST_PROJECT_ID \ --location=us-west1
App Hub ホスト プロジェクトからサービス プロジェクトを削除します。
gcloud apphub service-projects remove SERVICE_PROJECT_ID \ --project=HOST_PROJECT_ID
Deployment を削除する
このソリューションが不要になった場合は、このソリューションで作成したリソースに対する課金が継続しないように、すべてのリソースを削除します。
Terraform CLI を使用してソリューションをデプロイした場合は、次の手順に沿って操作します。
Cloud Shell で、現在の作業ディレクトリが
terraform-docs-samples/lb/regional_external_http_load_balancer
であることを確認します。そうでない場合は、そのディレクトリに移動します。Terraform によってプロビジョニングされたリソースを削除します。
terraform destroy
破棄されるリソースのリストが表示されます。
アクションの実行を求められたら、「
yes
」と入力します。進行状況を示すメッセージが表示されます。すべてのリソースが削除されると、次のメッセージが表示されます。
Destroy complete!
ソリューションに使用した Google Cloud プロジェクトが不要になった場合は、プロジェクトを削除できます。
プロジェクトの削除
Console
- Google Cloud コンソールで、[リソースの管理] ページに移動します。
- プロジェクト リストで、削除するプロジェクトを選択し、[削除] をクリックします。
- ダイアログでプロジェクト ID を入力し、[シャットダウン] をクリックしてプロジェクトを削除します。
gcloud
Google Cloud プロジェクトを削除します。
gcloud projects delete PROJECT_ID
PROJECT_ID
は、ホスト プロジェクト ID またはサービス プロジェクト ID に置き換えます。