📝
gloudコマンド実行時に'serviceAccount' was not foundエラーが発生した場合の解消法
概要
Cloud Shellからgcloudコマンドを実行し、インスタンスを作成しようとしたところ下記内容のエラーが発生。
ERROR: (gcloud.compute.instances.create) Could not fetch resource:
- The resource 'XXXXXXXXXXX-compute@developer.gserviceaccount.com' of type 'serviceAccount' was not found.
備忘録としてどう解消したかを残しておく。
※事象が発生したのは個人の学習用Google Cloud環境です。
原因
IAMについての学習を兼ねてマネコンを操作中、不要なサービスアカウントがあると思い、該当のアカウントを削除してしまっていた。
解消方法の調査
"gcloud service account not found"で検索。
公式ドキュメントのデフォルトサービスアカウントの復元方法を発見。
削除後30日以内なのでこの方法で復元できそうだ。
解消手順
- ログエクスプローラで下記クエリを実行し、
UNIQUE ID
を特定。
resource.type="service_account"
resource.labels.email_id="SERVICE_ACCOUNT_EMAIL"
"DeleteServiceAccount"
- Cloud Shellで下記コマンドを実行し、サービスアカウントの削除を取り消す。
gcloud beta iam service-accounts undelete UNIQUE_ID
restoredAccount
に続き復元されたサービスアカウントの詳細が表示されればOK。
動作確認
gcloudコマンドでインスタンスを作成してみる。
gcloud compute instances create --machine-type=MACHINE_TYPE INSTANCE_NAME
Created
に続き作成されたインスタンスの詳細が表示され、マネコンで見てもインスタンスが動いているので解消!
Discussion