sqlschool.gr logo

articles

Articles of SQLschool.gr Team

What is the Azure Private Link?

Kyriakos Petsalaris
Tuesday 21 April 2020

Σε αυτό το άρθρο θα αναφερθούμε στο Azure Private Link ,ποια είναι τα πλεονεκτηματά του συγκεκριμένου Service και ποιές οι διαφορές του με το Azure Service Endpoint.

Θα σας παρουσιάσω επίσης πως μπορείτε με απλά βήματα να ενεργοποιήσετε το συγκεκριμένο Service σε μία Azure SQL database.

Τον Φεβρουάριο του 20 η Microsoft ανακοίνωσε το Azure Private Linκ το οποίο μας δίνει την δυνατότητα να συνδεθούμε σε διάφορα Azure platform as a service (Paas) resources όπως πχ μια SQL Database, ένα Azure Storage ή μία Azure Cosmos DB, και σε υπηρεσίες που ανήκουν σε πελάτες ή σε Microsoft Service Providers, μέσω ενός private endpoint από ενα Vnet (virtual network) ή απο ένα on-premise δίκτυο με την χρήση του site-2-site ή Point-2-Site VPN.

Ουσιαστικά το private endpoint είναι ένα network interface που αντιστοιχεί,παρέχει μια εσωτερική IP στο PaaS azure resource μας μέσα απο τα virtual network που έχουμε διαθέσιμα στο Tenant . Επίσης όλη η κίνηση προς το Paas Service περνάει απο το Backbone της Microsoft και όχι μέσω του Public Internet όπως γνωρίζαμε με το Azure Service Endpoint.Ιδιαίτερα χρήσιμο είναι οταν έχεις να συνδιάσεις υπηρεσίες IaaS με PaaS που η συνδεσιμότητα των δύο απλοποιέιται με την ενεργοποίηση του Azure Private Link.

Μερικα απο το πλεονεκτήματα του συγκεκριμένου Service είναι τα παρακάτω :

  • Η πρόσβαση στο PaaS περνάει μέσα απο το δίκτυο της Microsoft (Backbone Service).
  • Παρεχει μία Private IP για τα resources πού έχετε σε μία PaaS υπηρεσία.
  • Μπορείτε να έχετε πρόσβαση στο PaaS service τόσο μέσα απο τα εσωτερικά VNET peers όσο και απο τα on-premises resources με την χρήση VPN ή Express Route VPN .
  • Τα private endpoints μπορούν να δημιουργηθούν σε resources που τα vnet τους ανήκουν σε διαφορετικά Regions ακόμα και σε διαφορετικά AD Tenant.
  • Η πρόσβαση των χρηστών περιορίζεται αποκλειστικά στο συγκεκριμένο azure resource (SQL DB, Storage Account κ.λπ.) και όχι σε ολόκληρo τo Service και έτσι έχουμε τον πλήρη έλεγχο στο τί γίνεται expose απο το azure δίκτυό μας.
  • Δημιουργία private endpoints και σύνδεση τους μέ το Frontend network configuration ενός Standard Azure Load Balancer (όχι Basic) γνωστό και ως Private Link Service.

Το Private Link Service επιτρέπει στους Service Providers να δημιουργήσουν ένα private endpoint για τις εφαρμογές τους και να κάνουν χρήση του Private Link για να διανείμουν αυτές τις εφαρμογές μέσα απο το virtual network των πελατών τους.Με αυτό τον τρόπο παραχωρείται στους πελάτες μία ασφαλή πρόσβαση με την κίνηση να μήν διέρχεται καθόλου απο το Internet .

Azure Private Link VS Azure Service Endpoint

Τα Service Endpoint παρόλο που δεν επιτρέπουν την απευθείας σύνδεση με τα PaaS resources η σύνδεση γίνεται υποχρεωτικά μεσω των Public Endpoints.Οπως επίσης η πρόσβαση περιορίζεται αποκλειστικά στο συγκεκριμένο Azure PaaS resource και όχι σε όλο το Service.Επίσης στο Azure Private Link δεν χρειάζεται να ρυθμίσετε NSG rules για να επιτρέψετε το outbound traffic οπως γίνεται στην περίπτωση του Service Endpoint.

Στον παρακάτω πίνακα θα βρείτε κάποιες απο τις βασικές διαφορές των δύο Service.

Differencies
Azure Private Link Endpoint Azure Service Endpoint
In-built data exfiltration protection Traffic will need to be passed through an NVA/Firewall for exfiltration protection
Easily extensible for On-prem network traffic via ExpressRoute or VPN. Restricting On-prem traffic is not straight forward
Control Access to PaaS Services over Private Network Control Access to PaaS Services over the public internet.
VNET to PaaS resource via Microsoft backbone VNET to PaaS service via the Microsoft backbone
PaaS resource mapped to a private IP address. NSGs are restricted to Vnet space The destination is still a public IP address, NSG needs to be opened, service tags can help.

