Για λόγους ασφαλείας και διαχείρισης, συνηθίζουμε κατά τη υλοποίηση μιας υποδομής datacenter στο Azure Cloud, να ομαδοποιούμε τους Server ανάλογα τη χρήση και την προσβασιμότητα . Ο λόγος είναι καθαρά για καλύτερη διαχείριση των κανόνων ασφαλείας σε επίπεδο δικτύου.
Για αυτό λοιπόν ξεχωρίζουμε τους Server, σε αυτούς που έχει πρόσβαση το κοινό μέσο public IP και σε αυτούς που δουλεύουν από πίσω χωρίς να υπάρχει καμία πρόσβαση από «έξω» για το κοινό. Μία ενδεικτική τέτοια υποδομή είναι η παρακάτω

Στην προκειμένη περίπτωση όπως αυτή απεικονίζεται στο παραπάνω σχεδιάγραμμά , οι server που βρίσκονται στο subnet του business tier δεν είναι προσβάσιμοι στο κοινό . Παρ’ όλα αυτά, δεν είναι «απομονωμένοι» από το internet εφόσον είναι σημαντικός παράγοντας, δεδομένου ότι έχουν ανάγκες για επικοινωνία με άλλα συστήματα, πχ update servers για το λειτουργικό κτλ. Σε αυτή την περίπτωση όλο το «outbound traffic» γίνεται μέσα από τη υποδομή του Azure .
Σε περιβάλλον υψηλής διαθεσιμότητας με τεχνολογίες docker ,auto scale και τα λοιπά, στο subnet αυτό μπορούμε να έχουμε μεταβλητό πλήθος μηχανών σύμφωνα με τις ανάγκες μας .
Όλα ακούγονται ιδανικά μέχρι στιγμής . Τι γίνεται όταν έχουμε μία εφαρμογή η οποία εγκαθιστάται σε τυχαίο server εκείνου του υποδικτύου και πρέπει να έρθει σε επικοινωνία με ένα τραπεζικό σύστημα ; Ερχόμαστε αντιμέτωποι με δύο βασικά προβλήματα, που προκύπτουν από το ότι η τράπεζα απαιτεί να της δώσεις την public IP, την οποία βλέπει όταν η εφαρμογή σου κάνει κάποιο αίτημα προς αυτή. Έτσι έχουμε να αντιμετωπίσουμε:
- Το outbound traffic, υλοποιείται από τη τρέχουσα υποδομή του Azure και η IP είναι «άγνωστη», δεδομένου ότι το πλήθος των διαθέσιμων από το datacenter IP είναι μεγάλο.
- Ακόμα και αν δώσουμε Public IP στα μηχανήματα, δεδομένου ότι αυτά θα δημιουργούνται δυναμικά (autoscale) ή η εφαρμογή σου μπορεί να τρέχει από οποιοδήποτε μηχάνημα, είναι αδύνατον να γνωρίζεις κάθε φορά τη σωστή IP και να ενημερώνεις τον τραπεζικό οργανισμό .
Για αυτό το Microsoft Azure έχει μία λύση, με το να σου προσφέρει Virtual Network NAT.

Με αυτό το εργαλείο μπορείς να ορίσεις σημείο από το οποίο το subnet σου θα κάνει όλο το outbound traffic και μόνο. Εφαρμόζοντας το, όλα τα μηχανήματα που υπάρχουν στο subnet το οποίο ορίζεις στο Virtual Network NAT που φτιάχνεις, δρομολογούν το outbound traffic από εκεί.
Επίσης μπορείς να συνδέσεις στο Virtual Network NAT μία ή παραπάνω IP, καθώς και με μία νέα υπηρεσία του Azure, την public address prefix να συνδέσει range από IP.
Έτσι η υποδομή μας
- αποκτά γνωστές IP για το Outbound traffic
- κρατάει τα επίπεδα ασφαλείας, δεδομένου ότι επιτρέπει μόνο outbound traffic
Περισσότερα, στα παρακάτω link
- Virtual Network NAT ( https://docs.microsoft.com/en-us/azure/virtual-network/nat-overview )
- Public IP address prefix ( https://docs.microsoft.com/en-us/azure/virtual-network/public-ip-address-prefix )