Yandex Cloud
Search
Contact UsGet started
  • Blog
  • Pricing
  • Documentation
  • All Services
  • System Status
    • Featured
    • Infrastructure & Network
    • Data Platform
    • Containers
    • Developer tools
    • Serverless
    • Security
    • Monitoring & Resources
    • ML & AI
    • Business tools
  • All Solutions
    • By industry
    • By use case
    • Economics and Pricing
    • Security
    • Technical Support
    • Customer Stories
    • Gateway to Russia
    • Cloud for Startups
    • Education and Science
  • Blog
  • Pricing
  • Documentation
Yandex project
© 2025 Yandex.Cloud LLC
Yandex Managed Service for Valkey™
  • Getting started
    • All guides
      • Information about existing clusters
      • Creating a cluster
      • Updating cluster settings
      • Valkey™ version upgrade
      • Stopping and starting a cluster
      • Managing cluster hosts
      • Migrating hosts to a different availability zone
      • Managing backups
      • Deleting a cluster
  • Access management
  • Terraform reference
  • Monitoring metrics
  • Audit Trails events
  • Public materials
  • Release notes
  • FAQ

In this article:

  • Changing cluster name and description
  • Configuring the use of FQDNs instead of IP addresses
  • Changing the host class
  • Changing the disk type and increasing the storage size
  • Changing Valkey™ settings
  • Changing additional cluster settings
  • Enabling sharding
  • Moving a cluster
  • Changing security groups
  1. Step-by-step guides
  2. Clusters
  3. Updating cluster settings

Updating Valkey™ cluster settings

Written by
Yandex Cloud
Updated at May 13, 2025
  • Changing cluster name and description
  • Configuring the use of FQDNs instead of IP addresses
  • Changing the host class
  • Changing the disk type and increasing the storage size
  • Changing Valkey™ settings
  • Changing additional cluster settings
  • Enabling sharding
  • Moving a cluster
  • Changing security groups

After creating a cluster, you can:

  • Change cluster name and description.

  • Configure the use of FQDNs instead of IP addresses.

  • Change the host class.

  • Change the disk type and increase storage size.

  • Configure Valkey™ servers as described in the Valkey™ documentation. For a list of supported settings, see the Valkey™ settings section and the API reference.

  • Change additional cluster settings.

  • Enable sharding in a non-sharded cluster.

  • Move a cluster to another folder.

  • Change security groups.

Learn more about other cluster updates:

  • Valkey™ version upgrade.

  • Migrating hosts to a different availability zone.

Changing cluster name and description

Management console
CLI
Terraform
REST API
gRPC API
  1. In the management console, select the folder with the cluster you need.
  2. Select Yandex Managed Service for Valkey™.
  3. Select the cluster.
  4. At the top of the page, click Edit.
  5. Under Basic parameters, enter a new name and description for the cluster.
  6. Click Save changes.

If you do not have the Yandex Cloud (CLI) command line interface yet, install and initialize it.

The folder specified when creating the CLI profile is used by default. To change the default folder, use the yc config set folder-id <folder_ID> command. You can specify a different folder using the --folder-name or --folder-id parameter.

To change the name and description of a cluster:

  1. View the description of the CLI command to update the cluster:

    yc managed-redis cluster update --help
    
  2. Specify a new name and description in the cluster update command:

    yc managed-redis cluster update <cluster_name_or_ID> \
      --new-name <new_cluster_name> \
      --description <new_cluster_description>
    

Alert

Do not change the cluster name using Terraform. This will delete the existing cluster and create a new one.

To update the cluster description:

  1. Open the current Terraform configuration file that defines your infrastructure.

    For more information about creating this file, see Creating clusters.

  2. In the Yandex Managed Service for Valkey™ cluster description, change the description parameter value:

    resource "yandex_mdb_redis_cluster" "<cluster_name>" {
      name        = "<cluster_name>"
      description = "<new_cluster_description>"
      ...
    }
    
  3. Make sure the settings are correct.

    1. In the command line, navigate to the directory that contains the current Terraform configuration files defining the infrastructure.

    2. Run this command:

      terraform validate
      

      Terraform will show any errors found in your configuration files.

  4. Confirm updating the resources.

    1. Run this command to view the planned changes:

      terraform plan
      

      If you described the configuration correctly, the terminal will display a list of the resources to update and their parameters. This is a verification step that does not apply changes to your resources.

    2. If everything looks correct, apply the changes:

      1. Run this command:

        terraform apply
        
      2. Confirm updating the resources.

      3. Wait for the operation to complete.

For more information, see the Terraform provider documentation.

Time limits

A Terraform provider sets the timeout for Yandex Managed Service for Valkey™ cluster operations:

  • Creating a cluster, including by restoring one from a backup: 15 minutes.
  • Editing a cluster: 60 minutes.
  • Deleting a cluster: 15 minutes.

Operations exceeding the set timeout are interrupted.

How do I change these limits?

Add the timeouts block to the cluster description, for example:

resource "yandex_mdb_redis_cluster" "<cluster_name>" {
  ...
  timeouts {
    create = "1h30m" # 1 hour 30 minutes
    update = "2h"    # 2 hours
    delete = "30m"   # 30 minutes
  }
}
  1. Get an IAM token for API authentication and put it into the environment variable:

    export IAM_TOKEN="<IAM_token>"
    
  2. Use the Cluster.Update method and send the following request, e.g., via cURL:

    Warning

    The API method will assign default values to all the parameters of the object you are modifying unless you explicitly provide them in your request. To avoid this, list the settings you want to change in the updateMask parameter as a single comma-separated string.

    curl \
        --request PATCH \
        --header "Authorization: Bearer $IAM_TOKEN" \
        --header "Content-Type: application/json" \
        --url 'https://mdb.api.cloud.yandex.net/managed-redis/v1/clusters/<cluster_ID>' \
        --data '{
                  "updateMask": "name,description",
                  "name": "<new_cluster_name>",
                  "description": "<new_cluster_description>"
                }'
    

    Where updateMask is the list of parameters to update as a single string, separated by commas.

    You can request the cluster ID with the list of clusters in the folder.

  3. View the server response to make sure the request was successful.

  1. Get an IAM token for API authentication and put it into the environment variable:

    export IAM_TOKEN="<IAM_token>"
    
  2. Clone the cloudapi repository:

    cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapi
    

    Below, we assume the repository contents are stored in the ~/cloudapi/ directory.

  3. Use the ClusterService.Update call and send the following request, e.g., via gRPCurl:

    Warning

    The API method will assign default values to all the parameters of the object you are modifying unless you explicitly provide them in your request. To avoid this, list the settings you want to change in the update_mask parameter as an array of paths[] strings.

    Format for listing settings
    "update_mask": {
        "paths": [
            "<setting_1>",
            "<setting_2>",
            ...
            "<setting_N>"
        ]
    }
    
    grpcurl \
        -format json \
        -import-path ~/cloudapi/ \
        -import-path ~/cloudapi/third_party/googleapis/ \
        -proto ~/cloudapi/yandex/cloud/mdb/redis/v1/cluster_service.proto \
        -rpc-header "Authorization: Bearer $IAM_TOKEN" \
        -d '{
              "cluster_id": "<cluster_ID>",
              "update_mask": {
                "paths": [ "name", "description" ]
              },
              "name": "<new_cluster_name>",
              "description": "<new_cluster_description>" 
            }' \
        mdb.api.cloud.yandex.net:443 \
        yandex.cloud.mdb.redis.v1.ClusterService.Update
    

    Where update_mask is the list of parameters to update as an array of paths[] strings.

    You can request the cluster ID with the list of clusters in the folder.

  4. View the server response to make sure the request was successful.

