このガイドは、Vertex AI の生成 AI 大規模言語モデル(LLM)を利用してオンデマンドでドキュメントを処理および要約する生成 AI によるドキュメントの要約ソリューションを理解、デプロイ、使用する際に役立ちます。
このソリューションは、新しい PDF ドキュメントを Cloud Storage バケットに追加したときにトリガーされるパイプラインをデプロイします。パイプラインは、ドキュメントからテキストを抽出し、抽出されたテキストから要約を作成します。その要約は、表示と検索ができるようにデータベースに保存されます。
このガイドは、大規模言語モデルの経験があるデベロッパーを対象としています。このドキュメントは、基本的なクラウドのコンセプトに精通していることを前提としていますが、必ずしも Google Cloud について理解している必要はありません。また、Terraform の使用経験も役に立ちます。
目標
このソリューション ガイドでは、次のことを行うのに役立ちます。
生成 AI によるドキュメントの要約アプリケーションの仕組みを理解する。
ドキュメントの要約プロセスをオーケストレーションするアプリケーションをデプロイする。
PDF のアップロードでパイプラインをトリガーし、生成された要約を表示する。
使用するプロダクト
このセクションでは、このソリューションで使用するプロダクトについて説明します。
コンポーネント | 商品の説明 | このソリューションでの目的 |
---|---|---|
Cloud Storage | 低コストで無制限のオブジェクト ストレージをさまざまなデータ型に使用できるエンタープライズ クラスのサービス。 | PDF ドキュメントと抽出されたテキストを保存します。 |
Eventarc | 分離されたマイクロサービス間の状態変更(イベント)を管理し、配信、セキュリティ、認証、オブザーバビリティ、エラー処理を管理しながらさまざまな宛先にイベントをルーティングするサービス。 | Cloud Storage バケット内の新しいドキュメントを監視し、Cloud Run functions でイベントをトリガーします。 |
Cloud Run 関数 | サーバーやランタイム環境を管理せずに、Google Cloud イベントに応答する単一目的のスタンドアロン関数を作成できる軽量のサーバーレス コンピューティング サービス。 | ドキュメントの処理ステップをオーケストレートします。 |
Document AI | ドキュメントから非構造化データを取得して構造化データに変換するドキュメント理解プラットフォーム。面倒なタスクを自動化し、データ抽出を改善して、データからより深い分析情報を得ることができます。 | ドキュメントからテキストを抽出します。 |
Vertex AI Generative AI | Vertex AI の Generative AI のサポートにより、Google の大規模な生成 AI モデルにアクセスできるため、AI を活用したアプリケーションで使用するためにテスト、調整、デプロイを行うことができます。 | Cloud Storage に保存されている抽出されたテキストから要約を作成します。 |
BigQuery | ML 機能が組み込まれた、フルマネージドでスケーラビリティの高いデータ ウェアハウス。 | 生成された要約の保存処理を担います。 |
アーキテクチャ
このソリューションでは、既存のコードを使用してドキュメント要約アプリケーションをデプロイします。次の図は、アプリケーション インフラストラクチャのアーキテクチャを示しています。
リクエスト フロー
以下では、アプリケーションのリクエスト処理フローについて詳しく説明します。フロー内のステップには、上のアーキテクチャ図のように番号が付いています。
ドキュメントがアップロードされると、Cloud Run 関数がトリガーされます。この関数は、抽出型の質問応答プロセスを実行します。
Cloud Run 関数は、Document AI 光学式文字認識(OCR)を使用してドキュメントからすべてのテキストを抽出します。
Cloud Run 関数は、Vertex AI Gemini を使用して PDF ファイルからすべてのテキストを抽出します。
Cloud Run 関数は、BigQuery テーブル内に PDF のテキストによる要約を保存します。
Cloud Run 関数は、抽出したテキストを Cloud Storage バケット内に保存します。
費用
生成 AI によるドキュメントの要約ソリューションで使用される Google Cloud リソースの費用の見積もりについては、Google Cloud 料金計算ツールで事前に計算された見積もりをご覧ください。
見積もりを出発点として使用して、デプロイの費用を計算します。見積もりを変更して、ソリューションで使用するリソースに対して行う予定の構成の変更を反映できます。
事前に計算された見積もりは、次のような特定の要因に関する前提条件に基づいています。
- リソースがデプロイされている Google Cloud のロケーション。
リソースが使用される時間。
Cloud Storage に保存されているデータの量。
ドキュメント要約アプリケーションが呼び出された回数。
始める前に
このソリューションをデプロイするには、まず Google Cloud プロジェクトと IAM 権限が必要です。
Google Cloud プロジェクトを作成または選択する
ソリューションをデプロイするときに、リソースがデプロイされている Google Cloud プロジェクトを選択します。デプロイには、新しいプロジェクトを作成するか、既存のプロジェクトを使用できます。
新しいプロジェクトを作成する場合は、デプロイを始める前に作成します。新しいプロジェクトを使用すると、本番環境ワークロードに使用されるリソースなど、以前にプロビジョニングされたリソースとの競合を回避できます。
プロジェクトを作成するには、次の手順を完了します。
-
In the Google Cloud console, go to the project selector page.
-
Click Create project.
-
Name your project. Make a note of your generated project ID.
-
Edit the other fields as needed.
-
Click Create.
必要な IAM 権限を取得する
デプロイ プロセスを開始するには、次の表に示す Identity and Access Management(IAM)権限が必要です。
このソリューション用に新規プロジェクトを作成した場合は、そのプロジェクトに roles/owner
基本ロールが付与され、必要なすべての権限を持っています。roles/owner
ロールがない場合は、これらの権限(またはこれらの権限を含むロール)の付与を管理者に依頼してください。
必要な IAM 権限 | 必要な権限を含む事前定義ロール |
---|---|
|
Service Usage 管理者 ( roles/serviceusage.serviceUsageAdmin ) |
|
サービス アカウント管理者 ( roles/iam.serviceAccountAdmin ) |
|
プロジェクト IAM 管理者 ( roles/resourcemanager.projectIamAdmin ) |
config.deployments.create config.deployments.list |
Cloud Infrastructure Manager 管理者 ( roles/config.admin ) |
iam.serviceAccount.actAs |
サービス アカウント ユーザー ( roles/iam.serviceAccountUser ) |
一時的なサービス アカウントの権限について
コンソールからデプロイ プロセスを開始すると、ユーザーに代わってソリューションをデプロイするために(また、必要に応じて後でデプロイを削除するために)サービス アカウントが作成されます。このサービス アカウントには、特定の IAM 権限が一時的に割り当てられます。つまり、ソリューションのデプロイと削除のオペレーションが完了すると、権限が自動的に取り消されます。ソリューションのデプロイを削除した後に、このガイドの後半で説明するように、サービス アカウントを削除することをおすすめします。
サービス アカウントに割り当てられているロールを表示する
Google Cloud プロジェクトまたは組織の管理者が必要とする場合に、以下のロールの情報を表示してください。
roles/clouddeploymentmanager.serviceAgent
roles/cloudfunctions.serviceAgent
roles/config.agent
roles/documentai.editor
roles/resourcemanager.projectIamAdmin
roles/serviceusage.serviceUsageViewer
ソリューションをデプロイする
このソリューションを最小限の労力でデプロイできるように、Terraform 構成が GitHub で提供されています。Terraform 構成では、ソリューションに必要なすべての Google Cloud のリソースを定義しています。
次のいずれかの方法でソリューションをデプロイできます。
コンソールから: デフォルトの構成でソリューションを試して動作を確認する場合は、この方法を使用します。Cloud Build は、ソリューションに必要なすべてのリソースをデプロイします。デプロイされたソリューションが不要になった場合は、コンソールから削除できます。ソリューションのデプロイ後に作成したリソースは、個別に削除する必要があります。
このデプロイ方法を使用する場合、コンソールからデプロイするの手順に沿って操作します。
Terraform CLI を使用: このソリューションをカスタマイズする場合、または Infrastructure as Code(IaC)のアプローチを使用してリソースのプロビジョニングと管理を自動化する場合は、この方法を使用します。GitHub から Terraform 構成をダウンロードし、必要に応じてコードをカスタマイズしてから、Terraform CLI を使用してソリューションをデプロイします。ソリューションをデプロイした後も、引き続き Terraform を使用してソリューションを管理できます。
このデプロイ方法を使用するには、Terraform CLI を使用してデプロイするの手順に沿って操作します。
コンソールからデプロイする
事前構成済みのソリューションをデプロイするには、次の手順を完了します。
Google Cloud ジャンプ スタート ソリューション カタログで、生成 AI によるドキュメントの要約 ソリューションに移動します。
ソリューションの概算費用やデプロイの推定時間など、ページに表示された情報を確認します。
ソリューションのデプロイを開始する準備ができたら、[デプロイ] をクリックします。
順を追って構成するペインが表示されます。
構成ペインの手順を実施します。
デプロイメントに入力する名前をメモします。この名前は、後でデプロイメントを削除するときに必要になります。
[デプロイ] をクリックすると、[ソリューションのデプロイ] ページが表示されます。このページの [ステータス] フィールドに「デプロイ中」が表示されます。
ソリューションがデプロイされるまで待ちます。
デプロイが失敗した場合、[ステータス] フィールドに「失敗」と表示されます。Cloud Build のログでエラーを診断できます。詳細については、コンソールからデプロイする際のエラーをご覧ください。
デプロイが完了すると、[ステータス] フィールドが [デプロイ済み] に変わります。
自分でソリューションを試すには、ソリューションを詳しく見るをご覧ください。
このソリューションが不要になった場合は、デプロイを削除して、Google Cloud リソースに対する課金が継続しないようにします。詳細については、デプロイメントを削除するをご覧ください。
Terraform CLI を使用してデプロイする
このセクションでは、Terraform CLI を使用してソリューションをカスタマイズする方法や、ソリューションのプロビジョニングと管理を自動化する方法について説明します。Terraform CLI を使用してデプロイするソリューションは、Google Cloud コンソールの [ソリューションのデプロイ] ページに表示されません。
Terraform クライアントを設定する
Terraform は、Cloud Shell またはローカルホストで実行できます。このガイドでは、Terraform がプリインストールされ、Google Cloud での認証が構成されている Cloud Shell で Terraform を実行する方法について説明します。
このソリューションの Terraform コードは、GitHub リポジトリで入手できます。
Cloud Shell に GitHub リポジトリのクローンを作成します。
GitHub リポジトリを Cloud Shell にダウンロードするよう求めるメッセージが表示されます。
[確認] をクリックします。
別のブラウザタブで Cloud Shell が起動し、Cloud Shell 環境の
$HOME/cloudshell_open
ディレクトリに Terraform コードがダウンロードされます。Cloud Shell で、現在の作業ディレクトリが
$HOME/cloudshell_open/terraform-gen-ai-document-summarization/
かどうかを確認します。このディレクトリには、ソリューションの Terraform 構成ファイルが含まれています。このディレクトリに移動する必要がある場合は、次のコマンドを実行します。cd $HOME/cloudshell_open/terraform-gen-ai-document-summarization/
次のコマンドを実行して Terraform を初期化します。
terraform init
次のメッセージが表示されるまで待ちます。
Terraform has been successfully initialized!
Terraform 変数を構成する
ダウンロードした Terraform コードには、要件に基づいてデプロイメントをカスタマイズするために使用できる変数が含まれています。たとえば、Google Cloud プロジェクトと、ソリューションをデプロイするリージョンを指定できます。
現在の作業ディレクトリが
$HOME/cloudshell_open/terraform-gen-ai-document-summarization/
であることを確認します。そうでない場合は、そのディレクトリに移動します。同じディレクトリに、
terraform.tfvars
という名前のテキスト ファイルを作成します。terraform.tfvars
ファイルで次のコード スニペットをコピーし、必要な変数の値を設定します。- このコード スニペットにコメントとして記載されている手順を実施します。
- このコード スニペットには、値を設定する必要のある変数のみが含まれています。Terraform 構成には、デフォルト値を持つ他の変数が含まれています。すべての変数とデフォルト値を確認するには、
$HOME/cloudshell_open/terraform-gen-ai-document-summarization/
ディレクトリにあるvariables.tf
ファイルをご覧ください。 terraform.tfvars
ファイルで設定した各値が、variables.tf
ファイルで宣言されている変数の型と一致していることを確認します。たとえば、variables.tf
ファイル内の変数に定義されている型がbool
の場合、その変数の値としてtrue
またはfalse
をterraform.tfvars
内で指定する必要があります。
# This is an example of the terraform.tfvars file. # The values in this file must match the variable types declared in variables.tf. # The values in this file override any defaults in variables.tf. # ID of the project in which you want to deploy the solution project_id = "PROJECT_ID"
Terraform 構成を検証して確認する
現在の作業ディレクトリが
$HOME/cloudshell_open/terraform-gen-ai-document-summarization/
であることを確認します。そうでない場合は、そのディレクトリに移動します。Terraform 構成にエラーがないことを確認します。
terraform validate
コマンドからエラーが返された場合は、構成で必要な修正を行ってから、
terraform validate
コマンドを再度実行します。コマンドで次のメッセージが返されるまで、この手順を繰り返します。Success! The configuration is valid.
構成で定義されているリソースを確認します。
terraform plan
前述のように変数定義ファイル(
terraform.tfvars
)を作成しなかった場合、Terraform でデフォルト値のない変数の値の入力を求められます。必要な値を入力します。terraform plan
コマンドの出力に、構成の適用時に Terraform がプロビジョニングするリソースのリストが表示されます。変更を行う場合は、構成を編集してから、
terraform validate
コマンドとterraform plan
コマンドを再度実行します。
リソースをプロビジョニングする
構成にこれ以上の変更が必要ない場合は、リソースをデプロイします。
現在の作業ディレクトリが
$HOME/cloudshell_open/terraform-gen-ai-document-summarization/
であることを確認します。そうでない場合は、そのディレクトリに移動します。Terraform 構成を適用します。
terraform apply
前述のように変数定義ファイル(
terraform.tfvars
)を作成しなかった場合、Terraform でデフォルト値のない変数の値の入力を求められます。必要な値を入力します。作成されるリソースのリストが表示されます。
アクションの実行を求められたら、「
yes
」と入力します。Terraform でデプロイの進行状況を示すメッセージが表示されます。
デプロイを完了できない場合、失敗の原因となったエラーが表示されます。エラー メッセージを確認し、構成を更新してエラーを修正します。次に、
terraform apply
コマンドを再実行します。Terraform のエラーのトラブルシューティングについては、Terraform CLI を使用してソリューションをデプロイする際のエラーをご覧ください。すべてのリソースが作成されると、Terraform によって次のメッセージが表示されます。
Apply complete!
次は、ソリューションを詳しく見てその仕組みを確認します。
このソリューションが不要になった場合は、デプロイを削除して、Google Cloud リソースに対する課金が継続しないようにします。詳細については、デプロイを削除するをご覧ください。
ソリューションを詳しく見る
ソリューションがデプロイされたら、PDF ドキュメントをアップロードし、BigQuery でドキュメントの要約を表示できます。
デプロイされている Google Cloud リソースとその構成を確認するには、コンソールでインタラクティブ ツアーを開始します。
ドキュメントをアップロードしてモデルをクエリする
ドキュメントをアップロードしてこのソリューションの使用を開始します。続いて、事前トレーニング済みの LLM に、ドキュメントについて質問します。
直接 Google Cloud コンソールで、このタスクの順を追ったガイダンスに沿って進めるには、[ガイドを表示] をクリックします。
このタスクが完了するまでに約 10 分かかります。Deployment を削除する
ソリューションのデプロイが不要になった場合は、作成したリソースに対して課金されないようにするため、デプロイを削除します。
コンソールを使用して削除する
この手順は、ソリューションをコンソールからデプロイした場合に実施します。
Google Cloud コンソールで、[ソリューションのデプロイ] ページに移動します。
削除するデプロイメントが含まれているプロジェクトを選択します。
削除するデプロイメントを見つけます。
デプロイメントの行で、
(アクション)アイコンをクリックし、[削除] を選択します。行にアクション アイコンが表示されない場合は、スクロールしてください。
デプロイメントの名前を入力し、[確認] をクリックします。
[ステータス] フィールドに「削除中」が表示されます。
削除に失敗した場合は、デプロイメントの削除時のエラーのトラブルシューティング ガイダンスをご覧ください。
ソリューションに使用した Google Cloud プロジェクトが不要になった場合は、プロジェクトを削除できます。詳細については、省略可: プロジェクトを削除するをご覧ください。
Terraform CLI を使用して削除する
Terraform CLI を使用してソリューションをデプロイした場合は、次の手順に沿って操作します。
Cloud Shell で、現在の作業ディレクトリが
$HOME/cloudshell_open/terraform-gen-ai-document-summarization/
であることを確認します。そうでない場合は、そのディレクトリに移動します。Terraform によってプロビジョニングされたリソースを削除します。
terraform destroy
破棄されるリソースのリストが表示されます。
アクションの実行を求められたら、「
yes
」と入力します。進行状況を示すメッセージが表示されます。すべてのリソースが削除されると、次のメッセージが表示されます。
Destroy complete!
削除に失敗した場合は、デプロイメントの削除時のエラーのトラブルシューティング ガイダンスをご覧ください。
ソリューションに使用した Google Cloud プロジェクトが不要になった場合は、プロジェクトを削除できます。詳細については、省略可: プロジェクトを削除するをご覧ください。
省略可: プロジェクトを削除する
ソリューションを新しい Google Cloud プロジェクトにデプロイした後、そのプロジェクトが不要になった場合は、次の手順で削除します。
- Google Cloud コンソールで、[リソースの管理] ページに移動します。
- プロジェクト リストで、削除するプロジェクトを選択し、[削除] をクリックします。
- プロンプトでプロジェクト ID を入力し、[シャットダウン] をクリックします。
プロジェクトを保持する場合は、次のセクションで説明するように、このソリューション用に作成されたサービス アカウントを削除します。
省略可: サービス アカウントを削除する
ソリューションに使用したプロジェクトを削除した場合は、このセクションをスキップしてください。
このガイドの前半で説明したように、ソリューションをデプロイしたときに、ユーザーに代わってサービス アカウントが作成されました。このサービス アカウントには特定の IAM 権限が一時的に割り当てられました。ソリューションのデプロイと削除オペレーションが完了した後、権限は自動的に取り消されましたが、サービス アカウントは削除されません。このサービス アカウントを削除することをおすすめします。
Google Cloud コンソールからソリューションをデプロイした場合は、[ソリューションのデプロイ] ページに移動します。(すでにページが表示されている場合は、ブラウザを更新します)。サービス アカウントが削除されるように、バックグラウンドでプロセスがトリガーされます。特に操作を行う必要はありません。
Terraform CLI を使用してソリューションをデプロイした場合は、次の手順を完了します。
Google Cloud コンソールで、[サービス アカウント] ページに移動します。
ソリューションに使用したプロジェクトを選択します。
削除するサービス アカウントを選択します。
ソリューション用に作成されたサービス アカウントのメール ID は、次の形式になります。
goog-sc-DEPLOYMENT_NAME-NNN@PROJECT_ID.iam.gserviceaccount.com
メール ID には次の値が含まれます。
- DEPLOYMENT_NAME: デプロイメントの名前。
- NNN: 3 桁のランダムな数字。
- PROJECT_ID: ソリューションをデプロイしたプロジェクトの ID。
[削除] をクリックします。
エラーのトラブルシューティングを行う
エラーを診断して解決するために実行できるアクションは、デプロイ方法とエラーの複雑さによって異なります。
コンソールからデプロイする際のエラー
コンソールを使用してデプロイが失敗した場合は、次の操作を行います。
[ソリューションのデプロイ] ページに移動します。
デプロイが失敗した場合、[ステータス] フィールドに「失敗」と表示されます。
エラーの原因となったエラーの詳細を表示するには:
デプロイメントの行で、
(アクション)をクリックします。行にアクション アイコンが表示されない場合は、スクロールしてください。
[Cloud Build のログを表示する] を選択します。
Cloud Build のログを確認し、適切な措置を講じて失敗の原因となった問題を解決します。
Terraform CLI を使用してデプロイする際のエラー
Terraform を使用したデプロイが失敗した場合、terraform
apply
コマンドの出力には、問題を診断するために確認できるエラー メッセージが含まれます。
次のセクションの例では、Terraform の使用時に発生する可能性のあるデプロイエラーを示します。
「API が有効になっていない」エラー
プロジェクトを作成し、すぐに新しいプロジェクトでソリューションをデプロイすると、デプロイが失敗して次のようなエラーが発生することがあります。
Error: Error creating Network: googleapi: Error 403: Compute Engine API has not
been used in project PROJECT_ID before or it is disabled. Enable it by visiting
https://console.developers.google.com/apis/api/compute.googleapis.com/overview?project=PROJECT_ID
then retry. If you enabled this API recently, wait a few minutes for the action
to propagate to our systems and retry.
このエラーが発生した場合は、数分待ってから terraform apply
コマンドを再度実行します。
Cannot assign requested address エラー
terraform apply
コマンドを実行すると、cannot assign requested address
エラーが発生し、次のようなメッセージが表示されることがあります。
Error: Error creating service account:
Post "https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts:
dial tcp [2001:db8:ffff:ffff::5f]:443:
connect: cannot assign requested address
このエラーが発生した場合は、terraform apply
コマンドを再度実行してください。
構成エラー
サポートされていない値を使用して main.tf
ファイル内のリソース引数を変更すると、次のようなエラーが発生します。
Error: Error creating Instance: googleapi: Error 400: Provided Redis version is
not supported: REDIS_5_X
│ com.google.apps.framework.request.StatusException:
<eye3 title='INVALID_ARGUMENT'/>
generic::INVALID_ARGUMENT: Provided Redis version is not supported: REDIS_5_X
Details:
│ [
│ {
│ "@type": "type.googleapis.com/google.rpc.BadRequest",
│ "fieldViolations": [
│ {
│ "description": "Invalid value: REDIS_5_X",
│ "field": "instance.redis_version"
│ }
│ ]
│ }
│ ]
│
│ with google_redis_instance.main,
│ on main.tf line 96, in resource "google_redis_instance" "main":
│ 96: resource "google_redis_instance" "main" {
この例では、Redis バージョン 5 を使用することにしましたが、main.tf
ファイル内の instance.redis_version
引数(REDIS_5_X
)に指定された値が無効です。
Memorystore REST API ドキュメントに記載されているように、正しい値は REDIS_5_0
です。
デプロイ削除時のエラー
デプロイメントを削除しようとして失敗することもあります。
- コンソールでソリューションをデプロイした後に、ソリューションによってプロビジョニングされたリソースを変更してからデプロイメントを削除しようとすると、削除が失敗することがあります。[ソリューションのデプロイ] ページの [ステータス] フィールドに「失敗」と表示され、Cloud Build のログにエラーの原因が表示されます。
- Terraform CLI を使用してソリューションをデプロイした後に、Terraform 以外のインターフェース(コンソールなど)を使用してリソースを変更し、デプロイメントを削除しようとすると、削除が失敗することがあります。
terraform destroy
コマンドの出力にあるメッセージにエラーの原因が示されます。
エラーログとエラーの内容を確認し、エラーの原因となったリソースを特定して削除してから、もう一度デプロイメントを削除してみてください。
コンソールベースのデプロイメントが削除されず、Cloud Build ログを使用してエラーを診断できない場合は、Terraform CLI を使用してデプロイメントを削除できます。次のセクションをご覧ください。
Terraform CLI を使用してコンソールベースのデプロイメントを削除する
このセクションでは、コンソールからコンソールベースのデプロイメントを削除しようとしたときにエラーが発生した場合に、コンソールベースのデプロイメントを削除する方法について説明します。このアプローチでは、削除するデプロイメントの Terraform 構成をダウンロードし、Terraform CLI を使用してデプロイメントを削除します。
デプロイメントの Terraform コード、ログ、その他のデータが保存されているリージョンを特定します。このリージョンは、ソリューションのデプロイ時に選択したリージョンとは異なる場合があります。
Google Cloud コンソールで、[ソリューションのデプロイ] ページに移動します。
削除するデプロイメントが含まれているプロジェクトを選択します。
デプロイメントのリストで、削除するデプロイメントの行を特定します。
「行の内容をすべて表示する」をクリックします。
[場所] 列で、次の例でハイライトされているように、2 番目の場所をメモします。
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.
プロジェクト ID、リージョン、削除するデプロイメントの名前の環境変数を作成します。
export REGION="REGION" export PROJECT_ID="PROJECT_ID" export DEPLOYMENT_NAME="DEPLOYMENT_NAME"
これらのコマンドで、次のように置き換えます。
- REGION: この手順でメモした場所。
- PROJECT_ID: ソリューションをデプロイしたプロジェクトの ID。
- DEPLOYMENT_NAME: 削除するデプロイメントの名前。
削除するデプロイメントの最新リビジョンの ID を取得します。
export REVISION_ID=$(curl \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://config.googleapis.com/v1alpha2/projects/${PROJECT_ID}/locations/${REGION}/deployments/${DEPLOYMENT_NAME}" \ | jq .latestRevision -r) echo $REVISION_ID
出力は次のようになります。
projects/PROJECT_ID/locations/REGION/deployments/DEPLOYMENT_NAME/revisions/r-0
デプロイメントの Terraform 構成の Cloud Storage のロケーションを取得します。
export CONTENT_PATH=$(curl \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://config.googleapis.com/v1alpha2/${REVISION_ID}" \ | jq .applyResults.content -r) echo $CONTENT_PATH
このコマンドの出力例を次に示します。
gs://PROJECT_ID-REGION-blueprint-config/DEPLOYMENT_NAME/r-0/apply_results/content
Cloud Storage から Cloud Shell に Terraform 構成をダウンロードします。
gcloud storage cp $CONTENT_PATH $HOME --recursive cd $HOME/content/
次の例に示すように、
Operation completed
メッセージが表示されるまで待ちます。Operation completed over 45 objects/268.5 KiB
Terraform を初期化します。
terraform init
次のメッセージが表示されるまで待ちます。
Terraform has been successfully initialized!
デプロイされたリソースを削除します。
terraform destroy
破棄されるリソースのリストが表示されます。
宣言されていない変数に関する警告が表示された場合は、警告を無視してください。
アクションの実行を求められたら、「
yes
」と入力します。進行状況を示すメッセージが表示されます。すべてのリソースが削除されると、次のメッセージが表示されます。
Destroy complete!
デプロイメント アーティファクトを削除します。
curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://config.googleapis.com/v1alpha2/projects/${PROJECT_ID}/locations/${REGION}/deployments/${DEPLOYMENT_NAME}?force=true&delete_policy=abandon"
数秒待ってから、デプロイメント アーティファクトが削除されたことを確認します。
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://config.googleapis.com/v1alpha2/projects/${PROJECT_ID}/locations/${REGION}/deployments/${DEPLOYMENT_NAME}" \ | jq .error.message
出力に
null
と表示されている場合は、数秒待ってから、もう一度コマンドを実行します。デプロイメント アーティファクトが削除されると、次のようなメッセージが表示されます。
Resource 'projects/PROJECT_ID/locations/REGION/deployments/DEPLOYMENT_NAME' was not found
フィードバックを送信する
ジャンプ スタート ソリューションは情報提供のみを目的としており、正式にサポートされているプロダクトではありません。Google は、予告なくソリューションを変更または削除する場合があります。
エラーのトラブルシューティングを行うには、Cloud Build のログと Terraform の出力を確認します。
フィードバックを送信する場合は、次の操作を行います。
- ドキュメント、コンソール内チュートリアル、またはソリューションについては、このページの [フィードバックを送信] ボタンを使用してください。
- Terraform コードを変更していない場合は、GitHub リポジトリで問題を作成します。GitHub の問題はベスト エフォート ベースで調査します。これは、一般的な使用に関する質問を目的としたものではありません。
- ソリューションで使用されているプロダクトに関する問題については、Cloud カスタマーケアにお問い合わせください。
次のステップ
- Vertex AI の生成 AI の詳細を確認する。