App Engine var sasniegt jūsu VPN datubāzi: kam jāsakrīt
Standarta App Engine patiešām sasniedz datubāzi caur Cloud VPN, bet tikai tad, ja sakrīt egress, avota diapazons un pieprasījuma ceļš. Lūk, kas jāsaskaņo.
Apgalvojums, ka App Engine Standard nevar sasniegt privātu datubāzi caur Cloud VPN, ir iepriekšējās platformas paaudzes palieka. Standard instances nesaņem VPC raksturīgu adresi kā dažas citas izpildlaika vides, taču tās var sūtīt egress caur jūsu tīklā esošo Serverless VPC Access savienotāju. Kad šis ceļš pastāv, Cloud VPN un attālā ugunsmūra redz savienotāja trafiku kā jebkuru citu avotu. Neveicas reti pati iespēja. Tas ir viens no trim iestatījumiem, kas nekad netika saskaņoti.
No kurienes nāca vecā atbilde
Pirms savienotāji pastāvēja, praktiskā atbilde patiešām bija tāda, ka Standard var runāt tikai ar publiskiem galapunktiem, un komandas pārgāja uz starpniekservera VM vai citu izpildlaika vidi, lai to apietu. Platforma mainījās, folklora nē. Daudzi tiešsaistes padomi joprojām atspoguļo laikmetu, kad egress iespējas vispār nebija.
Labojums ir šaurāks, nekā izklausās. Standard var sasniegt privāto tīklu, bet tikai ar atbalstītu egress integrāciju un tikai tiem galamērķiem, kurus šī integrācija patiešām uztver.
Vispirms izvēlieties egress ceļu
Pakalpojumam piesaistīts savienotājs ir tas, kas ievieto tā trafiku VPC. Savienotāja dokumentācija uzskaita reģionālo priekšnosacījumu un egress iestatījumus; savienotājam jāpastāv pakalpojuma reģionā un jābūt izmantojamam izvietošanas identitātei.
vpc_access_connector:
name: projects/PROJECT_ID/locations/REGION/connectors/CONNECTOR_NAME
egress_setting: private-ranges-only
private-ranges-only sūta privātos galamērķus uz VPC un atstāj visu pārējo parastajā interneta ceļā, kas parasti ir nepieciešams datubāzes savienojumam. all-traffic plaši izspiež izejošo trafiku caur VPC, tāpēc parastie interneta izsaukumi arī pārmanto VPC NAT un ugunsmūra pozīciju.
Faila lokāla rediģēšana neko nemaina, līdz izvietojat. Darbībā esošā versija saglabā konfigurāciju, ar kuru tā tika izveidota.
Avota adrese ir savienotājs, nevis jūsu klēpjdators
Šeit aiziet lielākā daļa atkļūdošanas laika. Attālajai VPN vārtejai un datubāzes ugunsmūrim VPC iekšienē ir jāatļauj savienotājam piešķirtais diapazons, nevis jūsu biroja adrese un nevis pakalpojuma publiskā egress adrese. Pirms rakstāt kaut vienu noteikumu, atrodiet šo diapazonu konsolē.
Vēl divām vietām jāsaskan. VPC maršrutēšanas tabulai vajag maršrutu uz attālo datubāzes tīklu, un attālajai pusei vajag atgriešanās maršrutu savienotāja diapazonam. Ja tunelis izmanto trafika selektorus, apstipriniet, ka savienotāja diapazons atrodas sarunātajā tvērumā. Maršruts, kas pastāv tikai virzienā no attālā uz lokālo, ir bieža kļūda, un tas laiž cauri pingus, bet nekad nepabeidz TCP rokasspiedienu.
Tunelis, kas pieņem tikai VM apakštīklu, izmetīs savienotāja paketes bez noderīga kļūdas ziņojuma, tāpēc datubāzes taimauts izskatās pēc akreditācijas datu problēmas.
DNS ceļo pa citu ceļu
Privātas datubāzes resursdatora nosaukumam jāatrisinās tīklā, kuru sasniedz savienotājs, izmantojot Cloud DNS savienošanu pārī vai pārsūtīšanas zonu, ko VPC var izmantot. Tā atrisināšana jūsu darbstacijā neko nepierāda par izvietoto pakalpojumu, jo jūsu klēpjdators neizmanto šo risinātāju.
Ja nosaukums no VPC iekšienes atrisinās uz publisku adresi, jūs tūlīt atkļūdosiet nepareizo ugunsmūri.
URL Fetch neizmanto savienotāju
Egress iestatījums aptver izpildlaika parastos izejošos ligzdas, un mantotais URL Fetch pakalpojums nav šī ceļa daļa. Pieprasījums, kas izdots caur urlfetch, ignorē savienotāju, lai ko teiktu konfigurācija. Kad neveiksmīgais izsaukums atrodas vecākā bibliotēkā, kas joprojām izmanto URL Fetch, risinājums ir pārvietot šo izsaukumu uz standarta HTTP klientu.
Datubāzes draiverim tas reti ir problēma, bet tas ir klasiskais iemesls, kāpēc viens galapunkts strādā, bet otrs ne no tā paša pakalpojuma.
Pārbaudiet ar vienu šauru vaicājumu
Izvietojiet, pēc tam izpildiet vienu atļautu datubāzes darbību no izvietotās versijas, vērojot attālo pusi. Avota adresei, ko reģistrē datubāze vai VPN vārteja, jābūt savienotāja adresei. Ja tā nav, pieprasījums nekad nav iekļuvis VPC, un nekāda tuneļa konfigurācija to neizlabos. Salīdziniet to ar diapazonu, ko meklējāt konsolē; neatbilstība parasti nozīmē, ka versiju apkalpo otrs savienotājs.
Veiksmīgs vaicājums no VM VPC iekšienē pierāda, ka maršruts pastāv. Tas nepierāda, ka pakalpojums to izvēlējās.