Configuring the use of FQDNs instead of IP addresses

If the relevant setting is disabled (by default), Valkey™ uses IP addresses as host addresses. If this setting is enabled, it will replace the host's IP address with its FQDN. For more information about this setting and its uses, see Using FQDNs instead of IP addresses.

Note

Some clients do not support this setting and will fail to connect to the cluster hosts. Such clients expect an IP address and will produce errors if you provide an FQDN instead.

Management console
CLI
Terraform
REST API
gRPC API

To enable or disable the use of FQDNs instead of IP addresses:

  1. In the management console, select the folder with the cluster you need.
  2. Select Yandex Managed Service for Valkey™.
  3. Select the cluster.
  4. At the top of the page, click Edit.
  5. Under Basic parameters, enable or disable Use FQDN instead of IP addresses.
  6. Click Save changes.

If you do not have the Yandex Cloud (CLI) command line interface yet, install and initialize it.

The folder specified when creating the CLI profile is used by default. To change the default folder, use the yc config set folder-id <folder_ID> command. You can specify a different folder using the --folder-name or --folder-id parameter.

To enable or disable the use of FQDNs instead of IP addresses:

  1. View the description of the update cluster CLI command:

    yc managed-redis cluster update --help
    
  2. Provide the required setting value in the update cluster command:

    yc managed-redis cluster update <cluster_name_or_ID> \
      --announce-hostnames <using_FQDNs_instead_of_IP_addresses>
    

    --announce-hostnames: Enables or disables using FQDNs instead of IP addresses: true or false.

    You can get the cluster name and ID with the list of clusters in the folder.

To enable or disable the use of FQDNs instead of IP addresses:

  1. Open the current Terraform configuration file that defines your infrastructure.

    For more information about creating this file, see Creating clusters.

  2. In the Yandex Managed Service for Valkey™ cluster description, change the announce_hostnames parameter value:

    resource "yandex_mdb_redis_cluster" "<cluster_name>" {
      name        = "<cluster_name>"
      ...
      announce_hostnames    = <using_FQDNs_instead_of_IP_addresses>
      ...
    }
    

    announce_hostnames: Enables or disables using FQDNs instead of IP addresses: true or false.

  3. Make sure the settings are correct.

    1. In the command line, navigate to the directory that contains the current Terraform configuration files defining the infrastructure.

    2. Run this command:

      terraform validate
      

      Terraform will show any errors found in your configuration files.

  4. Confirm updating the resources.

    1. Run this command to view the planned changes:

      terraform plan
      

      If you described the configuration correctly, the terminal will display a list of the resources to update and their parameters. This is a verification step that does not apply changes to your resources.

    2. If everything looks correct, apply the changes:

      1. Run this command:

        terraform apply
        
      2. Confirm updating the resources.

      3. Wait for the operation to complete.

For more information, see the Terraform provider documentation.

Time limits

A Terraform provider sets the timeout for Yandex Managed Service for Valkey™ cluster operations:

  • Creating a cluster, including by restoring one from a backup: 15 minutes.
  • Editing a cluster: 60 minutes.
  • Deleting a cluster: 15 minutes.

Operations exceeding the set timeout are interrupted.

How do I change these limits?

Add the timeouts block to the cluster description, for example:

resource "yandex_mdb_redis_cluster" "<cluster_name>" {
  ...
  timeouts {
    create = "1h30m" # 1 hour 30 minutes
    update = "2h"    # 2 hours
    delete = "30m"   # 30 minutes
  }
}
  1. Get an IAM token for API authentication and put it into the environment variable:

    export IAM_TOKEN="<IAM_token>"
    
  2. Use the Cluster.Update method and send the following request, e.g., via cURL:

    Warning

    The API method will assign default values to all the parameters of the object you are modifying unless you explicitly provide them in your request. To avoid this, list the settings you want to change in the updateMask parameter as a single comma-separated string.

    curl \
        --request PATCH \
        --header "Authorization: Bearer $IAM_TOKEN" \
        --header "Content-Type: application/json" \
        --url 'https://mdb.api.cloud.yandex.net/managed-redis/v1/clusters/<cluster_ID>' \
        --data '{
                  "updateMask": "announceHostnames",
                  "announceHostnames": <using_FQDNs_instead_of_IP_addresses>
                }'
    

    Where:

    • updateMask: List of parameters to update as a single string, separated by commas.

      Only one parameter is provided in this case.

    • announceHostnames: Using FQDNs instead of IP addresses, true or false.

      Note

      Some clients do not support this setting and will fail to connect to the cluster hosts. Such clients expect an IP address and will produce errors if you provide an FQDN instead.

    You can request the cluster ID with the list of clusters in the folder.

  3. View the server response to make sure the request was successful.

  1. Get an IAM token for API authentication and put it into the environment variable:

    export IAM_TOKEN="<IAM_token>"
    
  2. Clone the cloudapi repository:

    cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapi
    

    Below, we assume the repository contents are stored in the ~/cloudapi/ directory.

  3. Use the ClusterService.Update call and send the following request, e.g., via gRPCurl:

    Warning

    The API method will assign default values to all the parameters of the object you are modifying unless you explicitly provide them in your request. To avoid this, list the settings you want to change in the update_mask parameter as an array of paths[] strings.

    Format for listing settings
    "update_mask": {
        "paths": [
            "<setting_1>",
            "<setting_2>",
            ...
            "<setting_N>"
        ]
    }
    
    grpcurl \
        -format json \
        -import-path ~/cloudapi/ \
        -import-path ~/cloudapi/third_party/googleapis/ \
        -proto ~/cloudapi/yandex/cloud/mdb/redis/v1/cluster_service.proto \
        -rpc-header "Authorization: Bearer $IAM_TOKEN" \
        -d '{
              "cluster_id": "<cluster_ID>",
              "update_mask": {
                "paths": [ "announce_hostnames" ]
              },
              "announce_hostnames": <using_FQDNs_instead_of_IP_addresses>
            }' \
        mdb.api.cloud.yandex.net:443 \
        yandex.cloud.mdb.redis.v1.ClusterService.Update
    

    Where:

    • update_mask: List of parameters to update as an array of paths[] strings.

      Only one parameter is provided in this case.

    • announce_hostnames: Using FQDNs instead of IP addresses, true or false.

      {% include fqdn-option-compatibility-note %}.

    You can request the cluster ID with the list of clusters in the folder.

  4. View the server response to make sure the request was successful.

Changing the host class

When changing the host class:

  • Your single-host cluster will be unavailable for a few minutes with database connections terminated.
  • In a non-sharded multiple-host cluster:
    • The master will change. Its hosts will be stopped and updated one by one. Once stopped, a host will be unavailable for a few minutes.
    • Using a special FQDN does not guarantee a stable database connection: user sessions may be terminated.
  • In a sharded cluster:
    • The master will change in each multiple-host shard.
    • Hosts in each shard will be stopped and updated one at a time. The shard's stopped master host will be unavailable for a few minutes.
    • Master host name resolution may not be available. If public access to the host is enabled, you can only connect using the host IP address.

We recommend changing the host class only when the cluster has no active workload.

