Cloud Run кон локален VPN: поставување директен VPC излез
Тунелот Cloud VPN не го става Cloud Run на мрежата. Поврзете ја услугата со вистинската подмрежа, рутирајте го нејзиниот опсег на извор, потоа тестирајте ја таа ревизија.
Тунелот е активен, виртуелна машина стигнува до локалниот сервер, а услугата Cloud Run истекува на истиот домаќин. Тоа е вообичаената почетна точка за оваа задача и тунелот ретко е она што е погрешно. Ревизијата Cloud Run по правило не се наоѓа во вашиот VPC, а кога ќе се најде, ги користи сопствените изворни адреси наместо подмрежата на виртуелната машина што веќе сте ја рутирале. Упатството подолу ја поврзува услугата, го рутира нејзиниот вистински опсег на извор и потоа го докажува патот од ревизијата што го опслужи барањето. Изведете го по тој редослед, бидејќи прескокнувањето на првиот чекор е причината зошто толку многу од овие случаи завршуваат со промена на VPN што ништо не поправа.
Поврзете ја ревизијата пред да го дебагирате тунелот
Cloud Run поддржува директен VPC излез, што го става сообраќајот на услугата на подмрежа во вашиот VPC без конектор Serverless VPC Access. За постоечка услуга ажурирањето изгледа вака:
gcloud run services update SERVICE \
--region=REGION --network=NETWORK --subnet=SUBNET \
--vpc-egress=private-ranges-only
Заменете ги местачите, прегледајте што распоредувањето прави со живиот сообраќај и изберете подмрежа во регионот на услугата со доволен капацитет на адреси и правилни мрежни дозволи.
Изберете режим на излез што одговара на дестинацијата
private-ranges-only ги испраќа дестинациите што ги класифицира како приватни преку VPC. Тоа не значи „сè што е достапно преку VPN“, и таа празнина се појавува кога локалната услуга е во опсег што поставката не го класифицира така. Ако дестинацијата не е покриена, all-traffic е другиот документиран режим, и тој испраќа сè преку VPC, вклучувајќи ги јавните зависности на услугата. Изберете свесно и запишете ја последицата во записот за промена.
Услуга што веќе користи конектор бара миграција, а не прекинувач, затоа планирајте ја наместо да конфигурирате и двете.
Рутирајте го изворот на Cloud Run, не изворот на виртуелната машина
Директниот VPC излез доделува привремени адреси од избраната подмрежа, а локалната страна мора да го врати сообраќајот во тој опсег. Повратен пат или дозвола на огнен ѕид напишани за друга подмрежа на виртуелна машина ќе изгледаат точно на дијаграмот и ќе не успеат во практиката. Земете го CIDR на подмрежата од VPC, а не од меморија, потоа потврдете дека крипто ACL или табелата за рутирање на далечинскиот уред го вклучува.
Со динамично рутирање, проверете што Cloud Router навистина рекламира и што VPC увезува, вклучувајќи ја секоја приспособена политика за рекламирање. Рута што постои во конзолата, но не е избрана за оваа дестинација, е исто како да нема рута.
Три услови што мора сите да важат
Работниот пат бара сето следново, и секој од нив не успева на свој начин:
- Рута во VPC кон локалниот префикс преку предвидената врска Cloud VPN.
- Повратна рута на локалната страна за подмрежата Cloud Run.
- Опсег на заштита на огнен ѕид и IPsec што ги дозволува изворот, дестинацијата и портата.
Рута што недостасува обично изгледа како истек на време без докази на далечинската страна. Проблем со повратната рута изгледа како барање што пристигнува и одговор што исчезнува. Проблем со огнениот ѕид или селекторот може да изгледа како одбивање или како тивко отфрлање, зависно од уредот. Откривањето кој од трите е вашиот случај значително ја стеснува следната команда.
Не ставајте една привремена адреса на Cloud Run на списокот на дозволени. Користете го опсегот на подмрежата и дизајн на авторизација што одговара на апликацијата.
Тестирајте ја ревизијата што го опслужи барањето
Пред тестирањето проверете ги распоредените мрежни поставки и распределбата на сообраќајот, бидејќи ажурирањето може да создаде нова ревизија додека барањата сè уште стигнуваат до постара. Потоа изведете ја истата операција што ја изведува барањето на корисникот, од таа ревизија. Ако дестинацијата е приватно име на домаќин, проверете го неговото разрешување во таа околина и адресата што ја даде, бидејќи одговорот на корпоративниот DNS од вашиот лаптоп не докажува ништо за именскиот простор на услугата. Задржете ја проверката на името на домаќинот TLS и сопствената автентикација на далечинската апликација.
Очекувајте ги документираните доцнења на поврзување при стартување на Direct VPC и дајте му на клиентот стратегија за подготвеност или повторен обид наместо секој ладен старт да го дијагностицирате како расипан тунел.
Враќање и што ова не прави
За враќање, вратете ги мрежните поставки и поставките за излез на услугата на нивните претходни вредности и потврдете дека постарата ревизија сè уште опслужува сообраќај. Зачувајте ја командата gcloud во записот за промена, бидејќи обратното од делумна промена не е очигледно по шест недели. Отстранувањето на поврзувањето со VPC ја враќа услугата на нејзиниот претходен пат на излез, што може да биде токму она што го сакате за време на инцидент.
Овој дизајн ги опфаќа врските што Cloud Run ги иницира и нивните одговори. Тој не му дава на локалната мрежа адресирачки сокет внатре во услугата, бидејќи изложеноста навнатре е одлука за ingress.