DNS Zone Setup Finest Practices on Azure

[ad_1]

In Cloudera deployments on public cloud, one of many key configuration parts is the DNS. Get it flawed and your deployment might turn out to be wholly unusable with customers unable to entry and use the Cloudera information companies. If the DNS is ready up much less splendid than it could possibly be, connectivity and efficiency points might come up. On this weblog, we’ll take you thru our tried and examined finest practices for organising your DNS to be used with Cloudera on Azure.

To get began and provide you with a really feel for the dependencies for the DNS, in an Azure deployment for Cloudera, these are the Azure managed companies getting used: 

  • AKS cluster: information warehouse, information engineering, machine studying, and Knowledge circulation
  • MySQL database: information engineering
  • Storage account: all companies
  • Azure database for PostgreSQL DB: information lake and information hub clusters
  • Key vault: all companies

Typical buyer governance restrictions and the affect

Most Azure customers use non-public networks with a firewall as egress management. Most customers have restrictions on firewalls for wildcard guidelines. Cloudera assets are created on the fly, which suggests wildcard guidelines could also be declined by the safety crew.

Most Azure customers use hub-spoke community topology. DNS servers are often deployed within the hub digital community or an on-prem information middle as a substitute of within the Cloudera VNET. Meaning if DNS shouldn’t be configured accurately, the deployment will fail.

Most Cloudera clients deploying on Azure enable the usage of service endpoints; there’s a smaller set of organizations that don’t enable the usage of service endpoints. Service endpoint is an easier implementation to permit assets on a non-public community to entry managed companies on Azure Cloud. If service endpoints usually are not allowed, firewall and personal endpoints would be the different two choices. Most cloud customers don’t like opening firewall guidelines as a result of that may introduce the chance of exposing non-public information on the web. That leaves non-public endpoints the one possibility, which may even introduce extra DNS configuration for the non-public endpoints.

Connectivity from non-public community to Azure managed companies

Firewall to Web

Route from firewall to Azure managed service endpoint on the web straight.

Service endpoint

Azure gives service endpoints for assets on non-public networks to entry the managed companies on the web with out going by the firewall. That may be configured at a subnet stage. Since Cloudera assets are deployed in several subnets, this configuration have to be enabled on all subnets.

The DNS information of the managed companies utilizing service endpoints can be on the web and managed by Microsoft. The IP tackle of this service can be a public IP, and routable from the subnet. Please confer with the Microsoft documentation for element. 

Not all managed companies assist companies endpoint. In a Cloudera deployment state of affairs, solely storage accounts, PostgreSQL DB, and Key Vault assist service endpoints. 

Luckily, most customers enable service endpoints. If a buyer doesn’t enable service endpoints, they should go along with a non-public endpoint, which has similarities to what must be configured within the following content material.

Personal Endpoint

There’s a community interface with a non-public IP tackle created with a non-public endpoint, and there’s a non-public hyperlink service related to a particular community interface, in order that different assets within the non-public community can entry this service by the non-public community IP tackle.

The important thing right here is for the non-public assets to discover a DNS resolve for that non-public IP tackle. There are two choices to retailer the DNS report:

  • Azure managed public DNS zones will at all times be there, however they retailer several types of IP addresses for the non-public endpoint. For instance: 
    • Storage account non-public endpoint—the general public DNS zone shops the general public IP tackle of that service.
    • AKS API server non-public endpoint—the general public DNS zone shops the non-public IP of that service.
  • Azure Personal DNS zone: The DNS information can be synchronized to the Azure Default DNS of LINKED VNET. 

Personal endpoint is eligible to all Azure managed companies which might be utilized in Cloudera deployments. 

As a consequence, for storage accounts, customers both use service endpoints or non-public endpoints. As a result of the general public DNS zone will at all times return a public IP, the non-public DNS zone turns into a compulsory configuration. 

For AKS, these two DNS alternate options are each appropriate. The challenges of personal DNS zones can be mentioned subsequent.

Challenges of personal DNS zone on Azure non-public community

Vital Assumptions

As talked about above for the standard state of affairs, most Azure customers are utilizing a hub-and-spoke community structure, and deploy customized non-public DNS on hub VNET.

The DNS information can be synchronized to Azure default DNS of linked VNET. 

Easy Structure Use Circumstances

One VNET state of affairs with non-public DNS zone:

When a non-public endpoint is created, Cloudera on Azure will register the non-public endpoint to the non-public DNS zone. The DNS report can be synchronized to Azure Default DNS of linked VNET. 

If customers use customized non-public DNS, they will configure conditional ahead to Azure Default DNS for the area suffix of the FQDN.