Management console
CLI
Terraform
REST API
gRPC API
  1. In the management console, select the folder with the cluster you need.

  2. Select Yandex Managed Service for Valkey™.

  3. Select the cluster.

  4. At the top of the page, click Edit.

  5. Under Host class:

    • Select a platform in the Platform field.
    • Select the Type of the virtual machine the hosts will be deployed on:
      • high-memory: Increased RAM per 1 vCPU.
      • burstable: Partial guaranteed share of vCPU. VMs with a guaranteed share of less than 100% ensure the specified level of performance with a possible temporary performance increase up to 100%. Clusters with such hosts are good for tasks that do not require guaranteed permanent performance (for example, testing).
    • Modify the host configuration.
  6. Click Save changes.

If you do not have the Yandex Cloud (CLI) command line interface yet, install and initialize it.

The folder specified when creating the CLI profile is used by default. To change the default folder, use the yc config set folder-id <folder_ID> command. You can specify a different folder using the --folder-name or --folder-id parameter.

To change the host class for the cluster:

  1. View the description of the update cluster CLI command:

    yc managed-redis cluster update --help
    
  2. Request a list of available host classes (the ZONE IDS column specifies the availability zones where you can select the appropriate class):

    yc managed-redis resource-preset list
    

    Result:

    +-------------+--------------------------------+----------+
    |     ID      |            ZONE IDS            |  MEMORY  |
    +-------------+--------------------------------+----------+
    | b1.nano     | ru-central1-a, ru-central1-b,  | 2.0 GB   |
    |             | ru-central1-d                  |          |
    | b1.small    | ru-central1-a, ru-central1-b,  | 4.0 GB   |
    |             | ru-central1-d                  |          |
    | hm1.nano    | ru-central1-a, ru-central1-b,  | 8.0 GB   |
    |             | ru-central1-d                  |          |
    | hm1.micro   | ru-central1-a, ru-central1-b,  | 12.0 GB  |
    | ...                                                     |
    +-----------+----------------------------------+----------+
    
  3. Specify the class in the update cluster command:

    yc managed-redis cluster update <cluster_name_or_ID> \
      --resource-preset <host_class_ID>
    

    Yandex Managed Service for Valkey™ will run the update host class command for the cluster.

  1. Open the current Terraform configuration file that defines your infrastructure.

    For more information about creating this file, see Creating clusters.

  2. In the Yandex Managed Service for Valkey™ cluster description, change the resource_preset_id parameter value under resources:

    resource "yandex_mdb_redis_cluster" "<cluster_name>" {
      ...
      resources {
        resource_preset_id = "<host_class>"
        ...
        }
    }
    
  3. Make sure the settings are correct.

    1. In the command line, navigate to the directory that contains the current Terraform configuration files defining the infrastructure.

    2. Run this command:

      terraform validate
      

      Terraform will show any errors found in your configuration files.

  4. Confirm updating the resources.

    1. Run this command to view the planned changes:

      terraform plan
      

      If you described the configuration correctly, the terminal will display a list of the resources to update and their parameters. This is a verification step that does not apply changes to your resources.

    2. If everything looks correct, apply the changes:

      1. Run this command:

        terraform apply
        
      2. Confirm updating the resources.

      3. Wait for the operation to complete.

For more information, see the Terraform provider documentation.

Time limits

A Terraform provider sets the timeout for Yandex Managed Service for Valkey™ cluster operations:

  • Creating a cluster, including by restoring one from a backup: 15 minutes.
  • Editing a cluster: 60 minutes.
  • Deleting a cluster: 15 minutes.

Operations exceeding the set timeout are interrupted.

How do I change these limits?

Add the timeouts block to the cluster description, for example:

resource "yandex_mdb_redis_cluster" "<cluster_name>" {
  ...
  timeouts {
    create = "1h30m" # 1 hour 30 minutes
    update = "2h"    # 2 hours
    delete = "30m"   # 30 minutes
  }
}
  1. Get an IAM token for API authentication and put it into the environment variable:

    export IAM_TOKEN="<IAM_token>"
    
  2. Use the Cluster.Update method and send the following request, e.g., via cURL:

    Warning

    The API method will assign default values to all the parameters of the object you are modifying unless you explicitly provide them in your request. To avoid this, list the settings you want to change in the updateMask parameter as a single comma-separated string.

    curl \
        --request PATCH \
        --header "Authorization: Bearer $IAM_TOKEN" \
        --header "Content-Type: application/json" \
        --url 'https://mdb.api.cloud.yandex.net/managed-redis/v1/clusters/<cluster_ID>' \
        --data '{
                  "updateMask": "configSpec.resources.resourcePresetId",
                  "configSpec": {
                    "resources": {
                      "resourcePresetId": "<host_class>"
                    }
                  }
                }'
    

    Where:

    • updateMask: List of parameters to update as a single string, separated by commas.

      In this case, only one parameter is provided.

    • configSpec.resources.resourcePresetId: New host class. To retrieve a list of supported values, use the ResourcePreset.List method.

    You can request the cluster ID with the list of clusters in the folder.

  3. View the server response to make sure the request was successful.

  1. Get an IAM token for API authentication and put it into the environment variable:

    export IAM_TOKEN="<IAM_token>"
    
  2. Clone the cloudapi repository:

    cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapi
    

    Below, we assume the repository contents are stored in the ~/cloudapi/ directory.

  3. Use the ClusterService.Update call and send the following request, e.g., via gRPCurl:

    Warning

    The API method will assign default values to all the parameters of the object you are modifying unless you explicitly provide them in your request. To avoid this, list the settings you want to change in the update_mask parameter as an array of paths[] strings.

    Format for listing settings
    "update_mask": {
        "paths": [
            "<setting_1>",
            "<setting_2>",
            ...
            "<setting_N>"
        ]
    }
    
    grpcurl \
        -format json \
        -import-path ~/cloudapi/ \
        -import-path ~/cloudapi/third_party/googleapis/ \
        -proto ~/cloudapi/yandex/cloud/mdb/redis/v1/cluster_service.proto \
        -rpc-header "Authorization: Bearer $IAM_TOKEN" \
        -d '{
              "cluster_id": "<cluster_ID>",
              "update_mask": {
                "paths": [ "config_spec.resources.resource_preset_id" ]
              },
              "config_spec": {
                "resources": {
                  "resource_preset_id": "<host_class>"
                }
              }
            }' \
        mdb.api.cloud.yandex.net:443 \
        yandex.cloud.mdb.redis.v1.ClusterService.Update
    

    Where:

    • update_mask: List of parameters to update as an array of paths[] strings.

      Only one parameter is provided in this case.

    • config_spec.resources.resource_preset_id: New host class. To retrieve a list of supported values, use the ResourcePreset.List method.

    You can request the cluster ID with the list of clusters in the folder.

  4. View the server response to make sure the request was successful.

The Yandex Managed Service for Valkey™ cluster is unavailable for about five to seven minutes after changing the host class.

Changing the disk type and increasing the storage size

Make sure the cloud has enough quota to increase the storage size. Open the cloud's Quotas page and check the HDD storage capacity and SSD storage capacity lines under Managed Databases to make sure there is available quota for storage space.

Management console
CLI
Terraform
REST API
gRPC API

To change the disk type and increase the storage size for a cluster:

  1. In the management console, select the folder with the cluster you need.

  2. Select Yandex Managed Service for Valkey™.

  3. Select the cluster.

  4. At the top of the page, click Edit.

  5. Under Size of storage:

    • Select the disk type.
    • Specify the required disk size.
  6. Click Save changes.

