---
title: "Создать кластер Redis фиксированной конфигурации через Terraform"
sidebar_label: "Создать кластер Redis фиксированной конфигурации"
description: "Как создать кластер Redis фиксированной конфигурации"
sidebar_position: 5
---

import Formbricks from '@theme/MDXComponents/Formbricks'
import ConfigureProviders from '@site/terraform/_partials/common/configure-providers.mdx'
import ConfigureProvidersConfig from '@site/terraform/_partials/common/configure-providers-config.mdx'
import CreateRouter from '@site/terraform/_partials/cloud-networks/create-router.mdx'
import CreateNetworks from '@site/terraform/_partials/cloud-networks/create-networks.mdx'
import CreateResourcesAlert from '@site/terraform/_partials/common/create-resources-alert.mdx'

# Создать кластер Redis фиксированной конфигурации через Terraform

<CreateResourcesAlert />

<br />

1. Опционально: [настройте провайдеры](#configure-providers).
2. [Создайте приватную сеть и подсеть](#create-networks).
3. [Создайте кластер](#create-cluster).

## Конфигурационные файлы \{#config}

<details>
  <summary>Пример файла для настройки провайдеров</summary>

  <ConfigureProvidersConfig />
</details>

<details>
  <summary>Пример файла для создания кластера Redis фиксированной конфигурации</summary>

  ```hcl
  resource "openstack_networking_network_v2" "network_1" {
    name           = "private-network"
    admin_state_up = "true"
  }

  resource "openstack_networking_subnet_v2" "subnet_1" {
    network_id = openstack_networking_network_v2.network_1.id
    cidr       = "192.168.199.0/24"
  }

  data "selectel_dbaas_datastore_type_v1" "datastore_type_1" {
    project_id = selectel_vpc_project_v2.project_1.id
    region     = "ru-9"
    filter {
      engine  = "redis"
      version = "6"
    }
  }

  data "selectel_dbaas_flavor_v1" "flavor_1" {
    project_id = selectel_vpc_project_v2.project_1.id
    region     = "ru-9"
    filter {
      datastore_type_id = data.selectel_dbaas_datastore_type_v1.datastore_type_1.datastore_types[0].id
      fl_size           = "standard"
      vcpus             = 2
      ram               = 6144
      disk              = 50
    }
  }

    resource "selectel_dbaas_redis_datastore_v1" "datastore_1" {
    name           = "datastore-1"
    project_id     = selectel_vpc_project_v2.project_1.id
    region         = "ru-9"
    type_id        = data.selectel_dbaas_datastore_type_v1.datastore_type_1.datastore_types[0].id
    subnet_id      = openstack_networking_subnet_v2.subnet_1.id
    node_count     = 2
    flavor_id      = data.selectel_dbaas_flavor_v1.flavor_1.flavors[0].id
    redis_password = "secret"
  }
  ```
</details>

## 1. Опционально: настроить провайдеры \{#configure-providers}

Если вы [настроили провайдеры](/terraform/configure-terraform-environment/#configure-providers) Selectel и OpenStack, пропустите этот шаг.

<ConfigureProviders />

## 2. Создать приватную сеть и подсеть \{#create-networks}

<CreateNetworks />

## 3. Создать кластер фиксированной конфигурации \{#create-cluster}

```hcl
data "selectel_dbaas_datastore_type_v1" "datastore_type_1" {
  project_id = selectel_vpc_project_v2.project_1.id
  region     = "ru-9"
  filter {
    engine  = "redis"
    version = "6"
  }
}

data "selectel_dbaas_flavor_v1" "flavor_1" {
  project_id = selectel_vpc_project_v2.project_1.id
  region     = "ru-9"
  filter {
    datastore_type_id = data.selectel_dbaas_datastore_type_v1.datastore_type_1.datastore_types[0].id
    fl_size           = "standard"
    vcpus             = 2
    ram               = 6144
    disk              = 50
  }
}

resource "selectel_dbaas_redis_datastore_v1" "datastore_1" {
  name           = "datastore-1"
  project_id     = selectel_vpc_project_v2.project_1.id
  region         = "ru-9"
  type_id        = data.selectel_dbaas_datastore_type_v1.datastore_type_1.datastore_types[0].id
  subnet_id      = openstack_networking_subnet_v2.subnet_1.id
  node_count     = 2
  flavor_id      = data.selectel_dbaas_flavor_v1.flavor_1.flavors[0].id
  redis_password = "secret"
}
```

Здесь:

* `region` — пул, например `ru-9`. Список доступных пулов можно посмотреть в инструкции [Доступность продуктов в локациях](/infrastructure/product-availability-by-location/#managed-databases);
* `filter` — фильтр типов облачных баз данных:
  * `engine` — тип облачных баз данных;
  * `version` — версия облачной базы данных. Список доступных версий можно посмотреть в инструкции [Версии и конфигурации](/managed-databases/redis/configurations/);
* `filter` — фильтр фиксированных конфигураций кластера. Список доступных конфигураций можно посмотреть в инструкции [Версии и конфигурации](/managed-databases/redis/configurations/);
  * `fl_size` — [линейка фиксированных конфигураций](/managed-databases/redis/configurations/). Доступные значения — `standard` и `high_freq`;
  * `vcpus` — количество vCPU;
  * `ram` — количество RAM в МБ;
  * `disk` — размер диска в ГБ;
* `nodes_count` — количество нод. Максимальное количество нод — 3;
* `redis_password` — пароль базы данных. Длина пароля — от 32 до 64 символов, которые включают символы верхнего регистра, цифры и специальные символы.

Посмотрите подробное описание источников данных и ресурсов:

* [selectel\_dbaas\_datastore\_type\_v1](/terraform/selectel-provider-reference/data-sources/dbaas_datastore_type_v1/);
* [selectel\_dbaas\_flavor\_v1](/terraform/selectel-provider-reference/data-sources/dbaas_flavor_v1/);
* [selectel\_dbaas\_redis\_datastore\_v1](/terraform/selectel-provider-reference/resources/dbaas_redis_datastore_v1/).

<Formbricks />
