Terraform-创建Google Cloud SQL实例不起作用



我使用以下Terraform配置尝试在Google Cloud Platform上创建子网和云SQL MySQL 5.6实例。

resource "google_compute_network" "default" {
  name = "my-default-network"
  auto_create_subnetworks = "true"
  project = "${google_project.project.project_id}"
}
resource "google_sql_database_instance" "wordpress" {
  region = "${var.region}"
  database_version = "MYSQL_5_6"
  project = "${google_project.project.project_id}"
  settings {
    tier = "db-n1-standard-1"
    ip_configuration {
      private_network = "${google_compute_network.default.self_link}"
    }
  }
}

但是应用此计划给我以下模糊错误。我还试图摧毁整个项目,并试图再次构建它,但是我遇到了同样的错误。

google_sql_database_instance.wordpress: Still creating... (20s elapsed)
google_sql_database_instance.wordpress: Still creating... (30s elapsed)
google_sql_database_instance.wordpress: Still creating... (40s elapsed)
Error: Error applying plan:
1 error(s) occurred:
* google_sql_database_instance.wordpress: 1 error(s) occurred:
* google_sql_database_instance.wordpress: Error waiting for Create Instance:

Terraform does not automatically rollback in the face of errors.
Instead, your Terraform state file has been partially updated with
any resources that successfully completed. Please address the error
above and apply again to incrementally change your infrastructure.

任何人都可以看到我在这里做错了什么?

编辑:

TF_LOG=debug添加到 terraform apply -run时,我会收到以下错误。

"error": {
  "kind": "sql#operationErrors",
  "errors": [{
    "kind": "sql#operationError",
    "code": "INTERNAL_ERROR"
  }]
}

编辑2:简化了网络设置,但得到完全相同的错误。

聚会很晚,但我刚刚克服了这个问题。就我而言,这与使用private_networking选项有关。我的建议是阅读文档,关注"网络要求",并检查以下内容:

  • 您在项目中启用了servicenetworking.googleapis.com API
  • 您与Terraform一起运行的ServiceAccount具有"服务网络管理员"角色

我发现验证私人网络是临时实例中的问题(通过将其删除并设置ipv4_enabled = "true")有助于集中我的调试工作。

祝你好运!

最新更新