AWS VPN PSK-nın rotasiyası: hansı tunel düşür və nə vaxt
Bir AWS VPN tunelinin pre-shared açarını dəyişmək hər iki tərəf razılaşana qədər həmin tuneli düşürür. Əvvəlcə alternativ yolu sübut edin, sonra tunelləri bir-bir rotasiya edin.
İki tərəf pre-shared açar barədə razılaşmadığı anda tunel düşür və hər iki tərəf yeni dəyəri daşıyana qədər düşmüş qalır. Bu hissə gözləniləndir: AWS dəyişikliyi seçilmiş tunelin kəsilməsi kimi qəbul edir və açarlar fərqli olduqca peer IKE-ni tamamlamayacaq. İnsanları təəccübləndirən ikinci yarıdır. Digər tunel trafiki özü üzərinə götürmür, əgər onun bunu daşıya bildiyini yoxlamamısınızsa. Bu ardıcıllıqla rotasiya edin və kəsilmə bir tunelin içində qalsın.
Açar dəyişdikdə əslində nə baş verir
ModifyVpnTunnelOptions bir tunelin seçimlərini yenidən yazır, tunel xarici IP ünvanı ilə müəyyən edilir. Tunel sökülür və yenidən qurulur, buna görə IKE və IPsec yeni açarla sıfırdan danışıqlar aparır. AWS kəsilmənin bir neçə dəqiqə davam edə biləcəyini bildirir ki, bu da marşrutlaşdırma protokolunun bunu görməsi üçün kifayət qədər uzundur. Eyni bağlantıdakı digər tunelə çağırış toxunmur.
Heç nə göndərməzdən əvvəl bilməyə dəyər ikinci bir təsir var. Dəyişdirmə əməliyyatı tunel seçimlərinin tam dəstini götürür, buna görə buraxdığınız sahə öz standart dəyəri ilə geri yazılır. Əgər mərhələ 1 və ya mərhələ 2 ömürlərini, yaxud ölü peer aşkarlama parametrlərini tənzimləmisinizsə, cari dəyərləri həmin sorğuda ötürün və ya sonra bərpa etməyi planlaşdırın.
Əvvəlcə cari dəyərləri oxuyun, sonra bir sahəni dəyişin. Bu ardıcıllıq bu tapşırığın bütün intizamıdır.
Əvvəlcə AWS tunelini düzgün peer ilə uyğunlaşdırın
Konsol tunelləri sıra ilə etiketləyir və cihazınız bu etiketdən istifadə etmir. Tuneli xarici IP ünvanı ilə müəyyən edin və onu müştəri şlüzündəki peer bölməsi ilə uyğunlaşdırın. Yerli konfiqurasiyada Tunel 1 olması, AWS-nin Tunel 1 adlandırdığı tuneli redaktə etdiyinizin sübutu deyil.
Bağlantının özündən başlayın; o, hər iki tuneli və hər birinin hazırda saxladığı açarı sadalayır:
aws ec2 describe-vpn-connections --vpn-connection-ids vpn-0123456789abcdef0 \
--query "VpnConnections[0].Options.TunnelOptions[].[OutsideIpAddress,PreSharedKey]"Qaytarılan açar hazırda istifadə olunan açardır. Hər hansı dəyişiklik etməzdən əvvəl onu peer konfiqurasiyası ilə müqayisə edin, çünki artıq mövcud olan uyğunsuzluq əvvəldən heç vaxt sabit olmayan tuneli izah edir.
Əvvəlcə digər tunelin trafiki daşımasına imkan verin
Bir bağlantıdakı iki tunel cihazınızın hər ikisini konfiqurasiya etdiyini, hər ikisinin sizə lazım olan prefiksləri elan etdiyini və ya trafikin onlar arasında hərəkət etdiyini sübut etmir. Alternativ tunelin danışıqlarını, marşrutlarını və hər iki istiqamətdə real tətbiq axınını yoxlayın. BGP ilə canlı qonşuluq faydalı sübutdur, lakin prefiksləri təsdiqləməklə eyni deyil. Statik marşrutlaşdırma ilə şlüzün yolu necə seçdiyini və üstünlük verilən yol yox olduqda nə etdiyini təsdiqləyin.
Əgər alternativ iş yükünü daşıya bilmirsə, açara toxunmazdan əvvəl kəsilməni planlaşdırın və ya alternativ tuneli təmir edin. Konsol səhifəsindəki status işığı fasiləsiz xidmətin zəmanəti deyil.
Bir tuneli rotasiya edin, sonra real trafiklə yoxlayın
Alternativ yol sübut olunduqdan sonra ardıcıllıq qısadır. Tunel ünvanını, onun peer-ni və gizli olmayan parametrləri qeyd edin və şlüzə qırmaq üzrə olduğunuz tuneldən asılı olmayan idarəetmə yolu saxlayın.
- Seçilmiş xarici ünvan üçün müştəri şlüzü peer-ni yeniləyin və ya dəyişikliyi API çağırışından saniyələr sonra qüvvəyə minəcək şəkildə hazırlayın.
- Dəyişdirmə çağırışını yeni açarla, cari ömürlər və DPD dəyərləri ilə birlikdə göndərin.
- IKE və IPsec-in geri qayıtmasını gözləyin, sonra marşrutları və tələb olunan prefiksləri təsdiqləyin.
- Həmin tuneldən nümunəvi tətbiq axını keçirin və hər iki istiqaməti izləyin.
Tərəflər razılaşmadıqca və AWS dəyişikliyi tətbiq etdikcə tunel yararsızdır, buna görə peer yeniləməsi nahardan sonra deyil, dərhal ardınca gəlməlidir. Yalnız dəyişdirilmiş tunel real trafik daşıdıqda proseduru digərində təkrarlayın.
Birinci tuneldən sonra bərpa və ya marşrutlaşdırma hələ də qeyri-müəyyəndirsə dayanın. Yarım işləyən iki tunel işlədiyini bildiyiniz bir tuneldən pisdir.
Bərpa dayandıqda IKE tərəfini oxuyun
Hər iki tərəf yeni açarı saxladıqdan sonra düşmüş qalan tunel adətən rotasiyanın yaratmadığı, aşkar etdiyi siyasət uyğunsuzluğudur. Təkliflər, peer-in göndərdiyi kimlik və trafik seçiciləri hamısı AWS tərəfi ilə uyğun olmalıdır və qurulmuş tuneldən keçmiş dəyər yeni danışıqlar zamanı yenə də rədd edilə bilər. Açarı ikinci dəfə dəyişməzdən əvvəl danışıq statusunu və ona əlavə edilmiş mesajı oxuyun.
aws ec2 describe-vpn-connections --vpn-connection-ids vpn-0123456789abcdef0 \
--query "VpnConnections[0].VgwTelemetry[].[OutsideIpAddress,Status,StatusMessage]"Dəyişikliyi geri qaytarmaq lazımdırsa, köhnə açarı sadəcə əvvəl işlədiyi üçün bərpa etməyin. Kompromisə uğramış açarı kompromisə uğramış sayın və əvəzində danışıqları düzəldin. Hər iki tunelin yoxlanması və hər peer-in hansı dəyəri saxladığını qeyd etməsi üçün sirr inventarının yenilənməsi ilə bitirin, AWS tunel seçimləri sənədini isə runbook-un yanında saxlayın.