由于terraform还没有redis tls支持,我们计划通过terraform调用gcloud命令来创建启用tls的redis。我是新的地形,所以在网上寻找一些资源。但没找到多少。有人能帮我做一个工作样品吗?任何gcloud命令调用都可以。
感谢Terraform构建在底层REST api之上,不直接使用云SDK (gcloud
)。由于这个原因,在没有提供程序支持资源的情况下,直接调用gcloud
命令并不简单。
我不熟悉Terraform,但我希望(!?)直接调用shell命令(例如gcloud redis instances create ...
)是不鼓励的。而且,虽然也有可能直接调用REST api,但您需要注意身份验证。
也就是说,google-beta
支持TLS。
transit_encryption_mode = "SERVER_AUTHENTICATION"
terraform {
required_providers {
google-beta = {
source = "hashicorp/google-beta"
version = "3.58.0"
}
}
}
variable "project" {}
variable "region" {}
variable "zone" {}
variable "key" {}
variable "instance" {}
provider "google-beta" {
credentials = file(var.key)
project = var.project
region = var.region
zone = var.zone
}
resource "google_redis_instance" "cache" {
provider = google-beta
name = var.instance
tier = "BASIC"
memory_size_gb = 1
location_id = var.zone
transit_encryption_mode = "SERVER_AUTHENTICATION"
}
然后确认启用tls:
gcloud redis instances describe ${INSTANCE}
--region=${REGION}
--project=${PROJECT}
--format="value(transitEncryptionMode)"
SERVER_AUTHENTICATION