本页介绍了使用 gcloud CLI 创建启用了 Private Service Connect 的 Looker (Google Cloud Core)生产或非生产实例的过程。
您可以为满足以下条件的 Looker (Google Cloud Core) 实例启用 Private Service Connect:
- Looker (Google Cloud Core) 实例必须是新的。Private Service Connect 只能在实例创建时启用。
- 实例不能启用公共 IP。
- 实例版本必须为企业版 (
core-enterprise-annual
) 或嵌入版 (core-embed-annual
)。
准备工作
- 在 Google Cloud 控制台的“项目选择器”页面上,选择您要在其中创建 Private Service Connect 实例的项目。
- 在 Google Cloud 控制台中为您的项目启用 Looker API。启用 API 时,您可能需要刷新控制台页面,以确认该 API 已启用。
- 设置 OAuth 客户端并创建授权凭据。借助 OAuth 客户端,您可以进行身份验证并访问实例。您必须设置 OAuth 才能创建 Looker (Google Cloud Core) 实例,即使您使用其他身份验证方法对用户进行身份验证以便他们登录实例也是如此。
- 如果您想将 VPC Service Controls 或客户管理的加密密钥 (CMEK) 与您要创建的 Looker (Google Cloud Core) 实例搭配使用,则需要在创建实例之前进行额外的设置。在创建实例时,可能还需要进行其他版本和网络配置。
所需的角色
如需获得创建 Looker (Google Cloud Core) 实例所需的权限,请让您的管理员向您授予实例所在项目的 Looker Admin (roles/looker.admin
) IAM 角色。
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
您可能还需要其他 IAM 角色才能设置 VPC Service Controls 或客户管理的加密密钥 (CMEK)。如需了解详情,请访问这些功能的文档页面。
创建 Private Service Connect 实例
控制台
- 在 Google Cloud 控制台中,从您的项目前往 Looker (Google Cloud Core)产品页面。如果您已在此项目中创建 Looker (Google Cloud Core) 实例,系统会打开实例页面。
- 点击创建实例。
- 在实例名称部分,为 Looker (Google Cloud Core) 实例提供名称。实例名称在创建后不会与 Looker (Google Cloud Core) 实例的网址相关联。实例创建后,实例名称便无法更改。
- 在 OAuth 应用凭据部分,输入您在设置 OAuth 客户端时创建的 OAuth 客户端 ID 和 OAuth secret。
在区域部分,从下拉菜单中选择用于托管 Looker (Google Cloud Core) 实例的相应选项。选择与订阅合同中的区域匹配的区域,这是分配项目配额的位置。Looker (Google Cloud Core) 位置文档页面上列出了可用区域。
实例创建后,您便无法更改区域。
在版本部分,为生产或非生产实例类型选择企业版或嵌入版选项。版本类型会影响实例的可用功能。请务必选择与年度合同中列出的版本类型相同的版本类型,并且您已为该版本类型分配配额。
- 企业版:Looker (Google Cloud Core) 平台,具有增强型安全功能,可满足各种内部 BI 和分析应用场景
- 嵌入版:Looker (Google Cloud Core) 平台,适用于大规模部署和维护可靠的外部分析和自定义应用
实例创建后,版本便无法更改。如果您想更改版本,可以使用导入和导出功能将 Looker (Google Cloud Core) 实例数据移至配置为使用其他版本的新实例。
在自定义实例部分中,点击显示配置选项,以显示一组可供您为实例自定义的其他设置。
在连接部分的实例 IP 分配下,仅选择专用 IP。您选择的网络连接类型会影响实例可用的 Looker 功能。
在专用 IP 类型下,选择 Private Service Connect (PSC)。
在允许的 VPC下,点击添加项,将允许对 Looker (Google Cloud Core) 实例进行北向访问的 VPC 添加到列表中。在项目字段中,选择用于创建网络的项目。在网络下拉菜单中,选择相应网络。根据需要点击添加一项以添加其他 VPC。
在加密部分中,您可以选择要对实例使用的加密类型。您可以使用以下加密选项:
- Google 管理的 加密密钥:此选项是默认选项,无需进行任何额外的配置。
- 客户管理的加密密钥 (CMEK):如需详细了解 CMEK 以及如何在实例创建期间对其进行配置,请参阅将客户管理的加密密钥与 Looker (Google Cloud Core)搭配使用文档页面。实例创建后,加密类型便无法更改。
- 启用通过 FIPS 140-2 验证的加密:如需详细了解 Looker (Google Cloud Core) 对 FIPS 140-2 的支持,请参阅在 Looker (Google Cloud Core) 实例上启用 FIPS 140-2 级别 1 合规性文档页面。
在维护期部分,您可以选择指定 Looker (Google Cloud Core) 安排维护的星期几和时段。维护窗口持续一小时。默认情况下,维护窗口中的首选窗口选项设置为任何窗口。
在拒绝维护期部分,您可以选择指定一段时间,Looker (Google Cloud Core)不会在此时间段内安排维护。拒绝维护期最长可达 60 天。您必须在任意 2 个拒绝维护期之间至少留出 14 天允许维护时间。
点击创建。
gcloud
如需创建 Private Service Connect 实例,请运行 gcloud looker instances create
命令,并附带以下所有标志:
gcloud looker instances create INSTANCE_NAME \ --no-public-ip-enabled \ --psc-enabled \ --oauth-client-id=OAUTH_CLIENT_ID \ --oauth-client-secret=OAUTH_CLIENT_SECRET \ --region=REGION \ --edition=EDITION \ --psc-allowed-vpcs=ALLOWED_VPC,ADDITIONAL_ALLOWED_VPCS \ --async
替换以下内容:
INSTANCE_NAME
:Looker (Google Cloud Core) 实例的名称;该名称与实例网址无关。OAUTH_CLIENT_ID
和OAUTH_CLIENT_SECRET
:您在设置 OAuth 客户端时创建的 OAuth 客户端 ID 和 OAuth secret。创建实例后,在 OAuth 客户端的已获授权的重定向 URI部分中输入实例的网址。REGION
:Looker (Google Cloud Core) 实例的托管区域。选择与订阅合同中的区域一致的区域。Looker (Google Cloud Core) 位置文档页面上列出了可用区域。EDITION
:实例的版本和环境类型(生产环境或非生产环境)。其可能的值为core-enterprise-annual
、core-embed-annual
、nonprod-core-enterprise-annual
或nonprod-core-embed-annual
。实例创建完毕后,版本便无法更改。如果您想更改版本,可以使用导入和导出功能将 Looker (Google Cloud Core) 实例数据移至配置为使用其他版本的新实例。ALLOWED_VPC
:一个 VPC,将被允许对 Looker (Google Cloud Core) 进行北向(入站)访问。若要从实例所在的 VPC 外部访问实例,您必须至少列出一个 VPC。使用以下格式之一指定 VPC:projects/{project}/global/networks/{network}
https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}
ADDITIONAL_ALLOWED_VPCS
:您可以将要允许向 Looker (Google Cloud Core) 进行北向访问的任何其他 VPC 添加到--psc-allowed-vpcs
标志中,以逗号分隔的列表的形式。
如果需要,您可以添加更多参数以应用其他实例设置:
[--maintenance-window-day=MAINTENANCE_WINDOW_DAY --maintenance-window-time=MAINTENANCE_WINDOW_TIME] [--deny-maintenance-period-end-date=DENY_MAINTENANCE_PERIOD_END_DATE --deny-maintenance-period-start-date=DENY_MAINTENANCE_PERIOD_START_DATE --deny-maintenance-period-time=DENY_MAINTENANCE_PERIOD_TIME] --kms-key=KMS_KEY_ID [--fips-enabled]
MAINTENANCE_WINDOW_DAY
:必须是以下各项之一:friday
、monday
、saturday
、sunday
、thursday
、tuesday
、wednesday
。如需详细了解维护窗口设置,请参阅管理 Looker (Google Cloud Core) 的维护政策文档页面。MAINTENANCE_WINDOW_TIME
和DENY_MAINTENANCE_PERIOD_TIME
:必须采用 24 小时制 UTC 格式(例如 13:00、17:45)。DENY_MAINTENANCE_PERIOD_START_DATE
和DENY_MAINTENANCE_PERIOD_END_DATE
:必须采用YYYY-MM-DD
格式。KMS_KEY_ID
:必须是设置客户管理的加密密钥 (CMEK) 时创建的密钥。
您可以添加 --fips-enabled
标志,以启用 FIPS 140-2 1 级合规性。
创建 Private Service Connect 实例的过程与创建 Looker (Google Cloud Core)(专用服务访问)实例的过程存在以下差异:
- 在 Private Service Connect 设置中,无需使用
--consumer-network
和--reserved-range
标志。 - Private Service Connect 实例需要另外两个标志:
--no-public-ip-enabled
和--psc-enabled
。 --psc-allowed-vpcs
标志是逗号分隔的 VPC 列表。您可以在列表中指定任意数量的 VPC。
检查实例的状态
实例大约需要 40-60 分钟才能创建完毕。
控制台
实例创建期间,您可以在控制台的实例页面上查看其状态。您还可以点击 Google Cloud 控制台菜单中的通知图标,查看实例创建活动。实例创建后,其状态将在实例的详情页面上显示为活跃。
gcloud
如需检查状态,请使用 gcloud looker instances describe
命令:
gcloud looker instances describe INSTANCE_NAME --region=REGION
替换以下内容:
INSTANCE_NAME
:您的 Looker (Google Cloud Core) 实例的名称。REGION
:Looker (Google Cloud Core) 实例的托管区域。
实例达到 ACTIVE
状态后,即表示已准备就绪。
为外部服务设置 Private Service Connect
为了让 Looker (Google Cloud Core) 实例能够连接到外部服务,该外部服务必须使用 Private Service Connect 发布。针对您要发布的任何服务,按照使用 Private Service Connect 发布服务的说明操作。
服务可以通过自动批准或显式批准发布。如果您选择使用显式批准发布服务,则必须按如下方式配置服务连接:
- 将服务关联许可名单设置为使用项目(而非网络)。
- 将 Looker 租户项目 ID 添加到许可名单。
实例创建后,您可以通过运行以下命令找到 Looker 租户项目 ID:
gcloud looker instances describe INSTANCE_NAME --region=REGION--format=json
替换以下内容:
INSTANCE_NAME
:您的 Looker (Google Cloud Core) 实例的名称。REGION
:Looker (Google Cloud Core) 实例的托管区域。
在命令输出中,looker_service_attachment_uri
字段将包含您的 Looker 租户项目 ID。其格式如下:projects/{Looker tenant project ID}/regions/…
服务连接 URI
日后,当您更新 Looker (Google Cloud Core) 实例以连接到您的服务时,您需要外部服务的完整服务连接 URI。您可以使用创建服务附件的项目、区域和名称,按如下方式指定 URI:
projects/{project}/regions/{region}/serviceAttachments/{name}
更新 Looker (Google Cloud Core) Private Service Connect 实例
创建 Looker (Google Cloud Core) Private Service Connect 实例后,您可以进行以下更改:
指定南向连接
控制台
gcloud
使用 --psc-service-attachment
标志可启用与您已设置 Private Service Connect 的外部服务的南向(出站)连接:
gcloud looker instances update INSTANCE_NAME \ --psc-service-attachment domain=DOMAIN_1,attachment=SERVICE_ATTACHMENT_URI_1 \ --psc-service-attachment domain=DOMAIN_2,attachment=SERVICE_ATTACHMENT_URI_2 \ --region=REGION
替换以下内容:
INSTANCE_NAME
:您的 Looker (Google Cloud Core) 实例的名称。DOMAIN_1
和DOMAIN_2
:如果您要连接到公共服务,请使用该服务的域名。如果您要连接到专用服务,请使用您选择的完全限定域名。网域名称须遵循以下限制:每个南向连接都支持单个网域。
域名必须至少包含三个部分。例如,
mydomain.github.com
是可接受的,而github.com
是不可接受的。名称的最后一部分不得包含以下任何内容:
googleapis.com
google.com
gcr.io
pkg.dev
在 Looker (Google Cloud Core) 实例中设置与服务的连接时,请将此网域用作服务的别名。
SERVICE_ATTACHMENT_1
和SERVICE_ATTACHMENT_2
:您要连接到的已发布服务的完整服务连接 URI。每个服务连接 URI 只能由单个网域访问。REGION
:Looker (Google Cloud Core) 实例的托管区域。
如果您要连接到位于 Looker (Google Cloud Core) 实例所在区域以外的区域中的非 Google 代管式服务,请在生产者负载均衡器上启用全球访问权限。
包含应启用的所有连接
每次使用 --psc-service-attachment
标志运行更新命令时,您都必须添加要启用的每个连接,包括之前已启用的连接。例如,假设您之前已将名为 my-instance
的实例连接到 www.cloud.com
网域,如下所示:
gcloud looker instances update my-instance --psc-service-attachment \ domain=www.cloud.com,attachment=projects/123/regions/us-central1/serviceAttachment/cloud
运行以下命令以添加新的 www.me.com
连接会删除 www.cloud.com
连接:
gcloud looker instances update my-instance --psc-service-attachment \ domain=www.me.com,attachment=projects/123/regions/us-central1/serviceAttachment/my-sa
如需在添加新的 www.me.com
连接时防止删除 www.cloud.com
连接,请在更新命令中为现有连接和新连接分别添加 psc-service-attachment
标志,如下所示:
gcloud looker instances update my-instance --psc-service-attachment \ domain=www.cloud.com,attachment=projects/123/regions/us-central1/serviceAttachment/cloud \ --psc-service-attachment domain=www.me.com,attachment=projects/123/regions/us-central1/serviceAttachment/my-sa
检查南向连接状态
您可以再次运行 gcloud looker instances describe --format=json
命令,检查南向(出站)连接的状态。每个服务附件都应填充 connection_status
字段。
删除所有南向连接
如需删除所有南向(出站)连接,请运行以下命令:
gcloud looker instances update MY_INSTANCE --clear-psc-service-attachments \ --region=REGION
替换以下内容:
INSTANCE_NAME
:您的 Looker (Google Cloud Core) 实例的名称。REGION
:Looker (Google Cloud Core) 实例的托管区域。
更新允许的 VPC
控制台
- 在实例页面上,点击您要更新允许向实例进行北向访问的 VPC 的实例名称。
- 点击修改。
- 展开连接部分。
- 如需添加新的 VPC,请点击添加内容。然后,在 Project(项目)字段中选择 VPC 所在的项目,并从 Network(网络)下拉菜单中选择网络。
- 如需删除 VPC,请点击将光标悬停在相应网络上时显示的删除一项回收站图标。
- 点击保存。
gcloud
使用 --psc-allowed-vpcs
标志更新已获授权向实例发起北向流量的 VPC 列表。
更新允许的 VPC 时,您必须指定要在更新后生效的完整列表。例如,假设 VPC ALLOWED_VPC_1
已获准,而您想添加 VPC ALLOWED_VPC_2
。如需添加 VPC ALLOWED_VPC_1
,同时确保继续允许 VPC ALLOWED_VPC_2
,请按如下方式添加 --psc-allowed-vpcs
标志:
gcloud looker instances update INSTANCE_NAME \ --psc-allowed-vpcs=ALLOWED_VPC_1,ALLOWED_VPC_2 --region=REGION
替换以下内容:
INSTANCE_NAME
:您的 Looker (Google Cloud Core) 实例的名称。ALLOWED_VPC_1
和ALLOWED_VPC_2
:允许进入 Looker (Google Cloud Core) 的 VPC。使用以下格式之一指定每个允许的 VPC:projects/{project}/global/networks/{network}
https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}
REGION
:Looker (Google Cloud Core) 实例的托管区域。
删除所有允许的 VPC
如需删除所有允许的 VPC,请运行以下命令:
gcloud looker instances update MY_INSTANCE --clear-psc-allowed-vpcs \ --region=REGION
替换以下内容:
INSTANCE_NAME
:您的 Looker (Google Cloud Core) 实例的名称。REGION
:Looker (Google Cloud Core) 实例的托管区域。
对实例的北向访问权限
创建 Looker (Google Cloud Core) (Private Service Connect) 实例后,您可以设置上行访问权限,以允许用户访问该实例。
如需从其他 VPC 网络访问您的实例,请先按照创建 Private Service Connect 端点的说明操作。确保该网络有权对您的 Looker (Google Cloud core) 实例进行南向访问,并在创建端点时遵循以下准则:
将目标服务字段(对于 Google Cloud 控制台)或
SERVICE_ATTACHMENT
变量(如果按照 Google Cloud CLI 或 API 说明操作)设置为 Looker 服务附件 URI,您可以通过查看控制台实例配置页面上的详细信息标签页或运行以下命令找到该 URI:gcloud looker instances describe INSTANCE_NAME --region=REGION--format=json
替换以下内容:
INSTANCE_NAME
:您的 Looker (Google Cloud Core) 实例的名称。REGION
:Looker (Google Cloud Core) 实例的托管区域。
您可以使用与 Looker (Google Cloud Core) 实例托管在同一区域中的任何子网。
不启用全球访问权限。
如需从混合网络环境访问您的实例,您可以按照使用 Private Service Connect 对 Looker (Google Cloud Core) 实例进行北向访问文档页面上的说明设置自定义网域并访问该实例。