您可以将 Looker (Google Cloud Core) 生产实例或非生产实例配置为使用具有专用服务访问通道的专用连接。
使用专用服务访问通道,Looker (Google Cloud Core) 实例可直接与虚拟私有云 (VPC) 中的其他资源通信,而无需通过公共互联网或使用外部 IP 地址。此配置可限制攻击途径、阻止来自公共互联网的入站流量,并缩短网络延迟时间。
通过专用连接,您可以使用 VPC Service Controls 等功能。不过,专用连接与部分 Looker (Google Cloud Core) 功能不兼容。如需了解详情,请参阅功能兼容性表。
Looker (Google Cloud Core) 支持企业版或嵌入式 实例版本的专用连接 (PSA)。
所需的角色和权限
如需设置专用连接 (PSA) 实例,您必须拥有以下 IAM 权限:
- 如需创建 Looker (Google Cloud Core) 实例,您必须拥有 Looker Admin (
roles/looker.Admin) 角色。 -
如需获得创建分配的 IP 地址范围和管理专用连接所需的权限,请让您的管理员为您授予项目的 Compute Network Admin (
roles/compute.networkAdmin) IAM 角色。如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。此预定义角色包含创建分配的 IP 地址范围和管理专用连接所需的权限。如需查看所需的确切权限,请展开所需权限部分:
所需权限
如需创建分配的 IP 地址范围和管理专用连接,需要具备以下权限:
-
在网络下拉菜单中查看可用网络:
-
compute.addresses.list -
compute.globalAddresses.list -
compute.networks.list -
compute.globalAddresses.list
-
-
创建新的 VPC 网络:
-
compute.addresses.create -
compute.globalAddresses.create -
serviceusage.services.enable
-
-
分配专用 IP 范围并设置专用服务访问通道连接:
compute.networks.addPeering
如果您使用的是已设置的专用网络,则不需要这些权限。
-
在网络下拉菜单中查看可用网络:
您可能还需要其他 IAM 角色来设置 VPC Service Controls 或客户管理的加密密钥 (CMEK)。如需了解详情,请访问 VPC Service Controls 对 Looker (Google Cloud Core) 的支持或为 Looker (Google Cloud Core) 启用 CMEK 文档页面。
您可能还需要其他 IAM 角色来设置员工身份联合、VPC Service Controls 或客户管理的加密密钥 (CMEK)。如需了解详情,请访问使用员工身份联合进行 Looker (Google Cloud Core) 用户身份验证、Looker (Google Cloud Core) 的 VPC Service Controls 支持或为 Looker (Google Cloud Core) 启用 CMEK 文档页面,了解这些功能。
准备工作
- 与销售团队合作,确保您的年度合同已完成,并且您的项目中已分配配额。
- 确保您的 Google Cloud 项目已启用结算功能。
- 在 Google Cloud 控制台的“项目选择器”页面上,创建 Google Cloud 项目,或前往要在其中创建 Looker (Google Cloud Core) 实例的现有项目。
- 在 Google Cloud 控制台中为您的项目启用 Looker API。启用 API 时,您可能需要刷新控制台页面,以确认该 API 已启用。
- 在 Google Cloud 控制台中为您的项目启用 Service Networking API。启用 API 时,您可能需要刷新控制台页面,以确认该 API 已启用。
- 在 Google Cloud 控制台中为您的项目启用 Compute Engine API。启用 API 后,您可能需要刷新控制台页面才能确认相应 API 已启用。
- 设置 OAuth 客户端并创建授权凭证。OAuth 客户端可让您进行身份验证并访问实例。即使您使用其他身份验证方法对实例中的用户进行身份验证,也必须设置 OAuth 才能创建 Looker (Google Cloud Core) 实例。
创建和配置 VPC 网络
在创建专用连接之前,您必须先创建并配置虚拟私有云 (VPC) 网络。Looker (Google Cloud Core) 支持在同一 VPC 中(无论是在同一区域还是在不同区域)使用多个专用连接 (PSA) 实例。
- 在项目中创建 VPC 网络。或者,如果您使用的是共享 VPC,而不是创建新的 VPC 网络,请完成以下部分在共享 VPC 中创建实例中的步骤,以及本部分中针对共享 VPC 的其余步骤。
- 在 VPC 中分配一个 IPv4 IP 范围(CIDR 块),用于与 Looker (Google Cloud Core) 建立专用服务访问通道连接。
- 在分配范围之前,请考虑限制条件。
- 设置 IP 地址范围大小时,请注意,最小大小为
/22块。 - Looker (Google Cloud Core)支持 RFC 1918 中的所有 IPv4 范围,该标准指定了分配给内部(即组织内)使用的 IP 地址,这些地址不会在互联网上路由。具体而言,这些功能包括:
10.0.0.0/8172.16.0.0/12192.168.0.0/16- 如 RFC 5735 和 RFC 1112 中所述,E 类 IPv4 范围 (
240.0.0.0/4) 预留以供将来使用,Looker (Google Cloud Core)不支持该范围。 - 使用上一步中为分配的分配分配的 IP 范围,将专用服务访问通道连接添加到 VPC 网络。
- 创建 VPC 网络后,返回 Google Cloud 项目中的创建 Looker 实例页面。您可能需要刷新页面,以便系统识别您的 VPC 网络。
/22 子网的 /26 范围子网。同一 VPC 和同一区域中的任何后续专用连接 (PSA) Looker (Google Cloud Core) 实例都使用同一代理专用子网。
完成这些步骤后,您可以按照创建 Looker (Google Cloud Core) 实例 文档页面上的步骤开始创建实例,从准备工作部分开始。
同一 VPC 中的多个专用连接实例
如果两个或更多专用连接 Looker (Google Cloud Core) 实例位于同一区域和同一 VPC 中,并且您删除了在该区域中创建的第一个 Looker (Google Cloud Core) 实例,则仅限代理子网不会释放,因为它仍由其余实例使用。如果您尝试创建新的专用连接 (PSA) Looker (Google Cloud Core) 实例,并且该实例使用的地址范围与已删除实例使用的地址范围(包含代理专用子网的 IP 地址范围)相同,则实例创建会失败,并且您会看到“IP 范围已用尽”错误。如需检查 IP 范围是否正在使用中,请检查 Service Networking 的 VPC 对等互连,并检查导入路由,看看它们是否正在使用您感兴趣的 IP 范围。
在共享 VPC 中创建实例
如果您要在共享 VPC 中创建 Looker (Google Cloud Core) 实例,请在共享 VPC 的宿主项目中完成以下步骤:
- 在 Google Cloud 控制台中,在共享 VPC 的宿主项目中启用 Looker API。启用 API 后,您可能需要刷新控制台页面才能确认相应 API 已启用。
使用 gcloud
services identity create命令在共享 VPC 的宿主项目中创建服务账号:gcloud beta services identity create --service=looker.googleapis.com \ --project=SHARED_HOST_PROJECT_ID
将 SHARED_HOST_PROJECT_ID 替换为共享 VPC 的宿主项目的 ID。
向共享 VPC 宿主项目中的服务账号授予包含
compute.globalAddresses.getIAM 权限的 IAM 角色。接下来,运行add-iam-policy-binding命令:gcloud projects add-iam-policy-binding SHARED_HOST_PROJECT_ID \ --member=serviceAccount:SA_EMAIL --role=ROLE_NAME
替换以下内容:
SHARED_HOST_PROJECT_ID:共享 VPC 的宿主项目的 ID。SA_EMAIL:您在共享 VPC 的宿主项目中创建的服务账号的电子邮件地址。ROLE_NAME:包含compute.globalAddresses.get权限的角色的名称。请采用以下某种格式:- 预定义角色:
roles/SERVICE.IDENTIFIER - 项目级自定义角色:
projects/PROJECT_ID/roles/IDENTIFIER - 组织级自定义角色:
organizations/ORG_ID/roles/IDENTIFIER
如需了解预定义角色的列表,请参阅了解角色。
- 预定义角色:
创建服务账号并向其授予 IAM 权限后,请等待几分钟,让服务账号和权限完成同步。
此外,在共享 VPC 中分配 IPv4 IP 范围,并将专用服务访问通道连接添加到共享 VPC,如上一部分创建和配置 VPC 网络中所述。
创建专用连接实例
Looker (Google Cloud Core) 生成新实例大约需要 60 分钟。
如果您想要专用连接 (PSA) 实例,则必须使用 Google Cloud CLI 或 Terraform,并且必须在创建实例时将其配置为专用连接 (PSA)。实例创建后,无法向其添加或从中移除专用连接。
如需使用 Google Cloud CLI 创建专用连接 (PSA) 实例,请执行以下步骤:
- 如果您使用的是 CMEK,请先按照说明创建服务账号、密钥环和密钥,然后再创建 Looker (Google Cloud Core) 实例。
使用
gcloud looker instances create命令创建实例:gcloud looker instances create INSTANCE_NAME \ --project=PROJECT_ID \ --oauth-client-id=OAUTH_CLIENT_ID \ --oauth-client-secret=OAUTH_CLIENT_SECRET \ --region=REGION \ --edition=EDITION \ --private-ip-enabled \ --consumer-network=CONSUMER_NETWORK --reserved-range=RESERVED_RANGE [--no-public-ip-enabled]\ [--public-ip-enabled]\ [--release-channel=RELEASE_CHANNEL]
替换以下内容:
INSTANCE_NAME:Looker (Google Cloud Core) 实例的名称;它不与实例网址关联。PROJECT_ID:您要在其中创建 Looker (Google Cloud Core) 实例的 Google Cloud 项目的名称。OAUTH_CLIENT_ID和OAUTH_CLIENT_SECRET:您在设置 OAuth 客户端时创建的 OAuth 客户端 ID 和 OAuth secret。创建实例后,在 OAuth 客户端的已获授权的重定向 URI 部分中输入实例的网址。REGION:Looker (Google Cloud Core) 实例所在的区域。选择与订阅合同中的区域一致的区域。Looker (Google Cloud Core) 位置文档页面中列出了可用区域。EDITION:实例的版本、环境类型(生产或非生产)以及是否为试用版。对于专用连接 (PSA) 实例,此值应为core-enterprise-annual、core-embed-annual、nonprod-core-enterprise-annual、nonprod-core-embed-annual、core-trial-enterprise或core-trial-embed。请务必选择年度合同中列出的版本类型,并确保您已分配配额。实例创建完毕后,版本便无法更改。如果您想更改版本,可以使用导入和导出功能,将 Looker (Google Cloud Core) 实例数据移至配置了其他版本的新实例。CONSUMER_NETWORK:您的 VPC 网络或共享 VPC 网络,格式为projects/PROJECT_ID/global/networks/NETWORK_NAME。如果您要创建专用连接 (PSA) 实例,则必须设置此参数。RESERVED_RANGE:VPC 内的 IP 地址范围,Google 将在该范围内为您的 Looker (Google Cloud Core) 实例预配子网。RELEASE_CHANNEL:实例的发布渠道。可用值为rapid、regular和no-channel。预览期间的默认值为no-channel。如果您未在create命令中添加此标志,系统将使用默认渠道创建实例。此功能处于预览阶段。
您可以添加以下标志:
--private-ip-enabled用于启用专用连接 (PSA)。如需创建专用连接 (PSA) 实例,必须包含此参数。--public-ip-enabled用于启用公共 IP。--no-public-ip-enabled会停用公共 IP。- 建议您在创建 Looker (Google Cloud Core) 实例时使用
--async。
您可以添加更多参数来应用其他实例设置:
[--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] [--accelerated-security-patch-enabled] [--no-accelerated-security-patch-enabled] [--fips-enabled] [--catalog-integration-enabled] [--no-catalog-integration-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格式。如果您还要将实例注册到快速发布渠道,或将加速安全补丁 (ASP) 配置标志与常规发布渠道搭配使用,则无法设置拒绝维护期。KMS_KEY_ID:必须是设置客户管理的加密密钥 (CMEK) 时创建的密钥。
以下标志可启用其他设置:
--accelerated-security-patch-enabled和--no-accelerated-security-patch-enabled:如果您的实例位于regular渠道,并且您希望每两周接收或停用一次安全补丁,请添加其中一个标志。此功能处于预览版阶段。--fips-enabled:启用 FIPS 140-3 级别 1 合规性。- 将
--catalog-integration-enabled标志替换为--no-catalog-integration-enabled标志,以停用 Looker (Google Cloud Core) 与 Knowledge Catalog 集成。
实例创建期间,您可以在控制台中的实例页面上查看其状态。您还可以通过点击 Google Cloud 控制台菜单中的通知图标来查看实例创建活动。
如果您在设置实例时选择了混合连接,则可以通过实例的网址设置入站访问权限。该网址可在 Google Cloud 控制台的实例页面上找到,如果您设置了自定义网域,则可在实例详情页面的自定义网域标签页上找到。您可以设置 IP 许可清单,以限制入站连接,仅允许来自特定 IP 地址的流量。如果您创建仅限专用连接 (PSA) 的实例,则实例页面上不会显示网址。如需详细了解如何设置对专用连接 (PSA) 实例的访问权限,请参阅下文中的在创建后访问专用服务访问通道实例部分。
在创建后访问专用服务访问通道实例
如果您创建的实例仅启用了专用连接,则不会收到该实例的网址。如需访问该实例,您必须为该实例配置自定义网域,并将该自定义网域添加到该实例的 OAuth 凭证中。按照使用专用服务访问通道访问 Looker (Google Cloud Core) 实例文档页面上的说明创建和访问自定义网域。
如果您创建的实例使用混合网络配置,请按照为使用公共连接的 Looker (Google Cloud Core) 实例设置自定义网域文档页面上的说明创建和访问自定义网域。
排查实例创建问题
如需问题排查方面的帮助,请参阅排查 Looker (Google Cloud Core) 实例创建失败问题文档页面。
后续步骤
- 如果您使用的是混合连接,请设置 IP 许可清单,以将入站流量限制为特定 IP 地址。
- 如果您使用的是混合连接或公共连接,请设置自定义网域。