Πώς δημιουργούμε ένα SQL Managed Instance στο Azure

Πώς δημιουργούμε ένα SQL Managed Instance στο Azure
Πώς δημιουργούμε ένα SQL Managed Instance στο Azure

Μία από τις δυνατότητες που έχουμε στο Cloud του Azure είναι να μας παρέχει ένα ολόκληρο Instance του SQL Server χωρίς να έχουμε πρόσβαση σε κάποιο Virtual Machine. Αυτή η υπηρεσία ονομάζετε Azure SQL Managed Instance.

Τι πλεονεκτήματα έχει

Σε αντίθεση με τις Azure SQL Databases ότι γνωρίζουμε από τα κλασικά on-premise SQL Server instances λειτουργούν. Πιο συγκεκριμένα μπορούμε να κάνουμε χρήση Agent, backup/restore με την χρήση .bak αρχείων, db mail και άλλα. Ενώ ταυτόχρονα συνεχίζουμε να έχουμε πλεονεκτήματα των Azure SQL Databases όπως αυτόματο patching, αυτόματα backup και high availability.

Πριν όμως συνεχίσεις να διαβάζεις το άρθρο αν δεν είσαι εξοικειωμένος με το Azure θα πρέπει πρώτα να διαβάσεις αυτό το άρθρο που είναι αφιερωμένο στις υποδομές του Azure. Θα χρειαστεί γιατί εξηγεί διάφορες έννοιες που θα συναντήσουμε πιο κάτω όπως Subscriptions και Resource Groups.

Το παράδειγμα

Για αρχή συνδεόμαστε στο Azure Portal . Εκεί επιλέγουμε το Create a resource.

Πώς δημιουργούμε ένα SQL Managed Instance στο Azure
1

Εκεί επιλέγουμε Databases και Azure SQL Managed Instance.

Πώς δημιουργούμε ένα SQL Managed Instance στο Azure
2

Ορίζουμε το Subscription που έχουμε την χρέωση (στην περίπτωση μου είχα ένα οπότε το έβαλε μόνο του).

Το Resource Group είναι ουσιαστικά ένας κουβάς με τις υποδομές μας οπότε βάζουμε ένα που ήδη έχουμε ή φτιάχνουμε έναν καινούργιο με το Create New απλά συμπληρόντας το Data Center που θα ανήκει (το δικό μας το έβαλα West Europe).

Βάζουμε το όνομα που θέλουμε να έχει το instance.

Ορίζουμε τα credentials που θέλουμε να έχει ο local admin.

Πώς δημιουργούμε ένα SQL Managed Instance στο Azure
3

Επιλέγοντας Configure στο Compute + storage θα μας εμφανιστεί η παρακάτω εικόνα. Εκεί μπορούμε να επιλέξουμε Business Critical αν θέλουμε να έχουμε υπηρεσία σαν Availability Group που παρέχει build in μία read only replica ή να αφήσουμε το General Purpose που από πίσω είναι σαν Failover Cluster Instance με κοινό Azure Storage.

Έχουμε την δυνατότητα να ορίσουμε τα Cores και στο Storage που χρειαζόμαστε ώστε να έχουμε την ανάλογη χρέωση.

Αν έχουμε αγοράσει ήδη ανάλογη άδεια χρήσης SQL Server μπορούμε να επιλέξουμε το Azure Hybrid Benefit που θα μειώσει και άλλο το κόστος.

Τέλος μπορούμε να διαλέξουμε αν θέλουμε τα backup να αποθηκεύονται σε διαφορετικά regions, σε διαφορετικά data center που ανήκουν στο ίδιο zone ή μόνο στο συγκεκριμένο data center.

Πώς δημιουργούμε ένα SQL Managed Instance στο Azure
4

Στην επόμενες ρυθμίσεις θα πρέπει να ορίσουμε το όνομα του virtual network που θα χρησιμοποιήσουμε, αν θέλουμε να είναι ανοιχτό το public end point με πρόσβαση από το Internet και το security TLS level που θα έχει.

Από τη στιγμή που για το παράδειγμα δεν θα έχω κάποια εφαρμογή συνδεδεμένη αλλά θα θέλω να συνδεθώ από το τερματικό μου μέσω Internet το επέλεξα.

