Den Laptop vum Entwéckler erreecht d'privat RDS-Instanz iwwer d'VPN vum Personal, awer d'Applikatioun op EC2 kann iwwerhaapt net verbannen. Dat ass keng futti Deployement. Den Laptop huet en Tunnel, deen d'EC2-Instanz ni ierft, an „privat“ an RDS bedeit, datt d'Datebank keen ëffentlechen Endpunkt huet, net datt mënschlech VPN-Benotzer déi eenzeg erlaabt Uruffer sinn. D'Applikatioun brauch hire eigenen autoriséierte Wee, hir eege Bezéiung mat der Sécherheetsgrupp an hir eege Datebank-Identitéit, an d'Reiefolleg, an där Dir déi dräi wielt, spuert de gréissten Deel vum Debuggen. Entscheet Iech fir d'éischt op d'Route, dann op d'Berechtegungen, an dann iwwerpréift aus der deployéierter Ëmgebung amplaz vun Ärem Schreifdësch.

D'VPN vum Laptop ass net de Wee vun der Applikatioun

Wat och ëmmer d'VPN vum Personal fir Mënschen mécht, fir eng Instanz mécht et näischt, ausser wann déi Instanz ausdrécklech Deel vum selwechte Netzwee ass. Eng EC2-Instanz an engem private Subnet erreecht RDS iwwer VPC-Routing, Sécherheetsgruppen an Netzwierk-ACLen. Si ierft keen mënschlechen Tunnel, keng mënschlech Sessioun a keng mënschlech Umeldungsinformatiounen, an et sollt och net: onbewaacht Applikatiounskonnektivitéit an de Fernzougang vum Personal musse onofhängeg fonctionnéieren.

Déi Onofhängegkeet ass e Virdeel. Wann d'VPN erof ass, schafft d'Applikatioun weider. Wann d'Applikatioun sech falsch behëlt, verléiert keen de Fernzougang. Designen, déi déi zwee an engem Wee verschmëlzen, ginn normalerweis während engem Tëschefall entdeckt, am schlëmmste méigleche Moment.

Entscheedung 1: déiselwecht VPC, direkte Wee

Wann d'Applikatioun an d'Datebank an der selwechter VPC mat direktem Routing sinn an tëscht hinnen keen Inspektiounsmëttel ass, ass de Wee einfach an d'Referenz op d'Sécherheetsgrupp ass dat stäerkst verfügbar Instrument. Gitt der Applikatioun hir eege Grupp a erlaabt dann de Datebankport aus där Grupp amplaz aus engem Adressberäich:

aws ec2 authorize-security-group-ingress --group-id sg-0db123   --protocol tcp --port 5432 --source-group sg-0app456

aws rds describe-db-instances --db-instance-identifier prod-db   --query 'DBInstances[0].{Endpoint:Endpoint.Address,Port:Endpoint.Port,Public:PubliclyAccessible,Groups:VpcSecurityGroups}'

De Port ass illustrativ a muss mam Motor iwwerenee stëmmen. Eng Gruppreferenz autoriséiert Traffic vun den Instanze vun der Applikatioun; si kopéiert hir Reegele net an et schaaft keen Datebank-Login. Zwee getrennt Problemer, zwee getrennt Fixen.

Préift dann de Rescht vum Wee amplaz bei der Regel stoppen ze bleiwen, déi Dir just bäigefüügt hutt. D'Ausgangspolitik vun der Applikatioun, de komplett Set vu Gruppen, déi un d'Datebank gebonnen sinn, d'Routingstabellen vum Subnet an all Netzwierk-ACLen mussen all iwwerenee stëmmen. Sécherheetsgruppe-Reegele sinn stateful, wärend eng personaliséiert Netzwierk-ACL d'Ufro an den Retourstraffic a getrennte Reegele mussen erlaben, inklusiv ephemer Porten. Eng schmuel nei Datebankregel annuléiert och keng méi al breet Erlaabnes, déi schonn ugeschloss war.

Entscheedung 2: eng aner VPC oder en anert Kont