If you do not have the Yandex Cloud (CLI) command line interface yet, install and initialize it.

The folder specified when creating the CLI profile is used by default. To change the default folder, use the yc config set folder-id <folder_ID> command. You can specify a different folder using the --folder-name or --folder-id parameter.

To increase storage size of Valkey™ hosts:

  1. View the description of the CLI command to update the cluster:

    yc managed-redis cluster update --help
    
  2. Specify the required storage size in the update cluster command. The new size must be at least as large as the current disk_size in the cluster properties.

    yc managed-redis cluster update <cluster_name_or_ID> \
      --disk-size <storage_size_in_GB>
    

    If all the criteria are met, Yandex Managed Service for Valkey™ starts increasing the size of the Valkey™ host disks.

To increase the cluster storage size:

  1. Open the current Terraform configuration file that defines your infrastructure.

    For more information about creating this file, see Creating clusters.

  2. In the Yandex Managed Service for Valkey™ cluster description, change the disk_size parameter value under resources:

    resource "yandex_mdb_redis_cluster" "<cluster_name>" {
      ...
      resources {
        disk_size = <storage_size_in_GB>
        ...
        }
    }
    
  3. Make sure the settings are correct.

    1. In the command line, navigate to the directory that contains the current Terraform configuration files defining the infrastructure.

    2. Run this command:

      terraform validate
      

      Terraform will show any errors found in your configuration files.

  4. Confirm updating the resources.

    1. Run this command to view the planned changes:

      terraform plan
      

      If you described the configuration correctly, the terminal will display a list of the resources to update and their parameters. This is a verification step that does not apply changes to your resources.

    2. If everything looks correct, apply the changes:

      1. Run this command:

        terraform apply
        
      2. Confirm updating the resources.

      3. Wait for the operation to complete.

For more information, see the Terraform provider documentation.

Time limits

A Terraform provider sets the timeout for Yandex Managed Service for Valkey™ cluster operations:

  • Creating a cluster, including by restoring one from a backup: 15 minutes.
  • Editing a cluster: 60 minutes.
  • Deleting a cluster: 15 minutes.

Operations exceeding the set timeout are interrupted.

How do I change these limits?

Add the timeouts block to the cluster description, for example:

resource "yandex_mdb_redis_cluster" "<cluster_name>" {
  ...
  timeouts {
    create = "1h30m" # 1 hour 30 minutes
    update = "2h"    # 2 hours
    delete = "30m"   # 30 minutes
  }
}
  1. Get an IAM token for API authentication and put it into the environment variable:

    export IAM_TOKEN="<IAM_token>"
    
  2. Use the Cluster.Update method and send the following request, e.g., via cURL:

    Warning

    The API method will assign default values to all the parameters of the object you are modifying unless you explicitly provide them in your request. To avoid this, list the settings you want to change in the updateMask parameter as a single comma-separated string.

    curl \
        --request PATCH \
        --header "Authorization: Bearer $IAM_TOKEN" \
        --header "Content-Type: application/json" \
        --url 'https://mdb.api.cloud.yandex.net/managed-redis/v1/clusters/<cluster_ID>' \
        --data '{
                  "updateMask": "configSpec.resources.diskTypeId,configSpec.resources.diskSize",
                  "configSpec": {
                    "resources": {
                      "diskTypeId": "<disk_type>",
                      "diskSize": "<storage_size_in_bytes>"
                    }
                  }
                }'
    

    Where:

    • updateMask: List of parameters to update as a single string, separated by commas.

    • configSpec.resources: Storage parameters:

      • diskTypeId: Disk type.
      • diskSize: New storage size in bytes.

    You can request the cluster ID with the list of clusters in the folder.

  3. View the server response to make sure the request was successful.

  1. Get an IAM token for API authentication and put it into the environment variable:

    export IAM_TOKEN="<IAM_token>"
    
  2. Clone the cloudapi repository:

    cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapi
    

    Below, we assume the repository contents are stored in the ~/cloudapi/ directory.

  3. Use the ClusterService.Update call and send the following request, e.g., via gRPCurl:

    Warning

    The API method will assign default values to all the parameters of the object you are modifying unless you explicitly provide them in your request. To avoid this, list the settings you want to change in the update_mask parameter as an array of paths[] strings.

    Format for listing settings
    "update_mask": {
        "paths": [
            "<setting_1>",
            "<setting_2>",
            ...
            "<setting_N>"
        ]
    }
    
    grpcurl \
        -format json \
        -import-path ~/cloudapi/ \
        -import-path ~/cloudapi/third_party/googleapis/ \
        -proto ~/cloudapi/yandex/cloud/mdb/redis/v1/cluster_service.proto \
        -rpc-header "Authorization: Bearer $IAM_TOKEN" \
        -d '{
              "cluster_id": "<cluster_ID>",
              "update_mask": {
                "paths": [ 
                  "config_spec.resources.disk_type_id",
                  "config_spec.resources.disk_size"
                ]
              },
              "config_spec": {
                "resources": {
                  "disk_type_id": "<disk_type>",
                  "disk_size": "<storage_size_in_bytes>"
                }
              }
            }' \
        mdb.api.cloud.yandex.net:443 \
        yandex.cloud.mdb.redis.v1.ClusterService.Update
    

    Where:

    • update_mask: List of parameters to update as an array of paths[] strings.

    • config_spec.resources: Storage parameters:

      • disk_type_id: Disk type.
      • disk_size: New storage size in bytes.

    You can request the cluster ID with the list of clusters in the folder.

  4. View the server response to make sure the request was successful.

Changing Valkey™ settings

You can change the DBMS settings of the hosts in your cluster. All supported settings are described in the Valkey™ settings section and the API reference.

Management console
Terraform
REST API
gRPC API

To update the DBMS settings for the cluster:

  1. In the management console, select the folder with the cluster you need.
  2. Select Yandex Managed Service for Valkey™.
  3. Select the cluster.
  4. At the top of the page, click Edit.
  5. Under DBMS settings, click Settings.
  6. Configure the available parameters according to the Valkey™ documentation.
  7. Click Save.

