GCP列出了项目中的所有内容

问题描述

Google Cloud Platform有各种各样的产品。在给定的项目中,我可能会使用Compute Engine,Cloud SQL,Kubernetes,存储,IAM和Admin。或者,我可能会使用Cloud Run,VMware Engine,App Engine,Cloud Functions和Spanner。

我不知道这些事情中的绝大多数是做什么的,而且在我探索和学习时,很难跟踪给定项目中使用的产品。但是,假设我想回顾性地记录项目的所有组件,以便可以从头开始创建它。

简短地逐个浏览每个产品并寻找过去文明的迹象,有什么方法可以列出我的所有足迹吗?

我认为我的目标可以通过以下伪代码很好地概括:

create project "blank-project"
diff "my-project" "blank-project"

解决方法

正如约翰所说,云资产清单可以帮助您实现这一目标。我建议您export the assets to BigQuery

为什么?因为这样,您可以通过简单的SQL查询轻松执行差异。您每天有1次出口,因此您可以拥有所有足迹的历史记录。

但是,它列出了资产,而不是资产的配置。我的意思是,您知道您有一个GKE集群,但是未列出该集群的内容(已在其上部署的服务/吊舱)。您对组件进行了比较,而不是组件的内容。

最后一件棘手的事情。导出到BigQuery并不是真正的用户友好型。这是我在我的公司所做的以实现这一目标

  • 创建一个可使用Python调用云资产清单导出的云函数
  • 创建每天都会触发此功能的Cloud Scheduler

这里的问题是:每次导出之前的数据都会被删除,并用新的数据替换。所以,你必须这样做

  • 创建一个新的BigQuery表,该表每天进行分区,并具有与Asset表相同的架构
  • 创建一个计划查询(在Cloud Function触发后15分钟设置计划程序),将资产导出的内容复制到新的分区表中

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...