Перейти к содержимому

Кластер в Managed PostgreSQL — это группа узлов (виртуальных машин), объединенных для хранения и обработки данных с помощью СУБД PostgreSQL. В облачной инфраструктуре кластер — единый интерфейс для управления базами данных

terraform
resource "mws_vpc_network" "network" {
network = var.network_name
}
resource "mws_vpc_subnet" "subnet" {
subnet = var.subnet_name
network = mws_vpc_network.network.network
cidr = var.subnet_cidr
}
resource "mws_vpc_address" "cluster_primary_address" {
address = "${var.cluster_name}-primary-address"
network = mws_vpc_network.network.network
subnet = mws_vpc_subnet.subnet.metadata.id
}
resource "mws_mpostgres_cluster" "cluster" {
cluster = var.cluster_name
version = "17"
active = true
metadata = {
display_name = "Standalone Postgres Cluster"
description = "A standalone PostgreSQL cluster"
}
endpoints = [
{
name = "primary-endpoint"
network = mws_vpc_network.network.metadata.id
primary_addresses = [
{
ref = mws_vpc_address.cluster_primary_address.metadata.id
}
]
}
]
instance_template = {
vm_type = "vmTypes/gen-2-8"
disk = {
size = "20GB"
type = "NETWORK_STANDARD_SSD"
}
}
instances = [
{
count = 1
zone = "ru-central1-a"
}
]
backup = {
retain_period_days = 7
daily = {
hour = 2
}
}
maintenance_window = {
weekly = {
days = ["SUNDAY"]
hour = 4
}
}
}
variable "cluster_name" {
type = string
default = "my-pg-cluster"
description = "Postgres cluster name"
}
variable "network_name" {
type = string
default = "my-pg-cluster-network"
description = "Network name"
}
variable "subnet_name" {
type = string
default = "my-pg-cluster-subnet"
description = "Subnet name"
}
variable "subnet_cidr" {
type = string
default = "192.168.10.0/24"
description = "Subnet CIDR"
}
  • active (Boolean) Состояние кластера — включен или выключен.
  • cluster (String) Название или идентификатор кластера.
  • endpoints (Attributes List) Описание эндпойнтов в сетях пользователя (VPC) для подключения к инстансам кластера. (see below for nested schema)
  • instance_template (Attributes) (see below for nested schema)
  • instances (Attributes List) (see below for nested schema)
  • version (String) Версия продукта
  • backup (Attributes) Спецификация автоматического бэкапирования (see below for nested schema)
  • kind (String)
  • maintenance_window (Attributes) (see below for nested schema)
  • metadata (Attributes) (see below for nested schema)
  • postgres_parameters (Map of String) Параметры PostgreSQL. Если не указаны, будут использованы дефолтные параметры.
  • project (String) Путь к проекту.
  • timeouts (Attributes) (see below for nested schema)

Required:

  • name (String) Имя эндпойнта.
  • network (String) Идентификатор пользовательской сети (VPC).
  • primary_addresses (Attributes List) (see below for nested schema)

Optional:

Optional:

  • external_access (Attributes) Описание адреса для внешнего подключения к кластеру. (see below for nested schema)
  • ref (String) Идентификатор IP-адреса подключения к primary-эндпоинту.
  • spec (Attributes) Описание подсети пользователя, используемой для подключения к primary-эндпоинту. (see below for nested schema)

Required:

  • allowed (Boolean) Флаг, разрешающий внешнее подключение к кластеру.

Optional:

  • ref (String) Идентификатор внешнего адреса.

Required:

  • subnet (String)

Optional:

  • external_access (Attributes) Описание адреса для внешнего подключения к кластеру. (see below for nested schema)
  • ref (String) Идентификатор адреса для подключения к узлу.
  • spec (Attributes) Описание подсети пользователя, используемой для подключения к узлам. (see below for nested schema)
  • zone (String) Зона инстанса, к которому ведет адрес.

Required:

  • allowed (Boolean) Флаг, разрешающий внешнее подключение к кластеру.

Optional:

  • ref (String) Идентификатор внешнего адреса.

Required:

  • subnet (String)

Optional:

  • external_access (Attributes) Описание адреса для внешнего подключения к кластеру. (see below for nested schema)
  • ref (String) Идентификатор IP-адреса для подключения к readOnly-эндпоинту.
  • spec (Attributes) Описание подсети пользователя, используемой для подключения к readOnly-эндпоинту. (see below for nested schema)

Required:

  • allowed (Boolean) Флаг, разрешающий внешнее подключение к кластеру.

Optional:

  • ref (String) Идентификатор внешнего адреса.

Required:

  • subnet (String)

Required:

  • disk (Attributes) Параметры диска с данными на узле кластера. (see below for nested schema)
  • vm_type (String) Тип виртуальной машины, описывающий ресурсы (vCPU, memory).

Required:

  • size (String) Размер диска.
  • type (String) Тип используемого диска:
    • NETWORK_STANDARD_SSD — сетевой SSD;
    • LOCAL — локальный диск.

Optional:

  • iops (Number) IOPS.

Required:

  • count (Number) Количество экземпляров в зоне доступности.

Optional:

  • zone (String) Зона доступности.

Optional:

  • daily (Attributes) Спецификация ежедневного автоматического бэкапирования (see below for nested schema)
  • retain_period_days (Number) Количество дней хранения бэкапа.

