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β
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
. For 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. For 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. In this example, we want to create a CNAME record for the original domain name of
oussamaachour.com
to make the traffic coming fromwww.oussamaachour.com
directed tooussamaachour.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 can 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.