To update the DBMS settings for the cluster:

  1. Open the current Terraform configuration file that defines your infrastructure.

    For more information about creating this file, see Creating clusters.

  2. In the Yandex Managed Service for Valkey™ cluster description, edit these config section parameters:

    resource "yandex_mdb_redis_cluster" "<cluster_name>" {
      ...
      config {
        password         = "<password>"
        timeout          = <time>
        maxmemory_policy = "<policy>"
        ...
      }
    }
    

    Where:

    • timeout: Time, in seconds, before disabling inactive clients.
    • maxmemory_policy: Memory management policy if low on memory.

    The password must be between 8 and 128 characters long. The password must meet the [a-zA-Z0-9@=+?*.,!&#$^<>_-]* regular expression.

  3. Make sure the settings are correct.

    1. In the command line, navigate to the directory that contains the current Terraform configuration files defining the infrastructure.

    2. Run this command:

      terraform validate
      

      Terraform will show any errors found in your configuration files.

  4. Confirm updating the resources.

    1. Run this command to view the planned changes:

      terraform plan
      

      If you described the configuration correctly, the terminal will display a list of the resources to update and their parameters. This is a verification step that does not apply changes to your resources.

    2. If everything looks correct, apply the changes:

      1. Run this command:

        terraform apply
        
      2. Confirm updating the resources.

      3. Wait for the operation to complete.

For more information, see the Terraform provider documentation.

Time limits

A Terraform provider sets the timeout for Yandex Managed Service for Valkey™ cluster operations:

  • Creating a cluster, including by restoring one from a backup: 15 minutes.
  • Editing a cluster: 60 minutes.
  • Deleting a cluster: 15 minutes.

Operations exceeding the set timeout are interrupted.

How do I change these limits?

Add the timeouts block to the cluster description, for example:

resource "yandex_mdb_redis_cluster" "<cluster_name>" {
  ...
  timeouts {
    create = "1h30m" # 1 hour 30 minutes
    update = "2h"    # 2 hours
    delete = "30m"   # 30 minutes
  }
}
  1. Get an IAM token for API authentication and put it into the environment variable:

    export IAM_TOKEN="<IAM_token>"
    
  2. Use the Cluster.Update method and send the following request, e.g., via cURL:

    Warning

    The API method will assign default values to all the parameters of the object you are modifying unless you explicitly provide them in your request. To avoid this, list the settings you want to change in the updateMask parameter as a single comma-separated string.

    curl \
        --request PATCH \
        --header "Authorization: Bearer $IAM_TOKEN" \
        --header "Content-Type: application/json" \
        --url 'https://mdb.api.cloud.yandex.net/managed-redis/v1/clusters/<cluster_ID>' \
        --data '{
                  "updateMask": "configSpec.redisConfig_<Valkey™_version>.<setting_1>,configSpec.redisConfig_<Valkey™_version>.<setting_2>,...,configSpec.redisConfig_<Valkey™_version>.<setting_N>",
                  "configSpec": {
                    "redisConfig_<Valkey™_version>": {
                      "<setting_1>": "<value_1>",
                      "<setting_2>": "<value_2>",
                      ...
                      "<setting_N>": "<value_N>"
                    }
                  }
                }'
    

    Where:

    • updateMask: List of parameters to update as a single string, separated by commas.

    • configSpec.redisConfig_<Valkey™_version>: Valkey™ settings. Use a separate line for each setting; separate them by commas.

      See the method description for the list of Valkey™ versions available for the parameter. See Valkey™ settings for a description and possible values for each setting.

    You can request the cluster ID with the list of clusters in the folder.

  3. View the server response to make sure the request was successful.

  1. Get an IAM token for API authentication and put it into the environment variable:

    export IAM_TOKEN="<IAM_token>"
    
  2. Clone the cloudapi repository:

    cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapi
    

    Below, we assume the repository contents are stored in the ~/cloudapi/ directory.

  3. Use the ClusterService.Update call and send the following request, e.g., via gRPCurl:

    Warning

    The API method will assign default values to all the parameters of the object you are modifying unless you explicitly provide them in your request. To avoid this, list the settings you want to change in the update_mask parameter as an array of paths[] strings.

    Format for listing settings
    "update_mask": {
        "paths": [
            "<setting_1>",
            "<setting_2>",
            ...
            "<setting_N>"
        ]
    }
    
    grpcurl \
        -format json \
        -import-path ~/cloudapi/ \
        -import-path ~/cloudapi/third_party/googleapis/ \
        -proto ~/cloudapi/yandex/cloud/mdb/redis/v1/cluster_service.proto \
        -rpc-header "Authorization: Bearer $IAM_TOKEN" \
        -d '{
              "cluster_id": "<cluster_ID>",
              "update_mask": {
                "paths": [ 
                  "config_spec.redis_config_<Valkey™_version>.<setting_1>",
                  "config_spec.redis_config_<Valkey™_version>.<setting_2>",
                  ...
                  "config_spec.redis_config_<Valkey™_version>.<setting_N>"
                ]
              },
              "config_spec": {
                "redis_config_<Valkey™_version>": {
                  "<setting_1>": "<value_1>",
                  "<setting_2>": "<value_2>",
                  ...
                  "<setting_N>": "<value_N>"
                }
              }
            }' \
        mdb.api.cloud.yandex.net:443 \
        yandex.cloud.mdb.redis.v1.ClusterService.Update
    

    Where:

    • update_mask: List of parameters to update as an array of paths[] strings.

    • config_spec.redis_config_<Valkey™_version>: Valkey™ settings. Use a separate line for each setting; separate them by commas.

      See the method description for the list of Valkey™ versions available for the parameter. See Valkey™ settings for a description and possible values for each setting.

    You can request the cluster ID with the list of clusters in the folder.

  4. View the server response to make sure the request was successful.

Changing additional cluster settings

Management console
CLI
Terraform
REST API
gRPC API
  1. In the management console, select the folder with the cluster you need.

  2. Select Yandex Managed Service for Valkey™.

  3. Select the cluster.

  4. At the top of the page, click Edit.

  5. Change additional cluster settings:

    • Backup start time (UTC): UTC time when you want to start creating a cluster backup (in 24-hour format). If the time is not set, the backup will start at 22:00 UTC.

    • Maintenance window: Maintenance window settings:

      • To enable maintenance at any time, select arbitrary (default).
      • To specify the preferred maintenance start time, select by schedule and specify the desired day of the week and UTC hour. For example, you can choose a time when the cluster is least loaded.

      Maintenance operations are carried out both on enabled and disabled clusters. They may include updating the DBMS, applying patches, and so on.

    • Deletion protection: Manages cluster protection against accidental deletion.

      Even with cluster deletion protection enabled, one can still delete a user or database or connect manually and delete the database contents.

  6. Click Save changes.

If you do not have the Yandex Cloud (CLI) command line interface yet, install and initialize it.

The folder specified when creating the CLI profile is used by default. To change the default folder, use the yc config set folder-id <folder_ID> command. You can specify a different folder using the --folder-name or --folder-id parameter.

To change additional cluster settings:

  1. View the description of the update cluster CLI command:

    yc managed-redis cluster update --help
    
  2. Run the following command with the list of settings to update:

    yc managed-redis cluster update <cluster_name_or_ID> \
        --backup-window-start <time> \
        --maintenance-window type=<maintenance_type>,`
                            `day=<day_of_week>,`
                            `hour=<hour> \
        --websql-access=<true_or_false> \
        --deletion-protection
    

You can change the following settings:

  • --backup-window-start: The cluster backup start time, set in UTC format HH:MM:SS. If the time is not set, the backup will start at 22:00 UTC.
  • --maintenance-window: Maintenance window settings (including for disabled clusters), where type is the maintenance type:

    • anytime (default): Any time.
    • weekly: On a schedule. If setting this value, specify the day of week and the hour:
      • day: Day of week in DDD format: MON, TUE, WED, THU, FRI, SAT, or SUN.
      • hour: Hour (UTC) in HH format: 1 to 24.
  • --websql-access: Enables SQL queries against cluster databases from the Yandex Cloud management console using Yandex WebSQL. The default value is false.

  • --deletion-protection: Cluster protection from accidental deletion, true or false.

    Even with deletion protection enabled, one can still connect to the cluster manually and delete the data.

