Terraform modules for Yandex Cloud

A set of official Terraform modules for Yandex Cloud services that will help simplify the description of the infrastructure using Terraform, reduce duplication of infrastructure code, and switch to a top-level scheme for managing infrastructure blocks.

The Yandex Cloud team has developed modules based on the best practices and approaches to creating services in the cloud so that you can automate your infrastructure as much as possible.

Why use Terraform models for Yandex Cloud?

Increase simplicity of server configurations

Terraform modules allow you to gather several cloud resources in one block. You don’t need to separately describe service accounts, roles, security groups, and other third-party resources when you want to create a Kubernetes cluster, for example.

Code duplication

Using modules allows you to avoid duplicating the description of similar infrastructure components. You just take a ready-made service description in Terraform, connect it as a module to the project, specify the necessary variables, and get a ready-deployed service. This can be done each time, using variables to customize the installation.

Yandex Cloud’s experience and expertise

We compiled the best practices for deploying managed services in Yandex Cloud. The modules create accounts for services with the correct (minimum) set of rights, security groups are configured for all components of the system with the accesses required, and the parameters of individual resources are coordinated with each other to ensure maximum user convenience.

Modules in solution architecture

Take a look at the examples of how to use modules in solution architecture.

Full screen image

With a module, you can create a managed Kubernetes cluster and the entities necessary for its operation in Yandex Cloud.

What the module offers:

  • A zonal or regional Kubernetes cluster.
  • User-defined Kubernetes node groups.
  • Service accounts and the KMS encryption key for the Kubernetes cluster.

The Managed Service for Kubernetes module contains all the necessary documentation for the input data, as well as examples of its use.