您可以为 Looker (Google Cloud Core) 实例配置定期导出作业,以定期备份其数据、配置和内容。定期导出作业每 24 小时运行一次,从您设置的开始时间开始,将导出的数据存储在 Cloud Storage 存储桶中,并且在此过程中不会为 Looker (Google Cloud Core) 实例造成停机时间。
定期导出作业包含实例中的所有数据、配置和内容,但以下项除外:
- BigQuery 数据不会导出。
Secret Manager 数据不会导出。
数据洞察 报告不会导出。
任何 Google Cloud 控制台设置(必须在 Google Cloud 控制台中为每个实例进行设置)都不会导出。不过,Looker (Google Cloud Core) 应用中 Looker 管理员 面板中的设置会导出。
存储在实例中的任何 OAuth 令牌都不会导出。如果 OAuth 用于各个数据库连接,则导入后,每个用户都必须重新登录并刷新其使用 OAuth 的任何数据库连接的令牌。
如果您导出并导入到 Looker (Google Cloud Core) 实例,该实例使用的 网络设置与创建导出的实例不同,则可能需要以不同的方式配置与外部服务的连接。
如果将一个 Google Cloud 项目中的实例的导出内容移至另一个项目中的实例,则需要在新项目中设置 IAM 权限,以向用户提供对该实例的访问权限。
定期导出过程需要几分钟到几小时,具体取决于实例的大小。在定期导出过程运行时,导入 操作和一次性 导出不可用。
设置定期导出作业后,您可以设置脚本,以便每天将导出的数据导入到备份实例。
所需角色
如需获得为 Looker (Google Cloud Core) 创建定期导出作业所需的权限,请让您的管理员向您授予在其中创建实例的项目中的以下 IAM 角色:
-
所有权限:
Looker Admin (
roles/looker.admin)
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
准备工作
- 创建 Cloud Storage 存储桶 以 存储导出工件。
- 在 Cloud Key Management Service 中 创建客户管理的加密密钥 (CMEK)。即使您的实例不使用 CMEK,也需要这样做,以便为定期导出加密数据。CMEK 密钥必须与 Looker (Google Cloud Core) 实例位于不同的区域,或者必须是全局密钥。
- 确定服务账号,以便 用于您的 Looker (Google Cloud Core) 实例。
- 向实例的服务帐号授予以下所需的 Identity and Access Management (IAM) 角色和权限:
- 向存储导出的
Cloud Storage 存储桶授予
roles/storage.objectAdminrole。 - 向用于加密数据的 CMEK 密钥授予
roles/cloudkms.cryptoKeyEncrypterDecrypter角色 。 - 或者,您可以创建具有以下权限的自定义角色:
storage.objects.createstorage.objects.deletecloudkms.cryptoKeyVersions.useToEncryptcloudkms.cryptoKeyVersions.useToDecrypt
- 向存储导出的
Cloud Storage 存储桶授予
配置定期导出作业
您可以使用 Google Cloud 控制台或gcloud配置定期导出作业。
控制台
在 Google Cloud 控制台中,前往 Looker (Google Cloud Core) 实例 页面。
点击要为其安排导出作业的实例的名称。
点击导出 标签页。
展开安排导出作业 部分,然后输入以下信息:
- 开始时间:执行每日 导出的本地时间 (HH:MM)。
- Cloud Storage 存储桶:Cloud Storage 存储桶的 URI,
例如:
gs://bucket-name/export-path。 - Cloud KMS 密钥:选择将用于加密实例数据的 Cloud Key Management Service 密钥。
点击设置时间表 。
gcloud
- 如需配置定期导出,请运行以下
gcloud命令:
gcloud looker instances update INSTANCE_NAME \
--project=PROJECT_ID \
--region=REGION \
--periodic-export-gcs-uri="gs://BUCKET_NAME/EXPORT_PATH" \
--periodic-export-kms-key="KMS_KEY_NAME" \
--periodic-export-start-time="TIME"
替换以下内容:
验证导出配置
设置时间表后,您可以在实例详情 页面上查看定期导出作业配置。
在 Google Cloud 控制台中,前往 Looker (Google Cloud Core) 实例 页面。
点击您实例的名称。
在实例详情 页面上,查看导出时间表 配置,其中包括每天的计划开始时间(本地时间)。开始时间包含指向实例的导出 页面的链接。
停止定期导出
如需停止定期导出,请清除配置字段。
控制台
在 Google Cloud 控制台中,前往实例页面。
点击实例的名称。
点击导出 标签页。
在设置定期导出时间表 部分中,清除 **Cloud Storage 存储桶** 、**客户管理的加密密钥** 、 和**时间** 字段的值。
点击清除时间表 。
gcloud
- 如需停止定期导出,请运行以下
gcloud命令:
gcloud looker instances update INSTANCE_NAME \
--project=PROJECT_ID \
--region=REGION \
--clear-periodic-export-config
替换以下内容:
INSTANCE_NAME:Looker (Google Cloud Core) 实例的名称。PROJECT_ID:您的 Google Cloud 项目 ID。REGION:实例所在的区域。
后续步骤
- 了解如何从 Cloud Storage 导入 Looker (Google Cloud Core) 实例数据。
- 排查 导出或导入错误。