gce-rescue は GCP インスタンスの復旧に失敗しました

gce-rescue は GCP インスタンスの復旧に失敗しました

使ってみたhttps://github.com/googlecloudplatform/gce-rescueVM を救出しようとしましたが、以下のエラーで失敗しました。

test@cloudshell:~ $ gce-rescue --zone us-west2-b --name test-vm
Traceback (most recent call last):
File "gce-rescue", line 8, in <module>
sys.exit(main())
File "/lib/python3.9/site-packages/gce_rescue/bin/rescue.py", line 44, in main
vm = Instance(test_mode=False, **parse_kwargs)
File "<string>", line 12, in __init__
File "/lib/python3.9/site-packages/gce_rescue/gce.py", line 111, in __post_init__
check = Validations(
File "<string>", line 7, in __init__
File "/lib/python3.9/site-packages/gce_rescue/tasks/pre_validations.py", line 48, in __post_init__
authorize_check(project = self.project)
File "/lib/python3.9/site-packages/gce_rescue/tasks/validations/authorization.py", line 43, in authorize_check
result = service.projects().testIamPermissions(
File "/usr/local/lib/python3.9/dist-packages/googleapiclient/_helpers.py", line 130, in positional_wrapper
return wrapped(*args, **kwargs)
File "/usr/local/lib/python3.9/dist-packages/googleapiclient/http.py", line 938, in execute
raise HttpError(resp, content, uri=self.uri)
googleapiclient.errors.HttpError: <HttpError 403 when requesting 
https://cloudresourcemanager.googleapis.com/v1/projects/XXXXX:testIamPermissions?alt=json returned "Cloud Resource Manager API has not been 
used in project XXXXX before or it is disabled. 
Enable it by visiting https://console.developers.google.com/apis/api/cloudresourcemanager.googleapis.com/overview?project=XXXXX then retry. 
If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.". 
Details: "[{'@type': 'type.googleapis.com/google.rpc.Help', 'links': [{'description': 'Google developers console API activation', 
'url': 'https://console.developers.google.com/apis/api/cloudresourcemanager.googleapis.com/overview?project=XXXXX'}]}, 
{'@type': 'type.googleapis.com/google.rpc.ErrorInfo', 'reason': 'SERVICE_DISABLED', 
'domain': 'googleapis.com', 
'metadata': {'service': 'cloudresourcemanager.googleapis.com', 'consumer': 'projects/XXXXX'}}]">

この問題をどうやって解決すればいいでしょうか?

答え1

gce-rescuecloudresourcemanager.googleapis.comプロジェクトで API が有効になっていないため、ツールは失敗しました。

このAPIを有効にしてくださいhttps://console.developers.google.com/apis/api/cloudresourcemanager.googleapis.com/overview?project=XXXXX、XXXXX を GCP プロジェクト ID に置き換えて、 を再度実行しますgce-rescue

これで問題は解決するはずです。

答え2

エラー例外では次の内容を読み取ることができます:'reason': 'SERVICE_DISABLED',

GCE Rescueを使用する前に、リソース マネージャー API有効:

$ gcloud services enable cloudresourcemanager.googleapis.com

関連情報