Creating a resource record
TXT records have a maximum length of 1024 characters.
To create a resource record in a DNS zone:
- In the management console
, select the folder containing the DNS zone where you want to create a resource record. - Select Cloud DNS.
- Select the zone from the list.
- Click Create record.
- Specify the record settings:
- In the Name field, specify the record name.
- Select the record type from the drop-down list.
- 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.
- Specify a Data for the record.
- Click Create.
If you do not have the Yandex Cloud CLI yet, install and initialize it.
The folder used by default is the one specified when creating the CLI profile. To change the default folder, use the yc config set folder-id <folder_ID> command. You can also specify a different folder for any command using --folder-name or --folder-id. If you access a resource by its name, the search will be limited to the default folder. If you access a resource by its ID, the search will be global, i.e., through all folders based on access permissions.
Run this command:
yc dns zone add-records --name <DNS_zone_name> \
--record "<domain_name> <TTL> <record_type> <value>" \
--description "<description>"
Where:
--name: Zone name. It must be unique within a folder.--record: DNS record containing the domain name, TTL, record type, and record value.--description: Description for the new records. If this flag is not set, the description will be empty. This is an optional setting.
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"
Creating a record with a description:
yc dns zone add-records test-zone \ --record "srv.example.com. 600 A 10.1.0.1" \ --description "Web server"
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 the Yandex Cloud provider.
-
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"] description = "Web server primary" } 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:
-
yandex_dns_zonesettings: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. It 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.
-
yandex_dns_recordsetsettings: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 time to live (TTL) in seconds before refreshing the record value. This is an optional setting.data: Record value. This is an optional setting.description: Record set description. This is an optional setting.
For more information about resources you can create with Terraform, see the relevant provider documentation.
-
-
Apply the changes:
-
In the terminal, navigate to the configuration file directory.
-
Make sure the configuration is correct using this command:
terraform validateIf the configuration is valid, you will get this message:
Success! The configuration is valid. -
Run this command:
terraform planYou will see a list of resources and their properties. No changes will be made at this step. Terraform will show any errors in the configuration.
-
Apply the configuration changes:
terraform apply -
Type
yesand press Enter to confirm the changes.
Terraform will create all the 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.