Yandex Cloud
Search
Contact UsGet started
  • Pricing
  • Customer Stories
  • Documentation
  • Blog
  • All Services
  • System Status
    • Featured
    • Infrastructure & Network
    • Data Platform
    • Containers
    • Developer tools
    • Serverless
    • Security
    • Monitoring & Resources
    • AI Studio
    • Business tools
  • All Solutions
    • By industry
    • By use case
    • Economics and Pricing
    • Security
    • Technical Support
    • Start testing with double trial credits
    • Cloud credits to scale your IT product
    • Gateway to Russia
    • Cloud for Startups
    • Education and Science
    • Yandex Cloud Partner program
  • Pricing
  • Customer Stories
  • Documentation
  • Blog
© 2025 Direct Cursus Technology L.L.C.
Yandex Cloud DNS
  • Getting started
    • All guides
      • Creating a record
      • Updating a record
      • Deleting a record
  • Access management
  • Pricing policy
  • Terraform reference
  • Monitoring metrics
  • Audit Trails events
  • Release notes
  • FAQ
  1. Step-by-step guides
  2. Records
  3. Creating a record

Creating a resource record

Written by
Yandex Cloud
Updated at June 9, 2025

TXT records have a maximum length of 1024 characters.

To create a resource record in a DNS zone:

Management console
CLI
Terraform
API
  1. In the management console, select the folder containing the DNS zone where you want to create a resource record.
  2. Select Cloud DNS.
  3. Select the zone from the list.
  4. Click Create record.
  5. Specify the resource record settings:
    1. In the Name field, specify the record name.
    2. Select the record type from the drop-down list.
    3. In the TTL (in seconds) field, select the record TTL (Time to Live) value from the dropdown list or specify a custom duration in seconds.
    4. Specify a Data for the record.
  6. Click Create.

If you do not have the Yandex Cloud CLI installed yet, install and initialize it.

By default, the CLI uses the folder specified when creating the profile. To change the default folder, use the yc config set folder-id <folder_ID> command. You can also set a different folder for any specific command using the --folder-name or --folder-id parameter.

Run this command:

yc dns zone add-records --name <DNS_zone_name> \
  --record "<domain_name> <TTL> <record_type> <value>"

Example

Creating a TXT record with a DKIM signature:

yc dns zone add-records test-zone \
  --record "test-record TXT v=DKIM1;k=rsa;p=MIIBIjAN...gkH2v1NTgQdTKfPmDK...YdRiwIDAQAB"

If your TXT record contains multiple values, enclose each one in double quotes (""):

yc dns zone add-records test-zone \
  --record "test-record TXT v=DKIM1;k=rsa;p=MIIBIjAN""gkH2v1NTgQdTKfPmDK""YdRiwIDAQAB"

If you do not have Terraform yet, install it and configure its Yandex Cloud provider.

  1. In the configuration file, describe the resources you want to create: You can add multiple entries at once.

    resource "yandex_vpc_network" "foo" {}
    
    resource "yandex_dns_zone" "zone1" {
      name        = "my-private-zone"
      description = "desc"
    
      labels = {
        label1 = "label-1-value"
      }
    
      zone             = "example.com."
      public           = false
      private_networks = [yandex_vpc_network.foo.id]
    }
    
    resource "yandex_dns_recordset" "rs1" {
      zone_id = yandex_dns_zone.zone1.id
      name    = "srv.example.com."
      type    = "A"
      ttl     = 200
      data    = ["10.1.0.1"]
    }
    
    resource "yandex_dns_recordset" "rs2" {
      zone_id = yandex_dns_zone.zone1.id
      name    = "srv2"
      type    = "A"
      ttl     = 200
      data    = ["10.1.0.2"]
    }
    
    resource "yandex_dns_recordset" "rs_dkim" {
      zone_id = yandex_dns_zone.zone1.id
      name    = "dkim"
      type    = "TXT"
      ttl     = 200
      data    = ["v=DKIM1;k=rsa;t=s;p=MIIBIjAN...gkH2v1NTgQdTKfPmDK...YdRiwIDAQAB"]
    }
    

    Where:

    1. yandex_dns_zone settings:

      • zone: Domain zone. Note that the zone name must end with a trailing dot. You cannot create top-level domain (TLD) zones. This is a required setting.
      • folder_id: ID of the folder where you want to create your zone. If no folder is specified, the system will use the default one. This is an optional setting.
      • name: Zone name. Note that the zone name must be unique within the folder. This is an optional setting.
      • description: Zone description. This is an optional setting.
      • labels: DNS zone labels. This is an optional setting.
      • public: Zone visibility, public or private. This is an optional setting.
      • private_networks: For a public zone, specify the Virtual Private Cloud resources that can access this zone. This is an optional setting.
    2. yandex_dns_recordset settings:

      • zone_id: ID of the zone that will contain your resource records. This is a required setting.
      • name: Domain name. This is a required setting.
      • type: DNS record type. This is a required setting.
      • ttl: Record TTL (Time to Live), i.e., time in seconds before the record updates. This is an optional setting.
      • data: Record value. This is an optional setting.

    For more information about resources you can create with Terraform, see the relevant provider documentation.

  2. Apply the changes:

    1. In the terminal, go to the directory where you edited the configuration file.

    2. Make sure the configuration file is correct using this command:

      terraform validate
      

      If the configuration is correct, you will get this message:

      Success! The configuration is valid.
      
    3. Run this command:

      terraform plan
      

      You will see a detailed list of resources. No changes will be made at this step. Terraform will show any errors found in your configuration.

    4. Apply the changes:

      terraform apply
      
    5. Type yes and press Enter to confirm the changes.

    Terraform will create all required resources. You can check the new resources in the management console or using this CLI command:

    yc dns zone list-records <zone_name>
    

To create a resource record in a DNS zone, use the updateRecordSets REST API method for the DnsZone resource or the DnsZoneService/UpdateRecordSets gRPC API call.

When creating AAAA resource records, the service automatically normalizes IPv6 addresses by filling omitted zeros between :, e.g., 2001:db8:: → 2001:db8:0:0:0:0:0:0.

Was the article helpful?

Previous
Monitoring DNS zones
Next
Updating a record
© 2025 Direct Cursus Technology L.L.C.