You can get the cluster name with the list of clusters in the folder.

  1. Open the current Terraform configuration file that defines your infrastructure.

    For more information about creating this file, see Creating clusters.

  2. In the Yandex Managed Service for Valkey™ cluster description, edit the parameters you need:

    • To set the backup start time, add the backup_window_start section.

      resource "yandex_mdb_redis_cluster" "<cluster_name>" {
          ...
          backup_window_start {
              hours   = <hours>
              minutes = <minutes>
          }
      }
      

      Where:

      • hours: Backup start hour, UTC, in HH format: 0 to 23.
      • minutes: Backup start minute, UTC, in mm format: 0 to 59.
    • To set up the maintenance window (for disabled clusters as well), add the maintenance_window section to the cluster description:

      resource "yandex_mdb_redis_cluster" "<cluster_name>" {
      ...
          maintenance_window {
              day  = <day_of_week>
              hour = <start_hour>
              type = "ANYTIME"
          }
      }
      

      Where type is the maintenance type, which can be:

      • ANYTIME: Anytime.
      • WEEKLY: On a schedule. When specifying this value, you also need to set the following parameters:
        • day: Day of week in DDD format: MON, TUE, WED, THU, FRI, SAT, or SUN.
        • hour: Hour of day (UTC) in HH format, from 1 to 24.
    • To enable cluster protection against accidental deletion by a user of your cloud, add the deletion_protection field set to true to your cluster description:

      resource "yandex_mdb_redis_cluster" "<cluster_name>" {
      ...
              deletion_protection = false
      }
      
  3. Make sure the settings are correct.

    1. In the command line, navigate to the directory that contains the current Terraform configuration files defining the infrastructure.

    2. Run this command:

      terraform validate
      

      Terraform will show any errors found in your configuration files.

  4. Confirm updating the resources.

    1. Run this command to view the planned changes:

      terraform plan
      

      If you described the configuration correctly, the terminal will display a list of the resources to update and their parameters. This is a verification step that does not apply changes to your resources.

    2. If everything looks correct, apply the changes:

      1. Run this command:

        terraform apply
        
      2. Confirm updating the resources.

      3. Wait for the operation to complete.

For more information, see the Terraform provider documentation.

Time limits

A Terraform provider sets the timeout for Yandex Managed Service for Valkey™ cluster operations:

  • Creating a cluster, including by restoring one from a backup: 15 minutes.
  • Editing a cluster: 60 minutes.
  • Deleting a cluster: 15 minutes.

Operations exceeding the set timeout are interrupted.

How do I change these limits?

Add the timeouts block to the cluster description, for example:

resource "yandex_mdb_redis_cluster" "<cluster_name>" {
  ...
  timeouts {
    create = "1h30m" # 1 hour 30 minutes
    update = "2h"    # 2 hours
    delete = "30m"   # 30 minutes
  }
}
  1. Get an IAM token for API authentication and put it into the environment variable:

    export IAM_TOKEN="<IAM_token>"
    
  2. Use the Cluster.Update method and send the following request, e.g., via cURL:

    Warning

    The API method will assign default values to all the parameters of the object you are modifying unless you explicitly provide them in your request. To avoid this, list the settings you want to change in the updateMask parameter as a single comma-separated string.

    curl \
        --request PATCH \
        --header "Authorization: Bearer $IAM_TOKEN" \
        --header "Content-Type: application/json" \
        --url 'https://mdb.api.cloud.yandex.net/managed-redis/v1/clusters/<cluster_ID>' \
        --data '{
                  "updateMask": "configSpec.backupWindowStart,maintenanceWindow,deletionProtection",
                  "configSpec": {
                    "backupWindowStart": {
                      "hours": "<hours>",
                      "minutes": "<minutes>",
                      "seconds": "<seconds>",
                      "nanos": "<nanoseconds>"
                    }
                  },
                  "maintenanceWindow": {
                    "weeklyMaintenanceWindow": {
                      "day": "<day_of_week>",
                      "hour": "<hour>"
                    }
                  },
                  "deletionProtection": <cluster_deletion_protection>
                }'
    

    Where:

    • updateMask: List of parameters to update as a single string, separated by commas.

    • configSpec.backupWindowStart: Backup window settings.

      In this parameter, specify the backup start time:

      • hours: Between 0 and 23 hours.
      • minutes: Between 0 and 59 minutes.
      • seconds: Between 0 and 59 seconds.
      • nanos: Between 0 and 999999999 nanoseconds.
    • maintenanceWindow: Maintenance window settings (including for disabled clusters). Provide one of the two parameters:

      • anytime: Maintenance can take place at any time.

      • weeklyMaintenanceWindow: Maintenance takes place once a week at the specified time:

        • day: Day of week in DDD format: MON, TUE, WED, THU, FRI, SAT, or SUN.
        • hour: Hour of day (UTC) in HH format, from 1 to 24.
    • deletionProtection: Cluster protection from accidental deletion, true or false.

      Even with deletion protection enabled, one can still connect to the cluster manually and delete the data.

    You can request the cluster ID with the list of clusters in the folder.

  3. View the server response to make sure the request was successful.

  1. Get an IAM token for API authentication and put it into the environment variable:

    export IAM_TOKEN="<IAM_token>"
    
  2. Clone the cloudapi repository:

    cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapi
    

    Below, we assume the repository contents are stored in the ~/cloudapi/ directory.

  3. Use the ClusterService.Update call and send the following request, e.g., via gRPCurl:

    Warning

    The API method will assign default values to all the parameters of the object you are modifying unless you explicitly provide them in your request. To avoid this, list the settings you want to change in the update_mask parameter as an array of paths[] strings.

    Format for listing settings
    "update_mask": {
        "paths": [
            "<setting_1>",
            "<setting_2>",
            ...
            "<setting_N>"
        ]
    }
    
    grpcurl \
        -format json \
        -import-path ~/cloudapi/ \
        -import-path ~/cloudapi/third_party/googleapis/ \
        -proto ~/cloudapi/yandex/cloud/mdb/redis/v1/cluster_service.proto \
        -rpc-header "Authorization: Bearer $IAM_TOKEN" \
        -d '{
              "cluster_id": "<cluster_ID>",
              "update_mask": {
                "paths": [ 
                  "config_spec.backup_window_start",
                   "maintenance_window",
                   "deletion_protection"
                ]
              },
              "config_spec": {
                "backup_window_start": {
                  "hours": "<hours>",
                  "minutes": "<minutes>",
                  "seconds": "<seconds>",
                  "nanos": "<nanoseconds>"
                }
              },
              "maintenance_window": {
                "weekly_maintenance_window": {
                  "day": "<day_of_week>",
                  "hour": "<hour>"
                }
              },
              "deletion_protection": <cluster_deletion_protection>
            }' \
        mdb.api.cloud.yandex.net:443 \
        yandex.cloud.mdb.redis.v1.ClusterService.Update
    

    Where:

    • update_mask: List of parameters to update as an array of paths[] strings.

    • config_spec.backup_window_start: Backup window settings.

      In this parameter, specify the backup start time:

      • hours: Between 0 and 23 hours.
      • minutes: Between 0 and 59 minutes.
      • seconds: Between 0 and 59 seconds.
      • nanos: Between 0 and 999999999 nanoseconds.
    • maintenance_window: Maintenance window settings (including for disabled clusters). Provide one of the two parameters:

      • anytime: Maintenance can take place at any time.

      • weekly_maintenance_window: Maintenance takes place once a week at the specified time:

        • day: Day of week in DDD format: MON, TUE, WED, THU, FRI, SAT, or SUN.
        • hour: Hour of day (UTC) in HH format, from 1 to 24.
    • deletion_protection: Cluster protection from accidental deletion, true or false.

      Even with deletion protection enabled, one can still connect to the cluster manually and delete the data.

    You can request the cluster ID with the list of clusters in the folder.

  4. View the server response to make sure the request was successful.