Wann d'Applikatioun an enger anerer VPC ass, wielen d'Netzwierkbesëtzer eng ënnerstëtzt privat Verbindung: peering, en Transit-Design oder eng gedeelt VPC-Arrangement. Dann mussen zwou Richtunge vum Routing existéieren, d'Nimmopliesung muss fir den RDS-Endpunkt funktionnéieren, an d'Quell, déi d'Datebankpolitik evaluéiert, muss mat deem passen, wat tatsächlech ukommt. Iwwerenee stëmmend Kontnimm oder eng gedeelt Rechnungsbezéiung ginn näischt dovun.

D'Referenz op d'Sécherheetsgrupp ass den Deel, deen ännert. Si funktionnéiert a verschiddenen Designe vu private Verbindungen, awer hält op ze funktionnéieren an deem Moment, wou eng Mëttelbox d'Quell ëmschreift oder d'Verbindung ofschléisst, well d'Datebank dann d'Mëttelbox gesäit amplaz Är Applikatiounsgrupp. D'RDS VPC-Szenarien trennen den Zougang bannent der selwechter VPC vun den aneren Arrangements, an et ass derwäert Är spezifesch Topologie dogéint ze préiwen, ier Dir unhëlt, datt e Regelstil iwwerdroe gëtt.

Léist keng fehlend Route doduerch, datt Dir d'Datebank ëffentlech zougänglech maacht. Dat ass eng aner Expositiounsentscheedung mat engem aneren Eegentemer, an et gëtt normalerweis vun deem proposéiert, deen am wäitsten vun der Konsequenz ewech ass.

Entscheedung 3: wéi eng Identitéit d'Datebank acceptéiert

Netzwierkzougang an Datebank-Authentifikatioun sinn getrennt Schichten, an hir Vermëschung produzéiert déi meescht misleading Feeler. D'Rol vun der Instanz ass eng AWS-Identitéit fir AWS-APIen ze ruffen. Si ass keen Datebankbenotzer. IAM-Datebank-Authentifikatioun ass eng ënnerstëtzt Funktioun, wou de Motor an d'Konfiguratioun et erlaben, an et ass nach ëmmer eng Mapung op en Datebankbenotzer amplaz eng Ersatz.

Benotzt den Numm vum RDS-Endpunkt an der Konfiguratioun vun der Applikatioun amplaz enger Adress, déi aus enger eenzeger Sich geholl gouf. Multi-AZ-Failover ännert d'Adress hannert deem Numm, an eng Applikatioun, déi un eng IP gepinnt ass, wäert genee an deem Moment versoen, wou se gebraucht gëtt. Loosst d'TLS-Verifikatioun vum Motor ageschalt amplaz se auszeschalten, fir e Feeler verschwannen ze loossen, well eng Verifikatiounsfeelung Iech eppes iwwer den Endpunkt seet, deen Dir erreecht hutt.

Gitt dann dem Datebankkont de Minimum, deen d'Applikatioun brauch, an deem Schema, deen se tatsächlech benotzt. Déi Aarbecht ass langweileg, se ass auditabel, an et ass den Deel, deen eng Tëschefallrevue froe wäert.

Iwwerpréift aus der deployéierter Ëmgebung

Test aus der Instanz oder aus engem Aufgab, deen mat der selwechter Grupp, Subnet an Roll leeft. Véier Feeler gesinn ähnlech aus vun engem Laptop aus a sinn do einfach z'ënnerscheeden: en Numm, deen net opgeléist gëtt, eng Verbindung, déi ofleeft, eng TLS-Validatiounsfeelung an en ofgeleente Datebank-Login. Jiddwereen deelt op eng aner Grenz hin, an d'Expositioun vun der Datebank z'änneren, ier Dir wësst, wéi eng Dir hutt, ass Rotschléien.

psql "host=prod-db.abc123.eu-west-1.rds.amazonaws.com port=5432 dbname=app sslmode=verify-full" -c 'select 1'

Wann d'Verbindung vun der Instanz aus geléngt an vun Ärem Schreifdësch aus feelt, ass de Wee vun der Applikatioun an der Rei an Ären Zougang ass dat, wat gefléckt muss ginn. Wann se vun deenen zwee feelt, fänkt mat de Gruppen- a Routenprüfungen uewen un amplaz mat den Umeldungsinformatiounen. Dee eenzegen Verglach verhënnert de gréissten Deel vum Duercherneen, deen dës Ticketen erstellen.

Ähnlech Artikelen