💬

自動で作成された CloudSQL バックアップのリストを取得する

2022/02/11に公開

結論

以下を実行すれば良い

$ gcloud sql backups list --instance=$INSTANCE_NAME --project=$PROJECT_ID --filter="type:AUTOMATED"

解決までの道のり

gcloud sql backups list--filter を使えば良さそうなことはなんとなく察しがついた。
けれども --filter にどんな値を設定したらいいのかがいまいちわからなかった。
ひとまず当てずっぽうで --filter="automated:true" を付けて実行してみたけど当然ダメで WARNING が出た。

$ gcloud sql backups list --instance=$INSTANCE_NAME --project=$PROJECT_ID --filter=automated:true
WARNING: The following filter keys were not present in any resource : automated

automated なんてキーは対象のリソース(CloudSQL のバックアップ)には存在しないぞ、とな(まあそうだよね)。
自動バックアップの情報を詳しく見てみたら何かわかるかも、と思い自動で作成されたバックアップの ID を GCP の UI から見つけてきて gcloud sql backups describe を実行してみた。

$ gcloud sql backups describe $BACKUP_ID --instance=$INSTANCE_NAME
backupKind: SNAPSHOT
endTime: '2022-02-10T12:16:17.177Z'
enqueuedTime: '2022-02-10T12:15:36.452Z'
id: '1644493500000'
instance: xxxxxxxxxxxxx
kind: sql#backupRun
location: us
selfLink: https://sqladmin.googleapis.com/sql/v1beta4/projects/xxxxxxxxxxxxx/instances/xxxxxxxxxxxxx/backupRuns/xxxxxxxxxxxxx
startTime: '2022-02-10T12:15:36.479Z'
status: SUCCESSFUL
type: AUTOMATED
windowStartTime: '2022-02-10T11:45:00Z'

type: AUTOMATED なんていういかにもそれっぽいヤツをあるじゃないか、ということで、gcloud sql backups list--filter="type:AUTOMATED" を設定して実行したらいけた。
メデタシメデタシ。

感想

--fileter に設定する値が分からんかったら一旦対象のリソースについて describe してみたら良さそうなのかなあ、と思った。
GCP と仲良くなりたい。

Discussion