Адсутны прэфікс у табліцы маршрутаў падсеткі VPC і адсутны прэфікс на маршрутызатары кліента — гэта дзве розныя няспраўнасці, і толькі адна з іх выпраўляецца ўнутры табліц маршрутаў AWS. Віртуальны прыватны шлюз аб'яўляе блокі CIDR, звязаныя з яго VPC; табліца маршрутаў падсеткі вырашае, куды рабочая нагрузка адпраўляе адказ. Разглядаць другі як спосаб змяніць першы — гэта самы распаўсюджаны няправільны паварот у гэтай дыягностыцы. Выканайце прыведзеныя ніжэй праверкі па парадку і трымайце два кірункі асобна.

Назвіце далучэнне, перш чым чытаць любую табліцу

VPN Site-to-Site завяршаецца або на віртуальным прыватным шлюзе, або на транзітным шлюзе, і ідэнтыфікатары рэсурсаў вызначаюць, якая мадэль маршрутызацыі ўжываецца. Прачытайце іх першымі: aws ec2 describe-vpn-connections --vpn-connection-ids vpn-0123456789abcdef0 --query 'VpnConnections[].{Tunnels:VgwTelemetry,Gateway:GatewayId,Transit:TransitGatewayId}'. Адказ паведаміць, ці наступная табліца для праверкі — гэта табліца маршрутаў VPC ці табліца маршрутаў транзітнага шлюза.

Калі VPN далучаны да транзітнага шлюза, перастаньце разглядаць табліцу маршрутаў VPC як плоскасць кіравання. Там табліца VPC паказвае на далучэнне шлюза, а асацыяцыя і распаўсюджванне адбываюцца ў табліцы маршрутаў транзітнага шлюза. Змешванне двух поглядаў дае ўпэўненыя высновы пра няправільны аб'ект.

Кірунак ад AWS да офіса — гэта аб'ява

Для далучэння VGW шлюз аб'яўляе блокі CIDR, звязаныя з яго VPC, шлюзу кліента праз BGP. Даданне асобнага маршруту падсеткі або накіраванне маршруту на аднарангавую VPC ці на прыладу не дадае чарговага звязанага CIDR і не з'яўляецца ў гэтай аб'яве. Калі ў офісе не хапае прэфікса, параўнайце спіс атрыманых маршрутаў з асацыяцыямі VPC, перш чым рэдагаваць любую табліцу маршрутаў.

Простае правіла мае выключэнні, таму трымайце яго ў межах. Канфігурацыя VPN CloudHub можа паўторна аб'яўляць прэфіксы пляцовак паміж шлюзамі кліентаў, а транзітны шлюз прытрымліваецца ўласных правілаў распаўсюджвання. Сцвярджэнне, што VGW аб'яўляе толькі сваю VPC, — карыснае значэнне па змаўчанні, а не закон, які ахоплівае кожную тапалогію, якую вы сустрэнеце.

Кірунак ад офіса да AWS — гэта распаўсюджванне плюс выбар

У адваротным кірунку VGW даведваецца прэфікс офіса, але адно гэта не перамяшчае рабочую нагрузку. Табліца маршрутаў падсеткі павінна або мець уключанае распаўсюджванне для далучэння, або ўтрымліваць статычны маршрут да таго ж пункта прызначэння. Калі для аднаго прэфікса ёсць і тое, і другое, перамагае статычны маршрут, а супадзенне самага доўгага прэфікса выконваецца раней за любое з іх.

Чытайце паходжанне, а не дапушчайце яго: aws ec2 describe-route-tables --route-table-ids rtb-0123456789abcdef0 --query 'RouteTables[].Routes'. Запіс з паходжаннем EnableVgwRoutePropagation прыйшоў з BGP; запіс з паходжаннем CreateRoute быў уведзены чалавекам і будзе перамагаць, пакуль хтосьці яго не выдаліць.

Runbook, які трымае два кірункі асобна

Запішыце чатыры факты на баку AWS, перш чым нешта змяняць: тып далучэння, звязаныя блокі CIDR VPC, паходжанне маршруту падсеткі для разгляданага прэфікса, а таксама стан тунэля і BGP. Той жа выклік describe вяртае VgwTelemetry з колькасцю прынятых маршрутаў на тунэль, і гэта паказвае, ці прыняў AWS хоць нейкія маршруты. Затым параўнайце гэта з тым, што фактычна ўсталяваў кліенцкі прыбор. Прэфікс, прысутны ў BGP, але адсутны ў табліцы перасылкі, — гэта праблема лакальнага імпарту або найлепшага шляху, а не праблема табліцы маршрутаў AWS.

Калі ў табліцы падсеткі прэфікса цалкам няма, уключыце распаўсюджванне або дадайце статычны маршрут, затым перачытайце той жа запыт пасля інтэрвалу распаўсюджвання, а не дапушчайце, што змена адбылася імгненна. Калі прэфікс ёсць, а трафік усё ж не праходзіць, пакіньце плоскасць кіравання ў спакоі і пераходзьце да шляху даных.

Што не трэба змяняць, пакуль вы там

Не пераключайце распаўсюджванне на незвязаных табліцах маршрутаў, каб выправіць адзін адсутны прэфікс, і не дадавайце маршрут па змаўчанні, каб затушаваць адзін адсутны CIDR. Абедзве змены павялічваюць зону ўздзеяння і ўскладняюць наступную дыягностыку. Абмяжуйце праваку табліцай, якая абслугоўвае разгляданую падсетку рабочай нагрузкі.

Шлях даных асобны ад усяго гэтага. Групы бяспекі захоўваюць стан, сеткавыя ACL — не, а хоставы брандмаўэр або асіметрычны зваротны шлях могуць скінуць трафік, які маршрутызацыя даставіла правільна. Аб'яднаны агрэгат таксама не дае правоў кожнаму сэрвісу ўнутры яго, таму абмяжуйце доступ на мяжы палітыкі замест таго, каб спадзявацца на выпадковае з'яўленне адраса ў аб'яве BGP.

Захоўвайце стан да і пасля кожнага запыту табліцы маршрутаў у запісе змен. Калі змена пагоршыла становішча, аднавіце папярэднія маршруты і пацвердзіце тым жа запытам, бо адкат, які вы не можаце праверыць, — гэта толькі здагадка.

Падобныя артыкулы