【问题标题】:Google Cloud - Private service connection for CloudSQL using Deployment ManagerGoogle Cloud - 使用 Deployment Manager 的 CloudSQL 专用服务连接
【发布时间】:2019-07-15 13:55:57
【问题描述】:

我正在尝试使用部署管理器自动部署系统。本质上,它包括:

  • 一个运行代理服务器的计算实例
  • 运行应用程序本身的第二个计算实例(仅限私有 IP)
  • 托管数据库 (MySQL) 的 CloudSQL 实例

在他们现有的环境中,数据库配置了私有IP地址,网络中的私有服务访问,以便计算实例可以通过其私有IP访问数据库。

我已经设法让 2 个实例和 CloudSQL 实例运行,但我正在努力在 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"] }}

但是,当我尝试构建它时,我收到错误:

未能创建子网。请创建服务网络 与服务“servicenetworking.googleapis.com”的连接来自 消费者项目“网络”再次

我试图深入研究文档以找到如何使用部署管理器创建此连接,但我不知所措!我已经为对等创建了一个私有地址范围:

    - 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。

以前有没有人成功实现过这种设置的自动化?当然,欢迎指出我可能错过的相关文档!

【问题讨论】:

    标签: google-cloud-platform google-deployment-manager


    【解决方案1】:

    部署管理器当前不支持servicenetworking.googleapis.com,也不支持GCP-type,因此目前无法通过DM 完成此操作。我建议为它创建一个功能请求,因为它是一个相对较新的 API。

    【讨论】:

    【解决方案2】:

    在设置https://cloud.google.com/sql/docs/mysql/configure-private-ip#configure-access之后,下面的配置对我有用

      ipConfiguration:
        privateNetwork: "internal"
        ipv4Enabled: false
        authorizedNetworks: null
    

    【讨论】:

      猜你喜欢
      • 2021-07-07
      • 2019-11-10
      • 1970-01-01
      • 2018-09-07
      • 2017-02-02
      • 2021-04-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多