Enabling sharding

You can enable sharding in a non-sharded cluster to make it a sharded one.

Warning

You cannot disable sharding in a cluster where it is already enabled.

Management console
CLI
Terraform
REST API
gRPC API
  1. In the management console, select the folder with the cluster you need.
  2. Select Yandex Managed Service for Valkey™.
  3. Select the cluster.
  4. At the top of the page, click Edit.
  5. Under Basic parameters, enable Cluster sharding.
  6. Click Save changes.

Once sharding is enabled, all the existing cluster hosts will be added to the single shard1.

If you do not have the Yandex Cloud (CLI) command line interface yet, install and initialize it.

The folder specified when creating the CLI profile is used by default. To change the default folder, use the yc config set folder-id <folder_ID> command. You can specify a different folder using the --folder-name or --folder-id parameter.

To enable sharding:

  1. View the description of the CLI command to enable sharding:

    yc managed-redis cluster enable-sharding --help
    
  2. Run this command:

    yc managed-redis cluster enable-sharding <cluster_ID>
    

    You can get the cluster ID with the list of clusters in the folder.

Once sharding is enabled, all the existing cluster hosts will be added to the single shard1.

To enable sharding:

  1. Open the current Terraform configuration file that defines your infrastructure.

    For more information about creating this file, see Creating clusters.

  2. Add the sharded parameter set to true to the Yandex Managed Service for Valkey™ cluster description:

    resource "yandex_mdb_redis_cluster" "<cluster_name>" {
        ...
        sharded = true
    }
    
  3. Make sure the settings are correct.

    1. In the command line, navigate to the directory that contains the current Terraform configuration files defining the infrastructure.

    2. Run this command:

      terraform validate
      

      Terraform will show any errors found in your configuration files.

  4. Confirm updating the resources.

    1. Run this command to view the planned changes:

      terraform plan
      

      If you described the configuration correctly, the terminal will display a list of the resources to update and their parameters. This is a verification step that does not apply changes to your resources.

    2. If everything looks correct, apply the changes:

      1. Run this command:

        terraform apply
        
      2. Confirm updating the resources.

      3. Wait for the operation to complete.

Once sharding is enabled, all the existing cluster hosts will be added to the single shard1.

You can also manage shards.

For more information, see the Terraform provider documentation.

Time limits

A Terraform provider sets the timeout for Yandex Managed Service for Valkey™ cluster operations:

  • Creating a cluster, including by restoring one from a backup: 15 minutes.
  • Editing a cluster: 60 minutes.
  • Deleting a cluster: 15 minutes.

Operations exceeding the set timeout are interrupted.

How do I change these limits?

Add the timeouts block to the cluster description, for example:

resource "yandex_mdb_redis_cluster" "<cluster_name>" {
  ...
  timeouts {
    create = "1h30m" # 1 hour 30 minutes
    update = "2h"    # 2 hours
    delete = "30m"   # 30 minutes
  }
}
  1. Get an IAM token for API authentication and put it into the environment variable:

    export IAM_TOKEN="<IAM_token>"
    
  2. Use the Cluster.EnableSharding method send the following request, e.g., via cURL:

    curl \
        --request POST \
        --header "Authorization: Bearer $IAM_TOKEN" \
        --url 'https://mdb.api.cloud.yandex.net/managed-redis/v1/clusters/<cluster_ID>:enable_sharding'
    

    You can request the cluster ID with the list of clusters in the folder.

    Once sharding is enabled, all the existing cluster hosts will be added to the single shard1.

  3. View the server response to make sure the request was successful.

  1. Get an IAM token for API authentication and put it into the environment variable:

    export IAM_TOKEN="<IAM_token>"
    
  2. Clone the cloudapi repository:

    cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapi
    

    Below, we assume the repository contents are stored in the ~/cloudapi/ directory.

  3. Use the ClusterService.EnableSharding call and send a request, e.g., via gRPCurl:

    grpcurl \
        -format json \
        -import-path ~/cloudapi/ \
        -import-path ~/cloudapi/third_party/googleapis/ \
        -proto ~/cloudapi/yandex/cloud/mdb/redis/v1/cluster_service.proto \
        -rpc-header "Authorization: Bearer $IAM_TOKEN" \
        -d '{
              "cluster_id": "<cluster_ID>"
            }' \
        mdb.api.cloud.yandex.net:443 \
        yandex.cloud.mdb.redis.v1.ClusterService.EnableSharding
    

    You can request the cluster ID with the list of clusters in the folder.

    Once sharding is enabled, all the existing cluster hosts will be added to the single shard1.

  4. View the server response to make sure the request was successful.

Moving a cluster

Management console
CLI
Terraform
REST API
gRPC API
  1. Navigate to the folder dashboard and select Yandex Managed Service for Valkey™.
  2. Click to the right of the cluster you want to move.
  3. Select Move.
  4. Select a folder you want to move the cluster to.
  5. Click Move.

If you do not have the Yandex Cloud (CLI) command line interface yet, install and initialize it.

The folder specified when creating the CLI profile is used by default. To change the default folder, use the yc config set folder-id <folder_ID> command. You can specify a different folder using the --folder-name or --folder-id parameter.

To move a cluster:

  1. View the description of the CLI move cluster command:

    yc managed-redis cluster move --help
    
  2. Specify the destination folder in the move cluster command:

    yc managed-redis cluster move <cluster_ID> \
       --destination-folder-name=<destination_folder_name>
    

    You can get the cluster ID with the list of clusters in the folder.

  1. Open the current Terraform configuration file that defines your infrastructure.

    For more information about creating this file, see Creating clusters.

  2. In the Yandex Managed Service for Valkey™ cluster description, edit or add the folder_id parameter value:

    resource "yandex_mdb_redis_cluster" "<cluster_name>" {
      ...
      folder_id = "<destination_folder_ID>"
    }
    
  3. Make sure the settings are correct.

    1. In the command line, navigate to the directory that contains the current Terraform configuration files defining the infrastructure.

    2. Run this command:

      terraform validate
      

      Terraform will show any errors found in your configuration files.

  4. Confirm updating the resources.

    1. Run this command to view the planned changes:

      terraform plan
      

      If you described the configuration correctly, the terminal will display a list of the resources to update and their parameters. This is a verification step that does not apply changes to your resources.

    2. If everything looks correct, apply the changes:

      1. Run this command:

        terraform apply
        
      2. Confirm updating the resources.

      3. Wait for the operation to complete.

For more information, see the Terraform provider documentation.

Time limits

A Terraform provider sets the timeout for Yandex Managed Service for Valkey™ cluster operations:

  • Creating a cluster, including by restoring one from a backup: 15 minutes.
  • Editing a cluster: 60 minutes.
  • Deleting a cluster: 15 minutes.

Operations exceeding the set timeout are interrupted.

How do I change these limits?

Add the timeouts block to the cluster description, for example:

