This is just a brain dump on my personal naming convention thoughts. This is not an officail document or decree of how you should name your servers.
A FQDN is made up of a {hostname}.{domain}
where the hostname is the short hostname configured on the actual server. (In linux this is retrieved via the “hostname -s” command). The Full FQDN is retrieved via “hostname -f”.
and where domain is a domain to the specific company unit and IP class for that IP Address.
The {domain} can be further broken down into
{ip_class}.{company_tld}
Where an ip_class is public for the publicly accessible IP address for the server should one exist, private is for the internal IP address. If all your servers have a third ip_class… such as a management network then it is probably as good idea to have a “management”, “drac”, “bmc” or similar ip_class such that the FQDNs to your management units are of the format {hostname}.management.{domain}. The ip_class is not always required depending on your environment, but it is strongly recommended to disambiguate your server hostname space from potential ALIAS space (______.{domain})
{env}-{service}[-subservice …]-{datacenter}-{number/id}[.private|.public].{domain}
first Mesos server (master) in prod environment, nyc1 datacenter. Points to private IP Address
prd-mesos-master-nyc1-01.private.edhurtig.com
first Mesos server (master) in prod environment, nyc1 datacenter. Points to public IP Address
prd-mesos-master-nyc1-01.public.edhurtig.com
if the [.private|.public] section is ommitted, then the address is not to be assumed to be public or private. It is assumed to be an alias address meant for user consumption. For Example, this url is public
www.edhurtig.com
But this URL, of the same format, is an internal (private) website that is inaccessible outside the edhurtig company network. internalweb.edhurtig.com
www.edhurtig.com
should be a CNAME to whatever the public web server is: like prd-nginx-nyc1-01.public.edhurtig.com
.
internalweb.edhurtig.com
should be a CNAME to whatever the private web server is: like prd-nginx-internal-nyc1-01.private.edhurtig.com
. This MUST not match an existing server hostname unless it points to the same server… I.E.
If I have 2 logical servers, then the {hostname} segment of the domain MUST be different. you cannot have
- Public NGINX Server:
prd-nginx-nyc1-01.public.edhurtig.com
- Private NGINX Server:
prd-nginx-nyc1-01.private.edhurtig.com
Instead, you should add a “subservice” section to the hostname of either or both of the servers
- Public NGINX Server:
prd-nginx-public-nyc1-01.public.edhurtig.com
- Private NGINX Server:
prd-nginx-internal-nyc1-01.private.edhurtig.com
(I am using internal to make the point that it does not HAVE to be “private”)