Terraform
April 17, 2023
YC MongoDB 5.0
В данной статье рассматриваем установку кластера Managed MongoDB 5.0 в Yandex Cloud.
Создадим фолдер mongodb и в нём три файла.
variable "cloudID" { //cloud-id default = "b1gig0ogqtnk75jde2q8" } variable "folderID" { //folder-id default = "b1g62iqs14tk7mu0faun" } variable "tokenName" { //token that should be created by 'yc iam create-token' type = string default = "t1.9euelZqczJaZzoucns_JzsiMlZWMte3rnpWazcqLj4yOkZSQnoHcnJuez5fl8PdyGgxi-e8tSkCM5fT3Mm0KXvnvLUPAjA.it-O02jXSamhoOriXKtwtl2npBUPAmyaxal9MDbJi0EANfj-gGWolV6DmG1df0BxuJ0Pr3PigzxDfVZWOWkaBQ" } variable "zoneName" { //default zone default = "ru-central1-a" } variable "networkID" { //default network default = "enpblgntu48fhohf30ml" } variable "subnetID" { //default subnet default = "e9b16nenl5a52h6o9djb" } variable "versionNum" { //cluster version default = "5.0" }
terraform { required_providers { yandex = { source = "yandex-cloud/yandex" version = ">=0.85" } } } provider "yandex" { token = var.tokenName cloud_id = var.cloudID folder_id = var.folderID zone = var.zoneName }
resource "yandex_mdb_mongodb_cluster" "cam-mon" { name = "cam-mon" description = "Cameda prod cluster from tf" environment = "PRODUCTION" network_id = var.networkID security_group_ids = ["enpn9lfurm1427rb17l3"] deletion_protection = false cluster_config { version = var.versionNum feature_compatibility_version = 4.4 backup_window_start { hours = 01 } } database { name = "db1" } labels = { cluster = "main-prod" } user { name = "cameda" password = "Pa$w0rd" permission { database_name = "db1" roles = ["mdbDbAdmin"] } } resources_mongod { resource_preset_id = "s2.micro" disk_type_id = "network-ssd" disk_size = 20 } host { zone_id = var.zoneName subnet_id = var.subnetID role = "PRIMARY" assign_public_ip = "true" type = "mongod" } maintenance_window { type = "WEEKLY" day = "MON" hour = 17 } }
Для установки последовательно запускаем.
terraform validate terraform plan terraform apply
terraform destroy