DNS Records Management
Translationsβ
This tutorial is also available in the following languages:
In this tutorial we will introduce you to the DNS records feature so let's get started !
About the feature:β
This feature offers the end user (e.g admin) the ability to manage DNS records for a selected DNS Zone. This includes:
- Listing all DNS records
- Creating new DNS records
- Deleting selected DNS record(s)
The cloud providers with which this feature works in its current version are:
Walking through the feature:β
Select the service and the cloud providerβ
- In the left panel of the dashboard page, select the Manage DNS, then Overview
- In the overview page, select the cloud provider in which you DNS hosted zone is hosted
In left side of your account email address, you find a list of the cloud providers
In this demo, we choose Amazon Web Services (AWS) Here all DNS hosted zones in your account in the selected cloud provider would be listed, select the one you want At this stage, we would start walking through the different functionality one by one:- [DNS records listing](#DNS-records-listing)
- [DNS records creation](#DNS-records-creation)
- [DNS records deletion](#DNS-records-deletion)
DNS records listingβ
By just selecting your DNS hosted zone, all the respective DNS records would be listed
Each row describes a single record including the following information (Record name, Record target/value, Record type, Record TTL)
These fields are explained in the next DNS records creation section
DNS records creationβ
Creating new DNS records consists of filling these values:
- Name: This should be the subdomain , that would be later concatenated with the domain-name forming the fully qualified domain name (subdomain.domain-name)
Example: foo.oussamaachour.com - Target: this indicated where the traffic would be routed when accessing the respective URL In this case, the record is a CNAME (Canonical NAME) record mapping to the original domain name which is oussamaachour.com
- TTL: TTL stands for Time to Live. This is the time, in seconds, that it will take for any changes to the DNS record to go into effect.
Example: With a TTL of 3600, all changes to this record should be refreshed every 3600 seconds (one hour). - Type: the type of the record such as the following (A record, AAAA record,CNAME record, Nameserver (NS) record, Mail exchange (MX) record)
- DNS Zone:: this the DNS hosted zone where your record would be created For the DNS record creation, you are required to enter the:
In this example, we want to create a CNAME record for the original domain name of oussamaachour.com to make the traffic coming from www.oussamaachour.com directed to oussamaachour.com
Note: A CNAME record is like an alias for the target domain name.
After filling all the fields, click on the CREATE
button
DNS records deletionβ
Select your desired record(s) for deletion, then click in the DELETE
icon in the right.
As we see, the record is successfully deleted ! Note: Deleting the DNS record results in deleting the record itself, as well as its stack from the Pulumi state.
Creating DNS records isn't enough !β
Even though this feature enables the user to manage DNS records across different cloud environment, however this isn't enough to make the created record(s) successfully resolved and functional.
Actually, this is the scope of the feature, providing a centralized point to manage DNS records, in the same way it would be achieved when doing it in every single cloud provider !
Considerations:β
One DNS Zone across different cloud providers: In this case, we used just one zone across the three cloud providers (AWS, GCP and Azure) Using just one zone across multiple cloud environment, which is actually hosted in AWS, is just for testing purposes.
Therefore, some extra configuration are needed.
Such solution for this scenario is to enable *DNS delegation*, where you delegate a specific DNS domains/subdomains to the other cloud than the one in which you are hosting your DNS hosted zone.Attaching SSL/TLS certificates to the created domain/subdomains Creating DNS records isn't enough to make it fully functional in the user endpoint.
In fact, generally speaking, any domain/subdomain needs an SSL/TLS certificate to ensure secure connection through the internet.
Example: In the demonstration we made, after creating that www.oussamaachour.com we need to go to AWS and create a SSL/TLS certificate (could be done by AWS Certificate Manager or other authority). Also we could create one single SSL/TLS certificate for the domain and all its domains.