resource "yandex_mdb_redis_cluster" "<cluster_name>" {
  ...
  timeouts {
    create = "1h30m" # 1 hour 30 minutes
    update = "2h"    # 2 hours
    delete = "30m"   # 30 minutes
  }
}
  1. Get an IAM token for API authentication and put it into the environment variable:

    export IAM_TOKEN="<IAM_token>"
    
  2. Use the Cluster.Move method and send the following request, e.g., via cURL:

    curl \
        --request POST \
        --header "Authorization: Bearer $IAM_TOKEN" \
        --header "Content-Type: application/json" \
        --url 'https://mdb.api.cloud.yandex.net/managed-redis/v1/clusters/<cluster_ID>:move' \
        --data '{
                  "destinationFolderId": "<folder_ID>"
                }'
    

    Where destinationFolderId is the ID of the folder to move the cluster to.

    You can request the cluster ID with the list of clusters in the folder and the folder ID with the list of folders in the cloud.

  3. View the server response to make sure the request was successful.

  1. Get an IAM token for API authentication and put it into the environment variable:

    export IAM_TOKEN="<IAM_token>"
    
  2. Clone the cloudapi repository:

    cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapi
    

    Below, we assume the repository contents are stored in the ~/cloudapi/ directory.

  3. Use the ClusterService.Move call and send the following request, e.g., via gRPCurl:

    grpcurl \
        -format json \
        -import-path ~/cloudapi/ \
        -import-path ~/cloudapi/third_party/googleapis/ \
        -proto ~/cloudapi/yandex/cloud/mdb/redis/v1/cluster_service.proto \
        -rpc-header "Authorization: Bearer $IAM_TOKEN" \
        -d '{
              "cluster_id": "<cluster_ID>",
              "destination_folder_id": "<folder_ID>"
            }' \
        mdb.api.cloud.yandex.net:443 \
        yandex.cloud.mdb.redis.v1.ClusterService.Move
    

    Where destination_folder_id is the ID of the folder to move the cluster to.

    You can request the cluster ID with the list of clusters in the folder and the folder ID with the list of folders in the cloud.

  4. View the server response to make sure the request was successful.

Changing security groups

Management console
CLI
Terraform
REST API
gRPC API
  1. In the management console, select the folder with the cluster you need.
  2. Select Yandex Managed Service for Valkey™.
  3. Select the cluster.
  4. At the top of the page, click Edit.
  5. Under Network settings, select security groups for cluster network traffic.

If you do not have the Yandex Cloud (CLI) command line interface yet, install and initialize it.

The folder specified when creating the CLI profile is used by default. To change the default folder, use the yc config set folder-id <folder_ID> command. You can specify a different folder using the --folder-name or --folder-id parameter.

To edit the list of security groups for your cluster:

  1. View the description of the update cluster CLI command:

    yc managed-redis cluster update --help
    
  2. Specify the security groups in the update cluster command:

    yc managed-redis cluster update <cluster_name_or_ID> \
      --security-group-ids <list_of_security_group_IDs>
    
  1. Open the current Terraform configuration file that defines your infrastructure.

    For more information about creating this file, see Creating clusters.

  2. In the Yandex Managed Service for Valkey™ cluster description, change the security_group_ids parameter value:

    resource "yandex_mdb_redis_cluster" "<cluster_name>" {
      ...
      security_group_ids = [<list_of_security_group_IDs>]
    }
    
  3. Make sure the settings are correct.

    1. In the command line, navigate to the directory that contains the current Terraform configuration files defining the infrastructure.

    2. Run this command:

      terraform validate
      

      Terraform will show any errors found in your configuration files.

  4. Confirm updating the resources.

    1. Run this command to view the planned changes:

      terraform plan
      

      If you described the configuration correctly, the terminal will display a list of the resources to update and their parameters. This is a verification step that does not apply changes to your resources.

    2. If everything looks correct, apply the changes:

      1. Run this command:

        terraform apply
        
      2. Confirm updating the resources.

      3. Wait for the operation to complete.

For more information, see the Terraform provider documentation.

Time limits

A Terraform provider sets the timeout for Yandex Managed Service for Valkey™ cluster operations:

  • Creating a cluster, including by restoring one from a backup: 15 minutes.
  • Editing a cluster: 60 minutes.
  • Deleting a cluster: 15 minutes.

Operations exceeding the set timeout are interrupted.

How do I change these limits?

Add the timeouts block to the cluster description, for example:

resource "yandex_mdb_redis_cluster" "<cluster_name>" {
  ...
  timeouts {
    create = "1h30m" # 1 hour 30 minutes
    update = "2h"    # 2 hours
    delete = "30m"   # 30 minutes
  }
}
  1. Get an IAM token for API authentication and put it into the environment variable:

    export IAM_TOKEN="<IAM_token>"
    
  2. Use the Cluster.Update method and send the following request, e.g., via cURL:

    Warning

    The API method will assign default values to all the parameters of the object you are modifying unless you explicitly provide them in your request. To avoid this, list the settings you want to change in the updateMask parameter as a single comma-separated string.

    curl \
        --request PATCH \
        --header "Authorization: Bearer $IAM_TOKEN" \
        --header "Content-Type: application/json" \
        --url 'https://mdb.api.cloud.yandex.net/managed-redis/v1/clusters/<cluster_ID>' \
        --data '{
                  "updateMask": "securityGroupIds",
                  "securityGroupIds": [
                    "<security_group_1_ID>",
                    "<security_group_2_ID>",
                    ...
                    "<security_group_N_ID>"
                  ]
                }'
    

    Where:

    • updateMask: List of parameters to update as a single string, separated by commas.

      Only one parameter is provided in this case.

    • securityGroupIds: Security group IDs.

    You can request the cluster ID with the list of clusters in the folder.

  3. View the server response to make sure the request was successful.

  1. Get an IAM token for API authentication and put it into the environment variable:

    export IAM_TOKEN="<IAM_token>"
    
  2. Clone the cloudapi repository:

    cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapi
    

    Below, we assume the repository contents are stored in the ~/cloudapi/ directory.

  3. Use the ClusterService.Update call and send the following request, e.g., via gRPCurl:

    Warning

    The API method will assign default values to all the parameters of the object you are modifying unless you explicitly provide them in your request. To avoid this, list the settings you want to change in the update_mask parameter as an array of paths[] strings.

    Format for listing settings
    "update_mask": {
        "paths": [
            "<setting_1>",
            "<setting_2>",
            ...
            "<setting_N>"
        ]
    }
    
    grpcurl \
        -format json \
        -import-path ~/cloudapi/ \
        -import-path ~/cloudapi/third_party/googleapis/ \
        -proto ~/cloudapi/yandex/cloud/mdb/redis/v1/cluster_service.proto \
        -rpc-header "Authorization: Bearer $IAM_TOKEN" \
        -d '{
              "cluster_id": "<cluster_ID>",
              "update_mask": {
                "paths": [ "security_group_ids" ]
              },
              "security_group_ids": [
                "<security_group_1_ID>",
                "<security_group_2_ID>",
                ...
                "<security_group_N_ID>"
              ] 
            }' \
        mdb.api.cloud.yandex.net:443 \
        yandex.cloud.mdb.redis.v1.ClusterService.Update
    

    Where:

    • update_mask: List of parameters to update as an array of paths[] strings.

      Only one parameter is provided in this case.

    • security_group_ids: Security group IDs.

    You can request the cluster ID with the list of clusters in the folder.

  4. View the server response to make sure the request was successful.

Warning

You may need to additionally set up security groups to connect to the cluster.

Was the article helpful?

Previous
Creating a cluster
Next
Valkey™ version upgrade
Yandex project
© 2025 Yandex.Cloud LLC