Let’s LAB

Ας ξεκινήσουμε λοιπόν να ενεργοποιήσουμε το Azure Private Link σε μία Azure SQL database και να συνδεθούμε σε αυτήν τόσο μέσα απο ενα Azure VM όσο και απο on-premise δικτυό μας. Μέσα από το Azure Portal δημιουργούμε το Azure Private Link (Image1) επιλέγοντας το Build a private connection to a service (SQL Database).


Image-1
image

Στο Image2 δίνουμε ένα όνομα στο service μας και επιλέγουμε το ResourgeGroup κάτω απο το οποίο αυτό θα δημιουργηθεί καθώς και το Region.


Image-2
image

Στο επόμενο βήμα και το Image3 επιλέγουμε τον τύπο του Resource που είναι το resource που θα συνδεθούμε και στο drop down-list του Resource επιλέγουμε το sql instance name που στο Lab του έχουμε δώσει το όνομα demoprivatelink.


Image-3
image

Στην συνέχεια και στο image4 επίλέγουμε το Virtual Network το οποίο θα συνδεθεί το Private Link .Να προσθέσω εδώ οτι στο ίδιο Virtual Network είναι και το Azure VM που θα συνδεθούμε για να δοκιμάσουμε το connectivity με την SQL database .Επίσης αν δεν έχετε κάποιο δικό σας DNS Server επιλέξτε ΝΑΙ στην επιλογή integrate with private DNS Zone.Αυτό θα μας επιτρέψει να κάνουμε resolve το όνομα του SQL database privatelink.database.windows.net σε μια private IP address.


Image-4
image

Τέλος επιλέγουμε Next και Create και τo Azure Private Link είναι έτοιμο.


Image-4.1
image

Συνδεόμαστε στο VM να δοκιμάσουσε να συνδέθούμε στην SQL database μας .Μπορείτε να κανετε και ένα nslookup image 5 στο demoprivatelink.database.windows.net στο οποίο απαντάει η private ip 10.10.0.6.


Image-5
image

Στο image 6 θα δείτε ότι συνδεθήκαμε επιτυχώς απο το Azure VM στην SQL Database με το Traffic να μην δρομολογείτε απο την Public IP αλλά απο την Private.Αν θέλετε να συνδεθείτε απο τον υπολογιστή σας θα χρειαστεί να δημιουργήσετε ενα Point-2-Site VPN tunnel και να συσχετίσετε το όνομα του SQL Server με την private IP του στο αρχείο HOSTS.


Image-6
image

Το Azure Private Link πέρα απο την ασφάλεια σας παρέχει και την ευελιξία να συνδεθείτε σε οποιοδήποτε resource PaaS που είναι supported χωρίς να ρυθμίσετε extra firewall rules (NSG) καθώς όλη η κίνηση δρομολογείτε στο εσωτερικό δίκτυο (Backbone) μειώνοντας έτσι τις πιθανότητες να εκτεθεί το περιβάλλον σας σε εξωτερικές απειλές.


Kyriakos Petsalaris

Comments

21 Apr 2020 @ 11:11 AM

user-gravatar

Antonios Chatzipavlis

Μπράβο Κυριάκο

Kyriakos Petsalaris

Kyriakos Petsalaris

Kyriakos is a Multifaceted Information Technology professional with a background in Information Technology Management. An experienced database and systems administrator, who also establishes clear objectives for team members and enforces deadlines to keep projects on track. Well versed in personnel training and supporting servers,Azure based Systems and Virtual Enviroments. He can do a bit of everything, but he has a passion for SQL Server and loves resolving complex live site incidents, as well as engineering continuous improvements to avoid repeated incidents. He is also skilled with writing, performance-tuning and debugging T-SQL, and developing automated and scalable maintenance/monitoring procedures to ensure optimal uptime across multiple systems. He has 20+ years experience as a Systems Engineer with specific expertise in SQL Server (from SQL 2005 to 2019). He works with both on-premise and Azure-based, customer-facing services including several Microsoft’s Products and have experience collaborating remotely with global teams in Bahrein,South Africa, Egypt and England.

Tip

What's New in SQL Server 2022 - Episodes

More Tips...

Become a member

If you want to receive updates from us become a member to our community.

Connect

Explore

Learn


sqlschool.gr © 2010-2024 All rights reserved

This site uses cookies for operational and analytics purposes only. By continuing to browse this site, you agree to their use.