Вопрос:

как создать многоузловой кластер красного смещения только для Prod с использованием Terraform

amazon-redshift terraform

375 просмотра

1 ответ

440 Репутация автора

У меня 2 кластера красного смещения prod и dev, я использую один и тот же модуль terraform. Как я могу иметь 2 узла только для кластера продуктов. Пожалуйста, дайте мне знать, какой синтаксис интерполяции я должен использовать

variable "node_type" {
  default = "dc1.large"
}

resource "aws_redshift_cluster" "****" {
  cluster_identifier           = "abc-${var.env}"
  node_type                    = "${var.node_type}"
  cluster_type                 = "single-node" ==> multi node
  number_of_nodes              = 2 ==> only for prod
Автор: user6826691 Источник Размещён: 08.11.2017 11:42

Ответы (1)


1 плюс

25927 Репутация автора

Решение

Используйте тип карты :

variable "node_type" {
  default = "dc1.large"
}

variable "env" {
  default = "development"
}

variable "redshift_cluster_type" {
    type = "map"

  default = {
    development = "single-node"
    production  = "multi-node"
  }
}

variable "redshift_node" {
    type = "map"

  default = {
    development = "1"
    production  = "2"
  }
}    

resource "aws_redshift_cluster" "****" {
  cluster_identifier           = "abc-${var.env}"
  node_type                    = "${var.node_type}"
  cluster_type                 = "${var.redshift_cluster_type[var.env]}"
  number_of_nodes              = "${var.redshift_node[var.env]}"
}

Иногда я ленивый, и просто делаю это

resource "aws_redshift_cluster" "****" {
  cluster_identifier           = "abc-${var.env}"
  node_type                    = "${var.node_type}"
  cluster_type                 = "${var.env == "production" ? "multi_node" : "single_node" }"
  number_of_nodes              = "${var.env == "production" ? 2 : 1 }"
}
Автор: BMW Размещён: 09.11.2017 06:37
Вопросы из категории :
32x32