Πύλη S3 ή τελικό σημείο διεπαφής για πελάτη εντός της εγκατάστασης;
Τα τελικά σημεία πύλης ζουν σε πίνακες δρομολόγησης και εξυπηρετούν την κίνηση VPC. Τα τελικά σημεία διεπαφής δίνουν στη διαδρομή της εγκατάστασης μια ιδιωτική διεύθυνση, μαζί με DNS και πολιτική.
Το να φτάσεις στο S3 από δίκτυο γραφείου μέσω VPN τοποθεσίας δεν είναι πρόβλημα δρομολόγησης που μια στατική διαδρομή μπορεί να λύσει μόνη της. Ένα τελικό σημείο πύλης προσαρτάται σε πίνακες δρομολόγησης και εξυπηρετεί αιτήματα που προέρχονται μέσα στο VPC. Ένα τελικό σημείο διεπαφής τοποθετεί ελαστικές διεπαφές δικτύου με ιδιωτικές διευθύνσεις στα υποδίκτυά σας, και αυτές οι διευθύνσεις είναι προσβάσιμες από την εγκατάσταση μέσω VPN ή Direct Connect. Το πού ξεκινά το αίτημα καθορίζει ποιο από τα δύο χρειάζεστε πραγματικά, και η εργασία σε DNS, ομάδα ασφαλείας και πολιτική ακολουθεί από αυτή την απάντηση.
Ξεχωρίστε τους τύπους τελικών σημείων από το πού ξεκινά το αίτημα
Ένα τελικό σημείο πύλης εμφανίζεται ως καταχώριση πίνακα δρομολόγησης που δείχνει σε μια διαχειριζόμενη λίστα προθεμάτων. Δεν έχει διεπαφή δικτύου, ούτε ομάδα ασφαλείας, ούτε δική του ιδιωτική διεύθυνση, και γι’ αυτό ακριβώς ένας κεντρικός υπολογιστής στην εγκατάσταση δεν μπορεί να δρομολογήσει προς αυτό: δεν υπάρχει τίποτα στην άλλη πλευρά για να δρομολογηθεί. Η κίνηση από μέσα στο VPC φτάνει στο S3 επειδή ο πίνακας δρομολόγησης του υποδικτύου στέλνει αυτό το πρόθεμα στο τελικό σημείο. Η κίνηση από οπουδήποτε αλλού δεν έχει τέτοια καταχώριση να ακολουθήσει.
Ένα τελικό σημείο διεπαφής είναι ένα σύνολο διεπαφών δικτύου σε υποδίκτυα που επιλέγετε, καθεμία με ιδιωτική διεύθυνση από αυτό το υποδίκτυο και μια συνδεδεμένη ομάδα ασφαλείας. Αυτή είναι η μορφή που μπορεί να χρησιμοποιήσει ένας υβριδικός πελάτης, γιατί είναι ένας συνηθισμένος προορισμός στον οποίο η σήραγγά σας μπορεί να μεταφέρει πακέτα. Σημαίνει επίσης ότι το τελικό σημείο καταναλώνει διευθύνσεις στο υποδίκτυο και μπορεί να τις εξαντλήσει.
aws ec2 describe-vpc-endpoints --query "VpcEndpoints[].{Id:VpcEndpointId,Type:VpcEndpointType,Service:ServiceName,State:State}" --output table
Διαβάστε τη στήλη Type και όχι το όνομα. Ένα μόνο VPC συνήθως περιέχει και τους δύο τύπους για την ίδια υπηρεσία, και η καταχώριση που χρειάζεται η εφαρμογή σας στην εγκατάσταση είναι η καταχώριση διεπαφής.
Χτίστε τη διαδρομή προς τη διεύθυνση διεπαφής πριν δοκιμάσετε το S3
Τρία πράγματα πρέπει να ισχύουν ταυτόχρονα: ο δρομολογητής στην εγκατάσταση έχει διαδρομή προς το υποδίκτυο του τελικού σημείου, η διαδρομή επιστροφής από αυτό το υποδίκτυο φτάνει στο δίκτυο του πελάτη, και η ομάδα ασφαλείας του τελικού σημείου δέχεται το εύρος προέλευσης του πελάτη. Το ACL δικτύου του υποδικτύου μπορεί ακόμη να απορρίψει το πακέτο αφού περάσουν και τα τρία, οπότε ελέγξτε το ως τέταρτο στοιχείο και όχι ως εκ των υστέρων σκέψη.
Μια διαδρομή που λειτουργεί προς κάποια παρουσία EC2 μέσα στο VPC δεν αποδεικνύει τίποτα από αυτά. Δείχνει ότι η σήραγγα είναι ενεργή, που είναι το μόνο μέρος της διαδρομής που γνωρίζατε ήδη. Αποδείξτε τη διεύθυνση του τελικού σημείου ξεχωριστά και μετά αποδείξτε ότι το όνομα επιλύεται σε αυτή.
ip route get 10.60.4.37 nc -vz 10.60.4.37 443 openssl s_client -connect 10.60.4.37:443 -servername bucket.vpce-0123456789abcdef0-abc123.s3.us-east-1.vpce.amazonaws.com </dev/null
Η πρώτη εντολή δείχνει ποια διεπαφή θα χρησιμοποιούσε ο πελάτης. Η δεύτερη αποδεικνύει χειραψία TCP. Η τρίτη αποδεικνύει ότι το TLS ολοκληρώνεται με πιστοποιητικό έγκυρο για το όνομα του τελικού σημείου, και αυτός είναι ο έλεγχος που πιάνει μια λάθος διεύθυνση πριν κατηγορήσετε τα δικαιώματα.
Αποφασίστε ποια απάντηση DNS λαμβάνει η εφαρμογή
Η ύπαρξη ενός τελικού σημείου διεπαφής στο VPC δεν ανακατευθύνει από μόνη της ένα SDK στην εγκατάσταση. Ο πελάτης είτε χρησιμοποιεί το όνομα που ειδικά για το τελικό σημείο δημοσιεύει η AWS, είτε μια ιδιωτική φιλοξενούμενη ζώνη που κάνατε σκόπιμα επιλύσιμη από το γραφείο.
Για υβριδική επίλυση, ο μετατροπέας στην εγκατάσταση χρειάζεται υποστηριζόμενη διαδρομή προς την προβολή DNS του VPC, συνήθως μέσω εισερχόμενου τελικού σημείου Resolver. Το να ενεργοποιήσετε ιδιωτικό DNS χωρίς να καταλαβαίνετε ποιες πηγές ερωτημάτων επηρεάζει είναι ο τρόπος με τον οποίο μια αναζήτηση αρχίζει να επιστρέφει διεύθυνση που το γραφείο δεν μπορεί να φτάσει. Η ρύθμιση αλλάζει απαντήσεις για ερωτήματα που φτάνουν μέσω του μετατροπέα του VPC, όχι για κάθε πελάτη παντού.
dig +short bucket.vpce-0123456789abcdef0-abc123.s3.us-east-1.vpce.amazonaws.com aws s3api head-bucket --bucket example-artifacts --endpoint-url https://bucket.vpce-0123456789abcdef0-abc123.s3.us-east-1.vpce.amazonaws.com
Εκτελέστε και τις δύο στον κεντρικό υπολογιστή της εφαρμογής, όχι σε μηχάνημα άλματος μέσα στο VPC. Ο μετατροπέας που απαντά εκεί είναι αυτός που χρησιμοποιεί το φορτίο εργασίας σας, και μια διαφορετική απάντηση από διαφορετικό κεντρικό υπολογιστή είναι η πιο συνηθισμένη πηγή σύγχυσης σε αυτόν τον σχεδιασμό.
Η προσβασιμότητα δεν είναι εξουσιοδότηση
Ένα αίτημα που φτάνει στο τελικό σημείο χρειάζεται ακόμη εξουσιοδοτημένο κύριο και ισχύουσα άδεια κάδου. Μια πολιτική τελικού σημείου μπορεί να περιορίσει το τι επιτρέπει το τελικό σημείο, και μια πολιτική κάδου μπορεί να το περιορίσει ξανά. Το να φτάσετε στη διεπαφή δεν λέει τίποτα για το ποια αντικείμενα επιτρέπεται να διαβάσει ο καλών.
Δοκιμάστε και τις δύο κατευθύνσεις: μία ακίνδυνη εξουσιοδοτημένη κλήση προς τον επιδιωκόμενο κάδο και μία κλήση που αναμένεται να απορριφθεί για ταυτότητα ή πόρο εκτός πολιτικής. Κρατήστε το όνομα του τελικού σημείου, τη διεύθυνση που επιλύθηκε και το πλαίσιο πολιτικής μαζί με το αποτέλεσμα ώστε ο επόμενος να μπορεί να το αναπαραγάγει. Μια απόρριψη που ονομάζει τον τύπο πολιτικής γλιτώνει μια ώρα εικασιών.
Τέλος, κοστολογήστε τις δύο επιλογές πριν την παροχή. Ένα τελικό σημείο διεπαφής χρεώνεται ανά ώρα διεπαφής και ανά gigabyte, ενώ ένα τελικό σημείο πύλης όχι, και αυτή η διαφορά καθορίζει την απάντηση για πολλά φορτία εργασίας χαμηλού όγκου που χρειάζονται μόνο πρόσβαση από την πλευρά του VPC.