CloudDNS is a highly available and scalable Domain Name System (DNS) web service. It provides a reliable and cost-effective way to route users to internet applications by translating names like www.example.com into the numeric IP addresses like 192.0.2.1 that computers use to connect to each other.
The Cloud's DNA service is powered by PowerDNS and is fully integrated with our VPC and Compute services.
- Multi-Tenant Isolation: DNS zones are scoped to tenants, ensuring privacy and security.
- VPC Integration: Associate DNS zones with VPCs for private network resolution.
- Automatic Instance Registration: Instances launched in a VPC with an associated DNS zone automatically get an 'A' record (e.g.,
web-01.inst.internal). - Supported Record Types:
- A: IPv4 address records
- AAAA: IPv6 address records
- CNAME: Canonical name records (aliases)
- MX: Mail exchange records
- TXT: Text records for SPF, DKIM, etc.
- TTL Management: Configurable Time-To-Live for all records (min 60s).
A zone is a container for DNS records for a specific domain name.
cloud dns create-zone example.com --description "Main production zone"To create a Private Zone associated with a VPC:
cloud dns create-zone inst.internal --vpc-id <vpc-uuid>Add records to your zone to route traffic.
Add an A Record:
cloud dns create-record <zone-uuid> --name "www" --type "A" --content "1.2.3.4" --ttl 300Add an MX Record:
cloud dns create-record <zone-uuid> --name "@" --type "MX" --content "mail.example.com" --priority 10When you launch an instance in a VPC that has an associated DNS zone, CloudDNS automatically creates an 'A' record for it:
- Create a VPC:
cloud vpc create --name my-vpc - Create a Zone for that VPC:
cloud dns create-zone internal.cloud --vpc-id <vpc-uuid> - Launch an Instance:
cloud instance launch --name web-1 --vpc-id <vpc-uuid>
Result: A record web-1.internal.cloud will be created automatically pointing to the instance's private IP.
| Command | Description |
|---|---|
cloud dns list-zones |
List all DNS zones in your tenant |
cloud dns create-zone <name> |
Create a new DNS zone |
cloud dns get-zone <id> |
View zone details |
cloud dns delete-zone <id> |
Delete a zone and all its records |
cloud dns list-records <zone-id> |
List all records in a zone |
cloud dns create-record <zone-id> |
Add a new record |
cloud dns update-record <record-id> |
Update an existing record |
cloud dns delete-record <record-id> |
Remove a record |
Endpoints are prefixed with /api/v1/dns:
POST /zones: Create a zoneGET /zones: List zonesPOST /zones/:id/records: Create a recordGET /zones/:id/records: List records in a zoneDELETE /records/:id: Delete a record
For full details, see the API Reference.