このチュートリアルは、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
)
ロールの付与の詳細については、アクセス権の管理に関する記事をご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
コンソール
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 ロールと権限を付与します。
コンソール
このチュートリアルを完了するために必要な権限を取得するには、プロジェクトに対する必要な IAM ロールを付与するよう管理者に依頼してください。
Google Cloud コンソールの [IAM] ページに移動します。
[
アクセスを許可] をクリックします。アクセス権の付与ペインが開きます。[新しいプリンシパル] フィールドに、ホスト プロジェクトの App Hub 管理者のロール、つまり App Hub を管理するユーザーのメールアドレスを入力します。
[ロールを選択] をクリックし、[フィルタ] フィールドに「
App Hub
」と入力します。[App Hub 管理者] ロールを選択し、[保存] をクリックします。
gcloud
App Hub を管理するユーザーにロールを付与するには、必要に応じて IAM ロールを置き換えて、次のコマンドを繰り返します。
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
です(例:robert.smith@example.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 の名前に置き換えます。
サービス プロジェクトを接続する
リソースをサービス プロジェクトとしてデプロイしたホスト プロジェクトを接続します。
コンソール
Google Cloud コンソールで、App Hub の [設定] ページに移動します。
[設定] ページで、[プロジェクトの接続] をクリックします。
表示されたペインで、プロジェクトを検索するか、表示されたリストからホスト プロジェクトのチェックボックスをオンにします。
[選択] をクリックします。 [接続されたサービス プロジェクト] テーブルに、選択したホスト プロジェクトがサービス プロジェクトとして表示されます。
[Close] をクリックします。
gcloud
ホスト プロジェクトをサービス プロジェクトとして App Hub ホスト プロジェクトに追加します。
gcloud apphub service-projects add HOST_PROJECT_ID \ --project=HOST_PROJECT_ID
アプリケーションを作成する
サービスとワークロードのコンテナになるアプリケーションを作成します。
コンソール
- ホスト プロジェクトにいることを確認します。
Google Cloud コンソールで、App Hub の [アプリケーション] ページに移動します。
[アプリケーションを作成] をクリックします。 [アプリケーションを作成] ペインが表示されます。
[リージョン] リストで [us-west1] を選択します。
[アプリケーション名] フィールドに、「
tutorial-application
」と入力します。[続行] をクリックします。
[属性を追加] セクションで、表示名に「
sample-application
」と入力します。[重要度] リストで、[高] を選択します。重要度は、アプリケーション、サービス、またはワークロードが、ビジネス運営にとってどの程度重要であるかを示します。
[環境] フィールドで、ソフトウェア ライフサイクルのステージを示す [本番環境] を選択します。
[続行] をクリックします。
[オーナーを追加] セクションで、デベロッパー オーナー、オペレーター オーナー、ビジネス オーナーの次の詳細を追加します。表示名を追加する場合は、所有者のメールアドレスを入力する必要があります。
- 所有者の表示名を入力します。
- 所有者のメールアドレスを入力します。この値は、
username@yourdomain
の形式(例:robert.smith@example.com
)にする必要があります。
デベロッパー、オペレーター、ビジネス オーナーごとに、上記の手順を繰り返します。
[作成] をクリックします。
新しいアプリケーションが作成され、[アプリケーション] ページに表示されます。
gcloud
作成したホスト プロジェクトを選択します。
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
ホスト プロジェクト内のアプリケーションを一覧表示します。
gcloud apphub applications list \ --project=HOST_PROJECT_ID \ --location=us-west1
次のような出力が表示されます。
ID: tutorial-application DISPLAY_NAME: Tutorial CREATE_TIME: 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
の形式にする必要があります(例:robert.smith@example.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'
サービスとワークロードを登録する
サービスとワークロードを登録すると、アプリケーションに追加されます。
コンソール
Google Cloud コンソールで、App Hub の [アプリケーション] ページに移動します。
アプリケーションの名前 [sample-application] をクリックします。[サービスとワークロード] タブに、サービス プロジェクトに存在する登録済みのサービスとワークロードのリストが表示されます。
サービスを登録します。
- [サービスとワークロード] タブで、[サービス / ワークロードを登録] をクリックします。
- [サービスまたはワークロードの登録] ペインの [サービスまたはワークロードの選択] セクションで、サービスの名前「l7-xlb-backend-service」を選択し、[続行] をクリックします。
- [属性を追加] セクションで、属性の [名前] に「
sample-service-backend
」と入力します。 - [表示名] に「
service-backend
」と入力します。 - アプリケーションの重要性を示す [重要度] リストで、[高] を選択します。
- [環境] フィールドで、ソフトウェア ライフサイクルのステージを示す [本番環境] を選択します。
- [続行] をクリックします。
- デベロッパー オーナー、オペレーター オーナー、ビジネス オーナーに必要であるため、次の詳細を追加します。表示名を追加する場合は、所有者のメールアドレスを入力する必要があります。
- 所有者の表示名を入力します。
- 所有者のメールアドレスを入力します。この値は、
username@yourdomain
の形式(例:robert.smith@example.com
)にする必要があります。
- デベロッパー、オペレーター、ビジネス オーナーごとに、上記の手順を繰り返します。
- [Register] をクリックします。
[サービスとワークロード] タブの [登録されたサービスとワークロード] セクションで、追加された新しいサービスを確認できます。
上記の手順を繰り返して、他のサービスをそれぞれ sample-service-forwarding-rule と sample-service-forwarding-rule として登録します。
ワークロードを登録するには、上記の手順を繰り返してサービスを登録します。ただし、次の例外があります。
- [サービスまたはワークロードの登録] ペインの [サービスまたはワークロードの選択] セクションで、ワークロードの [名前]「l7-xlb-backend-example」を選択して [続行] をクリックします。
- [属性を追加] セクションで、属性の [名前] に「
sample-workload
」と入力します。 - [表示名] に「
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 編集者のロールを持つユーザーに置き換えます。この値の形式はusername@yourdomain
です(例:robert.smith@example.com
)。ホスト プロジェクトで検出されたすべてのサービスを一覧表示します。このコマンドによって、アプリケーションに登録可能なサービスが返されます。
gcloud apphub discovered-services list \ --project=HOST_PROJECT_ID \ --location=us-west1
次のような出力が表示されます。
ID:
71dd6fa4-5644-43ee-918f-c5fda03ffe24
SERVICE_REFERENCE: {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/backendServices/l7-xlb-backend-service'} SERVICE_PROPERTIES: {'gcpProject': 'projects/SERVICE_PROJECT_ID', 'location': 'us-west1'} ID:fe831ba4-ec16-4eb8-9ea4-b394fd30f561
SERVICE_REFERENCE: {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/forwardingRules/l7-xlb-forwarding-rule'} SERVICE_PROPERTIES: {'gcpProject': 'projects/SERVICE_PROJECT_ID', 'location': 'us-west1'} ID:637a3216-c6cc-410e-8bf9-83b7ef66a62f
SERVICE_REFERENCE: {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/urlMaps/regional-l7-xlb-map'} SERVICE_PROPERTIES: {'gcpProject': 'projects/SERVICE_PROJECT_ID', 'location': 'us-west1'}出力からサービス
ID
(71dd6fa4-5644-43ee-918f-c5fda03ffe24
など)をコピーして、次の手順で使用します。前のステップで作成したサービスをアプリケーションに登録します。前の手順の出力フィールドからサービス ID をコピーします。
gcloud apphub applications services create sample-service-backend \ --discovered-service='projects/HOST_PROJECT_ID/locations/us-west1/discoveredServices/BACKEND_SERVICE_ID' \ --display-name='service-backend' \ --criticality-type='HIGH' \ --environment-type='PRODUCTION' \ --application=tutorial-application \ --project=HOST_PROJECT_ID \ --location=us-west1
gcloud apphub applications services create sample-service-forwarding-rule \ --discovered-service='projects/HOST_PROJECT_ID/locations/us-west1/discoveredServices/FORWARDING_RULE_SERVICE_ID' \ --display-name='service-forwarding-rule' \ --criticality-type='HIGH' \ --environment-type='PRODUCTION' \ --application=tutorial-application \ --project=HOST_PROJECT_ID \ --location=us-west1
gcloud apphub applications services create sample-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: sample-service-backend DISPLAY_NAME: service-backend SERVICE_REFERENCE: {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/backendServices/l7-xlb-backend-service'} CREATE_TIME: 2024-02-13T00:31:45 ID: sample-service-forwarding-rule DISPLAY_NAME: service-forwarding-rule SERVICE_REFERENCE: {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/forwardingRules/l7-xlb-forwarding-rule'} CREATE_TIME: 2024-02-13T00:31:45 ID: sample-service-url-map DISPLAY_NAME: url-map SERVICE_REFERENCE: {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/urlMaps/regional-l7-xlb-map'} CREATE_TIME: 2024-02-13T00:31:45
登録済みであるが、接続解除されているサービスは、
SERVICE_REFERENCE
フィールドに空の値で示されます。登録ステータスの詳細については、App Hub のプロパティと属性をご覧ください。ホスト プロジェクトで検出されたすべてのワークロードを一覧表示します。このコマンドは、アプリケーションに登録可能なワークロードを返します。
gcloud apphub discovered-workloads list \ --project=HOST_PROJECT_ID \ --location=us-west1
次のような出力が表示されます。
ID: c9c08669-0fd2-4f7c-b2b1-2cf3c57662c2 WORKLOAD_REFERENCE: {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/zones/us-west1-a/instanceGroups/l7-xlb-backend-example'} WORKLOAD_PROPERTIES: {'gcpProject': 'projects/SERVICE_PROJECT_ID', 'location': 'us-west1', 'zone': 'us-west1-a'}
出力からワークロード ID をコピーし、次の手順で使用します。
前の手順のワークロードを
sample-workload
としてアプリケーションに登録します。前の手順の出力フィールドからワークロード ID をコピーします。gcloud apphub applications workloads create sample-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: sample-workload DISPLAY_NAME: workload-instance-group WORKLOAD_REFERENCE: {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/zones/us-west1-a/instanceGroups/l7-xlb-backend-example'} CREATE_TIME: 2024-02-13T00:31:45
登録済みであるが、接続解除されたワークロードは、
WORKLOAD_REFERENCE
フィールドに空の値で示されます。登録ステータスの詳細については、App Hub のプロパティと属性をご覧ください。
すべてのサービスとワークロードを表示する
ホスト プロジェクトに接続されているすべてのサービス プロジェクトのサービスとワークロードの詳細を表示できます。
Google Cloud コンソールで、App Hub の [サービスとワークロード] ページに移動します。
[リージョン] リストで [us-west1] を選択します。workload-instance-group ワークロードに、[App Hub タイプ]、[重要度]、[登録先] などの詳細が表示されます。
状態に基づいてサービスまたはワークロードをフィルタするには:
- [フィルタ] フィールドで、[登録ステータス] などのフィルタを選択します。
- [登録済み] をクリックします。アプリケーションに登録されているサービスとワークロードのリストが表示されます。
クリーンアップ
このチュートリアルで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、リソースを含むプロジェクトを削除するか、プロジェクトを維持して個々のリソースを削除します。
App Hub リソースを削除する
コンソール
Google Cloud コンソールで、App Hub の [アプリケーション] ページに移動します。
アプリケーションの名前 sample-application をクリックします。
[サービスとワークロード] タブの [登録済みのサービスとワークロード] セクションから、サービス名「service-forwarding-rule」をクリックします。
[サービスとワークロード] ページで、[サービスの登録を解除] をクリックします。サービスが未登録であることを通知するアラート。
[サービスとワークロード] タブの [登録済みのサービスとワークロード] セクションから、ワークロードの名「workload-instance-group」をクリックします。
[詳細] タブで、[ワークロードの登録を解除] をクリックします。ワークロードの登録が解除されたことを示すアラートが表示されます。
App Hub の [アプリケーション] ページに移動します。
アプリケーションの名前をクリックします。
[tutorial-application] ページで、[削除] をクリックします。
Google Cloud コンソールで、App Hub の [設定] ページに移動します。
[設定] ページで、ホスト プロジェクトから削除する SERVICE_PROJECT_ID のチェックボックスをオンにします。
[プロジェクトを接続解除] をクリックします。
gcloud
アプリケーションの登録済みサービスを一覧表示します。
gcloud apphub applications services list \ --application=tutorial-application --project=HOST_PROJECT_ID \ --location=us-west1
アプリケーションからサービスを登録解除します。
gcloud apphub applications services delete sample-service-backend \ --application=tutorial-application --project=HOST_PROJECT_ID \ --location=us-west1
gcloud apphub applications services delete sample-service-forwarding-rule \ --application=tutorial-application --project=HOST_PROJECT_ID \ --location=us-west1
gcloud apphub applications services delete sample-service-url-map \ --application=tutorial-application --project=HOST_PROJECT_ID \ --location=us-west1
これで、アプリケーションに登録可能な検出されたサービスになります。
アプリケーションの登録済みワークロードを一覧表示します。
gcloud apphub applications workloads list \ --application=tutorial-application --project=HOST_PROJECT_ID \ --location=us-west1
アプリケーションからワークロードの登録を解除します。
gcloud apphub applications workloads delete sample-workload \ --application=tutorial-application --project=HOST_PROJECT_ID \ --location=us-west1
これで、ワークロードは、アプリケーションに登録可能な検出されたワークロードになります。
アプリケーションを削除します。
gcloud apphub applications delete tutorial-application \ --project=HOST_PROJECT_ID \ --location=us-west1
ホスト プロジェクトからサービス プロジェクトを削除します。
gcloud apphub service-projects remove SERVICE_PROJECT_ID \ --project=HOST_PROJECT_ID
デプロイを削除する
このソリューションが不要になった場合は、このソリューションで作成したリソースに対する課金が継続しないように、すべてのリソースを削除します。
Terraform CLI を使用してソリューションをデプロイした場合は、次の手順に沿って操作します。
Cloud Shell で、現在の作業ディレクトリが
terraform-docs-samples/lb/regional_external_http_load_balancer
であることを確認します。そうでない場合は、そのディレクトリに移動します。Terraform によってプロビジョニングされたリソースを削除します。
terraform destroy
破棄されるリソースのリストが表示されます。
アクションの実行を求められたら、「
yes
」と入力します。進行状況を示すメッセージが表示されます。すべてのリソースが削除されると、次のメッセージが表示されます。
Destroy complete!
ソリューションに使用した Google Cloud プロジェクトが不要になった場合は、プロジェクトを削除できます。
プロジェクトの削除
コンソール
- Google Cloud コンソールで、[リソースの管理] ページに移動します。
- プロジェクト リストで、削除するプロジェクトを選択し、[削除] をクリックします。
- ダイアログでプロジェクト ID を入力し、[シャットダウン] をクリックしてプロジェクトを削除します。
gcloud
Google Cloud プロジェクトを削除します。
gcloud projects delete PROJECT_ID
PROJECT_ID
を HOST_PROJECT_ID
に置き換えます。