App Engine Standard'ın Cloud VPN üzerinden özel bir veritabanına ulaşamadığı iddiası, platformun önceki neslinden kalan bir kalıntıdır. Standard örnekleri, bazı diğer çalışma ortamları gibi VPC'ye özgü bir adres almaz, ancak ağınızda bulunan bir Serverless VPC Access bağlayıcısı üzerinden egress gönderebilirler. Bu yol bir kez var olduğunda, Cloud VPN ve uzak güvenlik duvarı bağlayıcı trafiğini herhangi bir kaynak gibi görür. Başarısız olan nadiren yeteneğin kendisidir. Bu, hiç hizalanmayan üç ayardan biridir.

Eski cevap nereden geldi

Bağlayıcılar yokken pratik cevap gerçekten de Standard'ın yalnızca genel uç noktalarla konuşabildiğiydi ve ekipler bunu aşmak için proxy VM'e ya da başka bir çalışma ortamına geçti. Platform değişti, folklor değişmedi. İnternetteki birçok tavsiye hâlâ egress seçeneğinin hiç olmadığı dönemi yansıtıyor.

Düzeltme kulağa geldiğinden dar. Standard özel ağa ulaşabilir, ancak yalnızca desteklenen bir egress entegrasyonu aracılığıyla ve yalnızca bu entegrasyonun gerçekten yakaladığı hedefler için.

Önce egress yolunu seçin

Hizmete bağlı bir bağlayıcı, trafiğini VPC'ye sokan şeydir. Bağlayıcı belgeleri bölgesel ön koşulu ve egress ayarlarını listeler; bağlayıcı hizmetin bölgesinde bulunmalı ve dağıtımı yapan kimlik tarafından kullanılabilmelidir.

vpc_access_connector:
  name: projects/PROJECT_ID/locations/REGION/connectors/CONNECTOR_NAME
  egress_setting: private-ranges-only

private-ranges-only özel hedefleri VPC'ye gönderir ve geri kalan her şeyi normal internet yolunda bırakır; bir veritabanı bağlantısının genellikle ihtiyaç duyduğu şey budur. all-traffic giden trafiği VPC üzerinden geniş biçimde iter, bu nedenle sıradan internet çağrıları da VPC'nin NAT ve güvenlik duvarı duruşunu devralır.

Dosyayı yerel olarak düzenlemek, siz dağıtana kadar hiçbir şeyi değiştirmez. Çalışan bir sürüm, oluşturulduğu yapılandırmayı korur.

Kaynak adresi bağlayıcıdır, dizüstü bilgisayarınız değil

Hata ayıklama süresinin çoğu buraya gider. Uzak VPN geçidi ve veritabanı güvenlik duvarı, VPC içinde bağlayıcıya ayrılan aralığa izin vermelidir, ofis adresinize veya hizmetin genel egress adresine değil. Tek bir kural yazmadan önce o aralığı konsolda arayın.

İki yer daha aynı fikirde olmalı. VPC yönlendirme tablosunun uzak veritabanı ağına bir rotaya ihtiyacı vardır ve uzak tarafın bağlayıcı aralığı için bir dönüş rotasına ihtiyacı vardır. Tünel trafik seçicileri kullanıyorsa, bağlayıcı aralığının görüşülen kapsam içinde olduğunu doğrulayın. Yalnızca uzaktan yerele yönde var olan bir rota yaygın bir eksikliktir ve ping'leri geçirir ama TCP el sıkışmasını asla tamamlamaz.

Yalnızca bir VM alt ağını kabul eden bir tünel, bağlayıcının paketlerini işe yarar bir hata mesajı olmadan düşürür, bu yüzden veritabanı zaman aşımı bir kimlik bilgisi sorunu gibi görünür.

DNS farklı bir yol izler

Özel bir veritabanı ana bilgisayar adı, bağlayıcının ulaştığı ağ içinde, Cloud DNS eşlemesi veya VPC'nin kullanabileceği bir yönlendirme bölgesi aracılığıyla çözülmelidir. Çalışma istasyonunuzda çözmek, dağıtılan hizmet hakkında hiçbir şey kanıtlamaz, çünkü dizüstü bilgisayarınız o çözümleyiciyi kullanmıyor.

Ad VPC içinden genel bir adrese çözülüyorsa, yanlış güvenlik duvarında hata ayıklamak üzeresiniz.

URL Fetch bağlayıcıyı kullanmaz

Egress ayarı çalışma ortamının normal giden soketlerini kapsar ve eski URL Fetch hizmeti bu yolun parçası değildir. urlfetch üzerinden verilen bir istek, yapılandırma ne derse desin bağlayıcıyı yok sayar. Başarısız çağrı hâlâ URL Fetch kullanan eski bir kitaplığın içindeyse, düzeltme o çağrıyı standart HTTP istemcisine taşımaktır.

Bir veritabanı sürücüsü için bu nadiren sorundur, ancak aynı hizmetten bir uç noktanın çalışıp diğerinin çalışmamasının klasik nedeni budur.

Tek bir dar sorguyla doğrulayın

Dağıtın, ardından uzak tarafı izlerken dağıtılan sürümden izin verilen tek bir veritabanı işlemi çalıştırın. Veritabanının veya VPN geçidinin günlüğe kaydettiği kaynak adresi bağlayıcınınki olmalıdır. Değilse, istek VPC'ye hiç girmedi ve hiçbir tünel yapılandırması bunu düzeltmez. Konsolda aradığınız aralıkla karşılaştırın; uyuşmazlık genellikle sürüme ikinci bir bağlayıcının hizmet ettiği anlamına gelir.

VPC içindeki bir VM'den başarılı bir sorgu rotanın var olduğunu kanıtlar. Hizmetin onu seçtiğini kanıtlamaz.

İlgili makaleler