Hub-and-spoke VNET with Azure default DNS:

With hub-spoke VNET and Azure default DNS, that’s nonetheless acceptable. The one downside is that the assets on the un-linked VNET won’t be able to entry the AKS. However since AKS is utilized by Cloudera, that doesn’t pose any main points.

The Problem Half

The most well-liked community structure amongst Azure shoppers is hub-spoke community with customized non-public DNS servers deployed both on hub-VNET or on-premises community. 

Since DNS information usually are not synchronized to the Azure Default DNS of the hub VNET, the customized non-public DNS server can’t discover the DNS report for the non-public endpoint. And since the Cloudera VNET is utilizing the customized non-public DNS server on hub VNET, the Cloudera assets on Cloudera VNET will go to a customized non-public DNS server for DNS decision of the FQDN of the non-public endpoint. The provisioning will fail.

With the DNS server deployed within the on-prem community, there isn’t Azure default DNS related to the on-prem community, so the DNS server couldn’t discover the DNS report of the FQDN of the non-public endpoint.

Configuration finest practices

Towards the background

Possibility 1: Disable Personal DNS Zone

Use Azure managed public DNS zone as a substitute of a non-public DNS zone. 

  • For information warehouse: create information warehouses by the Cloudera command line interface with the parameter “privateDNSZoneAKS”: set to”None.”

  • For Liftie-based information companies: the entitlement “LIFTIE_AKS_DISABLE_PRIVATE_DNS_ZONE” have to be set. Clients can request this entitlement to be set both by a JIRA ticket or have their Cloudera resolution engineer to make the request on their behalf.

The only disadvantage of this selection is that it doesn’t apply to information engineering, since that information service will create and use a MySQL non-public DNS zone on the fly. There may be at current no choice to disable non-public DNS zones for information engineering.

Possibility 2: Pre-create Personal DNS Zones

Pre-create non-public DNS zones and hyperlink each Cloudera and hub VNETs to them. 

The benefit of this strategy is that each information warehouse and Liftie-based information companies assist pre-created non-public DNS zones. There are nonetheless additionally a number of drawbacks:

  • For Liftie, the non-public DNS zone must be configured when registering the atmosphere. As soon as previous the atmosphere registration stage, it can’t be configured. 
  • DE will want a non-public DNS zone for MySQL and it doesn’t assist pre-configured non-public DNS zones.
  • On-premises networks can’t be linked to a non-public DNS zone. If the DNS server is on an on-prem community, there are not any workable options.

Possibility 3: Create DNS Server as a Forwarder.

Create a few DNS servers (for HA consideration) with load balancer in Cloudera VNET, and configure conditional ahead to Azure Default DNS of the Cloudera VNET. Configure conditional ahead from the corporate customized non-public DNS server to the DNS server within the Cloudera subnet.

The disadvantage of this selection is that extra DNS servers are required, which ends up in extra administration overhead for the DNS crew.

Possibility 4: Azure-Managed DNS Resolve

Create a devoted /28 subnet in Cloudera VNET for Azure non-public DNS resolver inbound endpoint. Configure conditional ahead from customized non-public DNS to the Azure non-public DNS resolver inbound endpoint.

Abstract

Bringing all issues collectively, think about these finest practices for organising your DNS with Cloudera on Azure:

  • For the storage account, key vault, postgres DB
    • Use service endpoints as the primary alternative.
    • If service endpoint shouldn’t be allowed, pre-create non-public DNS zones and hyperlink to the VNET the place the DNS server is deployed. Configure conditional forwards from customized non-public DNS to Azure default DNS.
    • If the customized non-public DNS is deployed within the on-premises community, use Azure DNS resolver or one other DNS server as DNS forwarder on the Cloudera VNET. Conditional ahead the DNS lookup from the non-public DNS to the resolver endpoint.
  • For the info warehouse, DataFlow, or machine studying information companies
    • Disable the non-public DNS zone and use the general public DNS zone as a substitute. 
  • For the info engineering information service
    • Configure the Azure DNS resolver or one other DNS server as a DNS forwarder on the Cloudera VNET. Conditional ahead the DNS lookup from the non-public DNS to the resolver endpoint. Please confer with Microsoft documentation for the main points of organising an Azure DNS Personal Resolver

For extra background studying on community and DNS specifics for Azure, take a look at our documentation for the varied information companies: DataFlow, Knowledge Engineering, Knowledge Warehouse, and Machine Studying. We’re additionally comfortable to debate your particular wants; in that case please attain out to your Cloudera account supervisor or get in contact.

[ad_2]

Leave a Reply

Your email address will not be published. Required fields are marked *