Google 云 - 使用 Deployment Manager 的 CloudSQL 专用服务连接
Google Cloud - Private service connection for CloudSQL using Deployment Manager
我正在尝试使用部署管理器自动部署系统。本质上,它包括:
- 一个计算实例运行一个代理服务器
- 第二个计算实例运行 应用程序本身(仅限私有 IP)
- 托管数据库的云SQL实例(MySQL)
在他们现有的环境中,数据库配置了私有IP地址,网络中的私有服务访问,使得计算实例可以通过其私有IP访问数据库。
我已经设法获得了 2 个实例 运行 和云 SQL 实例,但我正在努力在 SQL 实例上设置私有 IP . 我有以下内容:
- name: database
type: sqladmin.v1beta4.instance
properties:
backendType: SECOND_GEN
instanceType: CLOUD_SQL_INSTANCE
region: {{ properties["region"] }}
databaseVersion: {{ properties["dbType"] }}
settings:
tier: db-n1-standard-1
dataDiskSizeGb: 10
dataDiskType: PD_SSD
storageAutoResize: true
replicationType: SYNCHRONOUS
locationPreference:
zone: {{ properties['zone']}}
ipConfiguration:
privateNetwork: {{ properties["network"] }}
但是,当我尝试构建它时,收到错误消息:
Failed to create subnetwork. Please create Service Networking
connection with service 'servicenetworking.googleapis.com' from
consumer project '' network '' again
我试图通过文档深入了解如何使用 Deployment Manager 创建此连接,但我一头雾水!我已经为对等创建了一个私有地址范围:
- name: google-managed-services-<network_name>
type: compute.beta.globalAddress
properties:
network: $(ref.<network_name>.selfLink)
purpose: VPC_PEERING
addressType: INTERNAL
prefixLength: 16
这似乎正确地创建了私人服务链接的预留,但我找不到拼图的最后一块,即与 Google 网络的实际对等连接。文档建议我需要的 CLI 调用是:
> gcloud services vpc-peerings connect
--service=servicenetworking.googleapis.com
--ranges=[RESERVED_RANGE_NAME]
--network=[VPC_NETWORK]
--project=[PROJECT_ID]
但据我所知,Deployment Manager 不支持此 API。
有没有人以前成功地自动化过这种设置?当然欢迎指出我可能遗漏的相关文档!
servicenetworking.googleapis.com is not currently supported by Deployment Manager nor is it a supported GCP-type 所以目前无法通过 DM 完成此操作。我建议为它创建一个功能请求,因为它是一个相对较新的 API.
在设置 https://cloud.google.com/sql/docs/mysql/configure-private-ip#configure-access
之后,下面的配置对我有用
ipConfiguration:
privateNetwork: "internal"
ipv4Enabled: false
authorizedNetworks: null
我正在尝试使用部署管理器自动部署系统。本质上,它包括:
- 一个计算实例运行一个代理服务器
- 第二个计算实例运行 应用程序本身(仅限私有 IP)
- 托管数据库的云SQL实例(MySQL)
在他们现有的环境中,数据库配置了私有IP地址,网络中的私有服务访问,使得计算实例可以通过其私有IP访问数据库。
我已经设法获得了 2 个实例 运行 和云 SQL 实例,但我正在努力在 SQL 实例上设置私有 IP . 我有以下内容:
- name: database
type: sqladmin.v1beta4.instance
properties:
backendType: SECOND_GEN
instanceType: CLOUD_SQL_INSTANCE
region: {{ properties["region"] }}
databaseVersion: {{ properties["dbType"] }}
settings:
tier: db-n1-standard-1
dataDiskSizeGb: 10
dataDiskType: PD_SSD
storageAutoResize: true
replicationType: SYNCHRONOUS
locationPreference:
zone: {{ properties['zone']}}
ipConfiguration:
privateNetwork: {{ properties["network"] }}
但是,当我尝试构建它时,收到错误消息:
Failed to create subnetwork. Please create Service Networking connection with service 'servicenetworking.googleapis.com' from consumer project '' network '' again
我试图通过文档深入了解如何使用 Deployment Manager 创建此连接,但我一头雾水!我已经为对等创建了一个私有地址范围:
- name: google-managed-services-<network_name>
type: compute.beta.globalAddress
properties:
network: $(ref.<network_name>.selfLink)
purpose: VPC_PEERING
addressType: INTERNAL
prefixLength: 16
这似乎正确地创建了私人服务链接的预留,但我找不到拼图的最后一块,即与 Google 网络的实际对等连接。文档建议我需要的 CLI 调用是:
> gcloud services vpc-peerings connect
--service=servicenetworking.googleapis.com
--ranges=[RESERVED_RANGE_NAME]
--network=[VPC_NETWORK]
--project=[PROJECT_ID]
但据我所知,Deployment Manager 不支持此 API。
有没有人以前成功地自动化过这种设置?当然欢迎指出我可能遗漏的相关文档!
servicenetworking.googleapis.com is not currently supported by Deployment Manager nor is it a supported GCP-type 所以目前无法通过 DM 完成此操作。我建议为它创建一个功能请求,因为它是一个相对较新的 API.
在设置 https://cloud.google.com/sql/docs/mysql/configure-private-ip#configure-access
之后,下面的配置对我有用 ipConfiguration:
privateNetwork: "internal"
ipv4Enabled: false
authorizedNetworks: null