Google API преко VPN-а: усмерите VIP, не само подмрежу
Рута до подмреже у VPC-у не бира VIP адресе API-ја. Решите права имена, оглашавајте VIP префикс, задржите повратну путању у VPC-у и затим тестирајте HTTPS.
Уђите SSH-ом на локални сервер, подигните тунел и приватна VM одговара; затим први позив ка Google API-ју не успева без руте. Подмрежа VM-а и VIP адресе API-ја су различита одредишта, па рута за једно не бира друго. Три услова морају да важе пре него што приватни позив API-ја може да ради. Име API-ја мора да се реши у VIP, VIP префикс мора да се оглашава кроз тунел, а VPC мора да зна како да пошаље одговор назад. Ping вам ништа од тога не каже, а ни радна SSH сесија ка машини у подмрежи.
VIP адресе API-ја су одвојена одредишта
Google објављује наменске VIP адресе за приступ API-ју из локалне мреже, и то су адресе које ваш DNS мора да врати за имена API-ја. Обе су мали префикси и ниједна није простор RFC 1918:
| Record | Resolves to | What it does not give you |
|---|---|---|
| private.googleapis.com | 199.36.153.8/30, the general front door for Google APIs | not a bypass around a service perimeter |
| restricted.googleapis.com | 199.36.153.4/30, reachable only for services a perimeter allows | not the whole API surface, so some names stay out of reach |
Адресе које изгледају јавно не значе да рута треба да напусти тунел за обичан интернет. Префикси постоје да би локални клијент дошао до Google-ових фронтендова подржаним путем уместо произвољне излазне тачке. Третирајте их као одредишта која припадају тунелу, а не као хостове за испитивање. Правило заштитног зида написано за излаз на интернет обично их одбацује, и то је чест разлог зашто позив не успе пре него што почне.
DNS одлучује до које крајње тачке стижете
Усмерите локални резолвер на записе које Google документује за изабрану крајњу тачку, тако да имена која апликацији требају одговарају тим VIP-ом. Само googleapis.com није инвентар: регистри пакета, регистри контејнера и конектори за миграцију имају своја документована имена. Ни ограничени VIP не носи сваку услугу, па име које се реши може и даље бити неподржано. Запишите домене са којима апликација стварно контактира пре него што дотакнете резолвер.
Погађање адресе VM-а у VPC-у као замене за име услуге није поправка и обично скрива празнину у DNS-у док не падне други клијент.
Оглашавајте VIP префикс, задржите остало
Уз везу засновану на BGP-у, Cloud Router мора да оглашава изабрани VIP префикс како би локални рутер научио тај опсег кроз предвиђену сесију. Оглашавање само VPC подмрежа не додаје тај опсег, а локални рутер наставља да користи своју подразумевану путању за те адресе. Префикс у табели рутирања једини је доказ да је оглас прешао сесију.
Задржите постојеће огласе док додајете нови, јер опције на нивоу рутера и на нивоу партнера имају различит домет, а замена скупа може да повуче мреже које су већ радиле. Затим проверите ефективни оглас на свакој сесији, а не на рутеру као целини. Префикс који недостаје и повучени префикс изгледају исто са локалне стране, па управо приказ сесије раздваја пропуст од регресије.
Страна VPC-а захтева сопствену руту и повратну путању
Унутар VPC-а, путања до VIP-а мора да користи подразумевани интернет гејтвеј као следећи хоп, и упркос имену тај саобраћај остаје у Google-овој мрежи. VPC такође захтева руту назад ка локалном извору кроз VPN, а то је одвојен објекат од оглашеног префикса. Узмите у обзир документоване регионалне захтеве рутирања када тунел и клијент нису у истом региону.
Проверите повратну путању независно, јер смер захтева који ради може да сакрије покварен смер одговора. Два смера, две руте, и свака не успева са својим симптомом.
Тестирајте захтев, затим прочитајте одбијање
ICMP ехо не добија одговор од ових VIP адреса, па неуспешан ping ништа не доказује, а успешан веома мало. Са стварног клијента проверите одговор имена и изабрану руту, затим упутите овлашћени HTTPS захтев услузи која вас занима. Ако захтев стигне до услуге и буде одбијен, погледајте акредитиве, IAM и сваку примењиву политику периметра услуге.
Приватно рутирање не даје ауторизацију за API и не мења шта идентитету сме да ради. Успех транспорта и овлашћени одговор су одвојени резултати и потребни су вам оба. Држите и IPv6 путању експлицитном, јер конфигурисање IPv4 префикса не каже ништа о клијенту који преферира IPv6.
Google-ов водич за Private Google Access из локалне мреже заједно покрива DNS записе и захтеве рутирања, зато упоредите подешавања резолвера и оглашавања са њим, а не са објавом на форуму. Затим поновите исти захтев и запишите одговор и руту у истом тикету.