Slik får du AWS til å starte en Site-to-Site VPN-tunnel
Start handling og DPD-timeout-handling svarer på ulike spørsmål. Sett den som får AWS til å starte, og sjekk deretter peer-adressen og appens rute.
Som standard venter en AWS Site-to-Site VPN på at customer gateway starter forhandlingen. Den standarden er en innstilling, ikke en lov, og innstillingen heter Startup action. Før du griper etter den, skill to spørsmål som stadig blandes sammen: hvem som etablerer tunnelen, og om pakkene du bryr deg om har en rute gjennom den. Bare det første ligger i tunnelvalgene.
Skill starthandlingen fra DPD-timeout-handlingen
To innstillinger per tunnel styrer to ulike hendelser, og å sette den ene sier ingenting om den andre.
| Event | Option | Useful values |
|---|---|---|
| A new or modified VPN connection needs a tunnel | Startup action | add waits for the peer; start asks AWS to initiate |
| Dead peer detection times out | DPD timeout action | clear ends the session, restart reinitiates, none does nothing |
Hvis AWS skal reise en ny eller endret tunnel, velg start. Hvis AWS også skal starte forhandlingen på nytt etter en DPD-timeout, konfigurer restart for den hendelsen separat. Ingen av innstillingene er en nyttforsøkspolicy for applikasjonen, og ingen av dem er et nøkkelbytteintervall: DPD sjekker om peeren lever, mens nøkkelbytte erstatter security associations på en aktiv tunnel.
En applikasjon som får timeout mens tunnelen fortsatt rapporterer up, har et datapath-problem. Å forkorte DPD-timeren retter det ikke, og det kan gi uro du må forklare senere.
Kontroller at AWS har et sted å sende forhandlingen
Initiering fra AWS-siden virker bare med IKEv2, og AWS trenger customer gatewayens offentlige adresse for å vite hvor forslaget skal sendes. Tilfellet som virkelig svir, er en sertifikatautentisert customer gateway-ressurs opprettet uten adresse: AWS-dokumentasjonen beskriver å opprette en ny customer gateway-ressurs med adressen og deretter endre VPN-tilkoblingen til å peke på den.
Et sertifikat beviser hvem peeren er. Det forteller ikke AWS hvor peeren er, og det er to forskjellige krav. Derfor er løsningen en ny customer gateway-ressurs og ikke et nytt sertifikat. Å bytte sertifikatet etterlater AWS med den samme manglende destinasjonen.
Hvis customer gatewayen sitter bak NAT, trenger AWS også en konfigurert responder identity, IDr, slik at peerens identitet stemmer med det enheten forventer. Bekreft den verdien og brannmurveien som slipper IKE-trafikk gjennom, før du gir innstillingen du nettopp endret skylden. Å velge start kan ikke få en peer som ikke er nåbar eller er feil identifisert til å godta et forslag.
Bruk endringen på én tunnel, og forvent et avbrudd
En VPN-tilkobling har to tunneler med uavhengige innstillinger, så bekreft ut fra dens ytre adresse hvilken du redigerer. AWS tillater å endre én tunnel om gangen, og tilkoblingen over den valgte tunnelen kan bli avbrutt i flere minutter.
- Velg Site-to-Site VPN-tilkoblingen, og åpne Modify VPN tunnel options.
- Velg tunnelen etter ytre IP-adresse, og bekreft IKE-versjonen og customer gateway-ressursen.
- Sett start- og DPD-handlingene du faktisk vil ha, og lagre deretter i et tidsvindu du kontrollerer.
- Bekreft at den endrede tunnelen etableres, og kontroller den andre tunnelen og rutingen før neste endring.
Én atferd fortjener oppmerksomhet før vedlikehold. Med AWS-initiering påslått finnes det ingen timeout: AWS fortsetter å prøve til tunnelen kommer opp, og det initierer på nytt når customer gatewayen sender en delete-SA-melding. Tar du peeren ned med vilje, vil AWS fortsette å banke på, og peerens logger vil vise det.
Verifiser applikasjonens vei, ikke bare tunnelens tilstand
En tunnel som rapporterer up, er ikke det samme som en forespørsel som virker. En Lambda-funksjon knyttet til en VPC trenger fortsatt en subnet-rute til kundens prefiks, security group- og network ACL-regler som tillater trafikken, navneoppslag som returnerer riktig adresse, og en returvei på kundens side.
Test én gang med en ekte forespørsel fra applikasjonens kontekst, og les deretter flow logs hvis den feiler. Keepalive-trafikk er et legitimt alternativ når AWS-initiering er av og en ledig tunnel trenger pakker for å holde seg oppe, men det bør være en overvåkingsbeslutning du kan navngi, ikke en uforklart ping-løkke boltet på en funksjon.
Velg først hvem som etablerer tunnelen, og diagnostiser deretter den gjenværende feilen i sitt eget lag. AWS-dokumentasjonen om initiering dekker kravene til adresse, identitet og nye forsøk mer detaljert enn hintene i konsollen.