使ってみた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-rescue
cloudresourcemanager.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