Πώς δημιουργούμε ένα SQL Managed Instance στο Azure
5

Στη συνέχεια ορίζουμε το Collation που θέλουμε να έχει το instance. Στην περίπτωση μας Greek_CI_AS.

Πώς δημιουργούμε ένα SQL Managed Instance στο Azure
6

Μπορούμε να προσθέσουμε tags ώστε να μπορούμε να αναζητήσουμε αν πρόκειται για κάτι για Development ή είναι για παραγωγικό σύστημα.

Πώς δημιουργούμε ένα SQL Managed Instance στο Azure
7

Στο τέλος μας εμφανίζει ένα Review με ότι έχουμε επιλέξει πριν πατήσουμε το Create. Μας δίνει και την επιλογή να το κατεβάσουμε ως template για να μπορούμε να ανεβάσουμε μία αντίστοιχη βάση οποιαδήποτε στιγμή θέλουμε στο μέλλον (DevOps).

Πώς δημιουργούμε ένα SQL Managed Instance στο Azure
8

Μετά από ~ 4 ώρες θα δούμε ότι ολοκληρώθηκε η δημιουργία του.

Πώς δημιουργούμε ένα SQL Managed Instance στο Azure
9

Βλέπουμε ότι έχει δημιουργηθεί ένα network security group. Από εκεί μπορούμε να θέσουμε rules στο τι connections επιτρέπονται και τι όχι.

Πώς δημιουργούμε ένα SQL Managed Instance στο Azure
10

Για να συνδεθούμε μπορούμε να δούμε τα connections strings στην παρακάτω καρτέλα.

Πώς δημιουργούμε ένα SQL Managed Instance στο Azure
11

Αφού χρησιμοποιούμε public end point (για απευθείας πρόσβαση από το Internet) ορίζει διαφορετική πόρτα από την 1433.

Ορίζοντας το servername,port και τα credentials του admin που μας ζήτησε να φτιάξουμε στην αρχή μπορούμε να συνδεθούμε μέσω SQL Server Management Studio.

Πώς δημιουργούμε ένα SQL Managed Instance στο Azure
12

Μπορούμε όμως να συνδεθούμε και με λογαριασμό που έχουμε φτιάξει στο Azure Active Directory. Για να δώσουμε δικαιώματα (RBAC) σε λογαριασμούς το ορίζουμε στο Access Control (IAM). Ας ορίσω όμως τον λογαριασμό μου απευθείας ως Active Directory Admin όμως βλέπουμε στην κάτωθι εικόνα:

Πώς δημιουργούμε ένα SQL Managed Instance στο Azure
13

Οπότε μπορούμε τώρα να δοκιμάσουμε συνδεθούμε με Authentication type Azure Active Directory – Universal with MFA support.

Πώς δημιουργούμε ένα SQL Managed Instance στο Azure
14

Για τέλος ας δοκιμάσουμε να συνδεθούμε και με sqlcmd απευθείας με χρήση του Azure AD λογαριασμού:

sqlcmd -S dpgr-instance.public.a4ab802fe4ee.database.windows.net,3342 -Usmatzouranis@dataplatform.gr -G
Πώς δημιουργούμε ένα SQL Managed Instance στο Azure
15

Read Only Replica λόγο Business Critical Service Tier;

Κάτα την δημιουργία του instance είχαμε επιλέξει Business Critical Service Tier ώστε να μας παρέχει buildin μία readonly replica όπως λειτουργεί σε ένα Availability Group.

Για να συνδεθούμε σε αυτή θα πρέπει στο connection να έχουμε ορίσει την παράμετρο ApplicationIntent=ReadOnly.

Π.χ. στο SQL Server Management Studio πριν επιλέξουμε connect διαλέγουμε Options, Additional Connection Parameters και εκεί συμπληρώνουμε το κείμενο ApplicationIntent=ReadOnly.

Πώς δημιουργούμε ένα SQL Managed Instance στο Azure

Αν πάμε να πραγματοποιήσουμε ένα insert σε έναν πίνακα θα δούμε ότι λαμβάνουμε αυτό το μήνυμα.

Πώς δημιουργούμε ένα SQL Managed Instance στο Azure

Πηγές:

Μοιράσου το

Αφήστε μία απάντηση