Optional:

  • hour (Number) Час начала автоматического бэкапирования.

Required:

Required:

  • days (List of String) Дни недели, в которые будет запущено задание на тех. обслуживание.
  • hour (Number) Час, в который будет запущено задание на тех. обслуживание.

Optional:

  • duration (String) Допустимая продолжительность процесса обновления. Если не указано, то не ограничено по времени. Принимается только формат в часах (h).

Optional:

  • description (String) Описание ресурса.
  • display_name (String) Отображаемое имя. Необязательное поле, можно свободно задавать и изменять для удобства организации ресурсов.

Read-Only:

  • create_time (String) Дата создания объекта.
  • delete_time (String) Время запроса на удаление ресурса (не фактическое время удаления).
  • id (String) Ссылка на типизированный референс.
  • purge_time (String)
  • usages (Attributes List) Связи с другими ресурсами. В зависимости от типа связи операции над ресурсом могут быть ограничены. (see below for nested schema)

Read-Only:

  • name (String) Имя связи. Требуется для модификации коллекции.
  • resource (String) Ссылка на ресурс.
  • usage_type (String) Тип связи. Помимо стандартных own и use могут быть добавлены специализированные типы для конкретных сервисов.

Optional:

  • create (String) A string that can be parsed as a duration consisting of numbers and unit suffixes, such as ”30s” or “2h45m”. Valid time units are “s” (seconds), “m” (minutes), “h” (hours).
  • delete (String) A string that can be parsed as a duration consisting of numbers and unit suffixes, such as ”30s” or “2h45m”. Valid time units are “s” (seconds), “m” (minutes), “h” (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
  • update (String) A string that can be parsed as a duration consisting of numbers and unit suffixes, such as ”30s” or “2h45m”. Valid time units are “s” (seconds), “m” (minutes), “h” (hours).

Read-Only:

  • backup (Attributes) Фактические параметры для автоматического бэкапирования. (see below for nested schema)
  • health (String) Работоспособность кластера:
    • ALIVE - Полностью работоспособен;
    • DEGRADED - Деградирует (некоторые, но не все, экземпляры неработоспособны);
    • FAILED - Неработоспособен;
    • UNKNOWN - Не удается определить состояние (на этапе создания).
  • instance_template (Attributes) (see below for nested schema)
  • instances (Attributes List) (see below for nested schema)
  • maintenance_window (Attributes) (see below for nested schema)
  • message (String)
  • network (Attributes) Описание IP-адресов для доступа к кластеру. (see below for nested schema)
  • ready (Attributes) Информация о статусе реконсиляции. (see below for nested schema)
  • state (String) Состояние кластера:
    • CREATING - Создается;
    • RUNNING - Работает в штатном режиме;
    • STOPPING - Останавливается;
    • STOPPED - Остановлен;
    • STARTING - Запуск ранее остановленного;
    • UPDATING - Выполняется обновление;
    • ERROR - Произошла ошибка, требуется участие команды поддержки;
    • DELETING - Удаляется;
    • DELETED - Удален;
    • UNIDENTIFIED - Не удается определить статус;
    • RESTORING - Восстанавливается;
    • MAINTENANCE - Ведутся работы по тех.обслуживанию.

Read-Only:

  • daily (Attributes) Фактические параметры ежедневного автоматического бэкапирования. (see below for nested schema)
  • retain_period_days (Number) Количество дней хранения бэкапа.

Read-Only:

  • hour (Number) Час начала автоматического бэкапирования.

Read-Only:

  • disk (Attributes) Параметры диска с данными на узле кластера. (see below for nested schema)
  • vm_type (String) Тип виртуальной машины, описывающий ресурсы (vCPU, memory).

Read-Only:

  • iops (Number) IOPS.
  • size (String) Размер диска.
  • type (String) Тип диска.

Read-Only:

  • health (String) Исправность экземпляра PostgreSQL.
  • name (String) Имя экземпляра PostgreSQL.
  • role (String) Роль экземпляра PostgreSQL.

Required:

Required:

  • days (List of String) Дни недели, в которые будет запущено задание на тех. обслуживание.
  • hour (Number) Час, в который будет запущено задание на тех. обслуживание.

Optional:

  • duration (String) Допустимая продолжительность процесса обновления. Если не указано, то не ограничено по времени. Принимается только формат в часах (h).

Read-Only:

Read-Only:

  • address (String)
  • external (Attributes) Описание внешнего IP-адреса для доступа к кластеру. (see below for nested schema)
  • instance (String) Имя инстанса, к которому ведет адрес.
  • ip (String)
  • subnet (String)
  • zone (String) Зона инстанса, к которому ведет адрес.

Read-Only:

  • address (String)
  • ip (String)

Read-Only:

  • address (String)
  • external (Attributes) Описание внешнего IP-адреса для доступа к кластеру. (see below for nested schema)
  • ip (String)
  • subnet (String)

Read-Only:

  • address (String)
  • ip (String)

Read-Only:

  • address (String)
  • external (Attributes) Описание внешнего IP-адреса для доступа к кластеру. (see below for nested schema)
  • ip (String)
  • subnet (String)

Read-Only:

  • address (String)
  • ip (String)

Read-Only:

  • message (String) Описание статуса.
  • state (String) Состояние ресурса.