Изменение auth_token кластера redis через terraform привело к его уничтожению и воссозданию. Как этого избежать? - PullRequest
0 голосов
/ 14 апреля 2020

Я хочу иметь возможность изменить auth_token кластера redis. Но когда я изменил его, план terrafrom говорит мне, что он хочет воссоздать кластер:

An execution plan has been generated and is shown below.
Resource actions are indicated with the following symbols:
-/+ destroy and then create replacement

Terraform will perform the following actions:

      # module.live_presentation_elasticache.aws_elasticache_replication_group.main[0] must be replaced
    -/+ resource "aws_elasticache_replication_group" "main" {
          + apply_immediately              = (known after apply)
            at_rest_encryption_enabled     = true
          ~ auth_token                     = (sensitive value)
            auto_minor_version_upgrade     = false
            automatic_failover_enabled     = true
          ~ configuration_endpoint_address = "clustercfg.my-project.abcde5.use1.cache.amazonaws.com" -> (known after apply)
            engine                         = "redis"
            engine_version                 = "5.0.3"
          ~ id                             = "my-project" -> (known after apply)
            maintenance_window             = "sun:07:00-sun:08:00"
          ~ member_clusters                = [
              - "my-project-0001-001",
              - "my-project-0002-001",
              - "my-project-0003-001",
            ] -> (known after apply)
            node_type                      = "cache.t2.micro"
          ~ number_cache_clusters          = 3 -> (known after apply)
            parameter_group_name           = "default.redis5.0.cluster.on"
            port                           = 6379
          + primary_endpoint_address       = (known after apply)
            replication_group_id           = "my-project"
            security_group_ids             = [
                "sg-0600b285b055c64b1",
            ]
          ~ security_group_names           = [] -> (known after apply)
            snapshot_retention_limit       = 30
            snapshot_window                = "06:00-07:00"
            subnet_group_name              = "my-project-redis-subnet"
            tags                           = {
                "Flavor" = "dev"
                "Name"   = "live-presentation"
            }
            transit_encryption_enabled     = true

            cluster_mode {
                num_node_groups         = 3
                replicas_per_node_group = 0
            }
        }

    Plan: 1 to add, 0 to change, 1 to destroy.

Я хочу избежать воссоздания кластера redis. Вот некоторые из очевидных причин: я хочу избежать потери данных и простоев.

Есть ли менее разрушительный способ обновления auth_token? Желательно терраформное решение, но не обязательно.

...