Bir uygulamayı Serverless App Engine (SAE) içinde dağıttıktan sonra, uygulamaya sabit bir erişim uç noktası sağlamak amacıyla bir Network Load Balancer (NLB) örneği bağlayabilirsiniz. Bu konu, bir SAE uygulamasına NLB örneğinin nasıl bağlanacağını açıklar.
Arka plan
Varsayılan olarak SAE uygulamalarına genel ağdan erişilemez. Bir Virtual Private Cloud (VPC) içindeki bir uygulamaya örneğin özel IP adresini kullanarak erişebilirsiniz; ancak bu yöntem güvenilir değildir çünkü uygulama güncellemeleri veya yeniden başlatmalar sırasında IP adresi değişebilir. Bu sorunları çözmek için uygulamanıza genel veya özel bir NLB örneği bağlayabilirsiniz. NLB örneği bağladığınızda, uygulamaya erişmek için sabit bir alan adı kullanabilir ve trafiği farklı alanlar ile SAE örnekleri arasında verimli bir şekilde yük dengeleyebilirsiniz.
Bir uygulamaya NLB örneği bağlamadan önce Network Load Balancer'ın (NLB) çalışma mantığını ve performans ile kullanım sınırlamalarını inceleyin.
-
SAE içinde NLB hizmetini kullandığınızda NLB örneği için ek ücretler yansıtılır.
ÖnemliSAE konsolunda bir NLB örneğini siler ancak Server Load Balancer (SLB) konsolundan da silmezseniz ücretlendirmeye devam edilir. NLB örneğini SLB konsolundan silme talimatları için NLB örneğini silme bölümüne bakın.
Genel bakış
SAE uygulamaları genel veya özel NLB örneklerine bağlanmayı destekler. İş ihtiyaçlarınıza göre farklı ağ türlerindeki NLB örneklerini SAE uygulamanızla ilişkilendirebilirsiniz.
Özel NLB örneği bağlama: Temel amaç, SAE uygulaması için sabit bir erişim adresi (DNS adı) sağlamak ve round-robin gibi bir yük dengeleme algoritması kullanarak trafiği SAE uygulamasının örneklerine dağıtmaktır. Yaygın kullanım senaryoları arasında dahili mikroservis iletişimi, veritabanı erişimi ve kurumsal intranet erişimi yer alır.
-
Genel NLB örneği bağlama: Varsayılan olarak SAE, genel ağdan doğrudan erişimi desteklemez. Uygulamanıza genel bir NLB örneği bağlayarak genel ağdan gelen trafiği karşılamak üzere sabit bir genel uç nokta sağlayabilirsiniz. Genel erişim iş akışı aşağıdaki şekilde gösterilmiştir.
Adım 1: NLB örneği ekleme
Uygulamalar sayfasında üst gezinti çubuğundan bir bölge ve ad alanı seçin, ardından hedef uygulamanın Application ID değerine tıklayarak uygulama ayrıntıları sayfasını açın.
Basic Information sayfasında application access settings bölümünü bulun. NLB-based Access sekmesinde Add NLB Access öğesine tıklayın.
-
Add NLB Access panelinde parametreleri aşağıdaki gibi yapılandırın ve OK seçeneğine tıklayın.
NotSAE, yeni bir NLB örneği oluşturmanıza veya mevcut olanı bağlamanıza olanak tanır. İhtiyaçlarınıza göre bir seçenek belirleyin.
Yeni NLB örneği oluşturun: SAE sizin adınıza otomatik olarak bir NLB örneği satın alır. NLB örneğinin ayrıntılarını Server Load Balancer (SLB) konsolunda görüntüleyebilirsiniz.
Mevcut NLB örneğini bağlayın: Önceden SLB konsolunun Instances sayfasında bir NLB örneği oluşturmanız gerekir. Özel bir NLB örneği oluşturmak istiyorsanız hem NLB örneği hem de SAE uygulaması için aynı Virtual Private Cloud (VPC) kullanmanızı öneririz. Farklı VPC'lerde bulunuyorlarsa aralarında iletişim sağlamak amacıyla ağı yapılandırmanız gerekir. Örneğin, VPC'ler arası iletişimi etkinleştirmek için Alibaba Cloud'un Cloud Enterprise Network (CEN) ürününü veya diğer ağ bağlantısı ürünlerini kullanabilirsiniz.
Yeni NLB örneği oluşturma
instance source için Create Instance seçeneğini belirleyin.
-
Network Type için ihtiyacınıza göre Public veya Private seçeneğini belirleyin.
Public seçerseniz sistem genel bir NLB örneği oluşturur ve her alana bir Elastic IP Address ile bir VIP tahsis eder.
Private seçerseniz sistem özel bir NLB örneği oluşturur ve her alana bir VIP tahsis eder.
-
İş gereksinimlerinize göre vSwitch'lerinizin bulunduğu alanları seçin. Yüksek kullanılabilirlik için en az iki alan seçin.
Bir Virtual Private Cloud (VPC) seçemezsiniz. Hedef uygulamanın VPC'si varsayılan olarak kullanılır.
-
Desteklenen protokol türleri TCP, UDP ve TCPSSL'dir.
Protokol türü
Parametre
Örnek
TCP
Dinleyici bağlantı noktası: İstekleri alan ve bunları arka uç sunucularına ileten bağlantı noktası.
Konteyner bağlantı noktası: Uygulama işleminin dinlediği bağlantı noktası.
Dinleyici bağlantı noktası: 80
Konteyner bağlantı noktası: 8080 (web hizmetleri için varsayılan bağlantı noktası)
UDP
TCPSSL
Dinleyici bağlantı noktası: İstekleri alan ve bunları arka uç sunucularına ileten bağlantı noktası.
Konteyner bağlantı noktası: Uygulama işleminin dinlediği bağlantı noktası.
SSL sertifikası seçin: Bir SSL protokolü sertifikası. Açılan listeden yüklenmiş bir SSL sertifikası seçin.
NotHTTPS üzerinden özel bir alan adına erişmek için alan adının Alibaba Cloud'da ICP kaydı olması gerekir. Daha fazla bilgi için ICP kayıt süreci konusuna bakın.
Dinleyici bağlantı noktası: 80
Konteyner bağlantı noktası: 8080 (web hizmetleri için varsayılan bağlantı noktası)
SSL sertifikası seçin: Açılan listeden satın alınmış bir SSL sertifikası seçin. SSL sertifikası satın almadıysanız Sertifika satın alma konusuna bakın.
Mevcut NLB örneğini bağlama
instance source için Use Existing seçeneğini belirleyin.
-
NLB Instance açılır listesinden oluşturduğunuz NLB örneğini seçin.
Henüz bir NLB örneği oluşturmadıysanız Create NLB Instance seçeneğine tıklayın. Ardından SLB konsolunun Instances sayfasında NLB örneği oluşturun .
-
Desteklenen protokol türleri TCP, UDP ve TCPSSL'dir.
Protokol türü
Parametre
Örnek
TCP
Dinleyici bağlantı noktası: İstekleri alan ve bunları arka uç sunucularına ileten bağlantı noktası.
Konteyner bağlantı noktası: Uygulama işleminin dinlediği bağlantı noktası.
Dinleyici bağlantı noktası: 80
Konteyner bağlantı noktası: 8080 (web hizmetleri için varsayılan bağlantı noktası)
UDP
TCPSSL
Dinleyici bağlantı noktası: İstekleri alan ve bunları arka uç sunucularına ileten bağlantı noktası.
Konteyner bağlantı noktası: Uygulama işleminin dinlediği bağlantı noktası.
SSL sertifikası seçin: Bir SSL protokolü sertifikası. Açılan listeden yüklenmiş bir SSL sertifikası seçin.
NotHTTPS üzerinden özel bir alan adına erişmek için alan adının Alibaba Cloud'da ICP kaydı olması gerekir. Daha fazla bilgi için ICP kayıt süreci konusuna bakın.
Dinleyici bağlantı noktası: 80
Konteyner bağlantı noktası: 8080 (web hizmetleri için varsayılan bağlantı noktası)
SSL sertifikası seçin: Açılan listeden satın alınmış bir SSL sertifikası seçin. SSL sertifikası satın almadıysanız Sertifika satın alma konusuna bakın.
-
NLB örneği oluşturulduktan sonra durumunu application access settings bölümündeki NLB-based Access sekmesinde görüntüleyebilirsiniz.
Birden çok NLB örneği eklemek istiyorsanız Add NLB Access seçeneğine tıklayın ve daha fazla örnek eklemek için yukarıdaki adımları izleyin.
ÖnemliAynı NLB örneği için hem SAE hem de Server Load Balancer (SLB) konsollarında dinleyici kuralları yapılandırmak çakışmalara neden olabilir çünkü bir konsoldaki ayarlar diğer konsoldakilerin üzerine yazılabilir. Yapılandırma çakışmalarını önlemek için NLB örneklerinin dinleyici kurallarını yalnızca SAE konsolunda yapılandırmanızı öneririz.
NLB örneğinde aşağıdaki işlemleri yapabilirsiniz:
Dinleyici ekle: Add Listener seçeneğine tıklayın. Add Listener iletişim kutusunda bir protocol type seçin ve parametreleri yapılandırın.
Konteyner bağlantı noktasını değiştirin: NLB örneğinin Actions sütununda Edit seçeneğine tıklayın. Edit NLB Access panelinde container port değerini değiştirebilirsiniz.
-
Bir dinleyiciyi veya NLB örneğini silin: NLB örneğinin Actions sütununda Delete seçeneğine tıklayın. Confirm Deletion iletişim kutusunda ilgili dinleyici kuralını veya NLB örneğini silmek için OK seçeneğine tıklayın.
Aynı NLB örneği için birden çok dinleyici kuralı eklerseniz silme işlemi yalnızca ilgili dinleyici kuralını kaldırır. Son dinleyici kuralını sildiğinizde kalan dinleyici kuralı olmadığından NLB örneği otomatik olarak silinir.
-
NLB örneğini görüntüleyin: NLB örneğinin adına tıklayarak SLB konsolundaki NLB örneğinin Instance Details sayfasına gidin. Her alana tahsis edilen Elastic IP Address ve VIP ile NLB örneği için otomatik olarak oluşturulan DNS name gibi NLB örneğinin ayrıntılarını görüntüleyebilirsiniz.
Erişimi test etmek için NLB örneği tarafından sağlanan DNS name veya alan için sağlanan Elastic IP Address değerini kullanabilirsiniz.
Bağlantı noktası dinleme adresiyle ilgili sorunları giderme
Bir NLB örneği bağladıysanız ancak NLB örneğinin DNS name veya Elastic IP Address değeri üzerinden uygulama bağlantı noktasına erişemiyorsanız uygulama bağlantı noktasının dinleme adresini kontrol edin:
Uygulama örneğinin konteynerine oturum açmak için Webshell kullanın ve bağlantı noktası dinleme durumunu kontrol etmek amacıyla
netstat -npltkomutunu çalıştırın.Hedef container port için dinleme adresini kontrol edin. Dinleme adresi
127.0.0.1:<container port>ise uygulama işlemi yalnızca localhost üzerinde dinler ve NLB örneği trafiği bu bağlantı noktasına iletemez.İşlemin tüm ağ arabirimlerinde dinlemesini sağlamak üzere dinleme adresini
127.0.0.1değerinden0.0.0.0değerine değiştirmek için uygulama kodunu düzenleyin.Uygulamayı yeniden dağıtın ve ardından NLB örneğini tekrar bağlayın. Uygulama bağlantı noktası NLB örneği üzerinden erişilebilir hale gelir.
Adım 2: Alan adı çözümlemesini yapılandırma
NLB örneği tarafından sağlanan DNS adı erişim testi için kullanılabilir. Ancak üretim ortamlarında özel bir alan adı kullanmanızı ve bunu NLB örneğinin DNS adına eşlemek için bir CNAME kaydı eklemenizi öneririz.
application access settings bölümünde oluşturulan NLB örneğinin adına tıklayarak SLB konsolundaki ayrıntılar sayfasını açın.
-
SLB konsolundaki NLB örneğinin Instance Details sayfasında DNS name değerini kopyalayın.
NLB örneği tarafından sağlanan DNS adı, alan adı çözümlemesi yapılandırırken kayıt değeri olarak kullanılır.
-
Alibaba Cloud DNS konsolunda oturum açın ve bir CNAME kaydı ekleyin.
NotAlan adınız Alibaba Cloud'da kayıtlı değilse alan adı çözümlemesini yapılandırmadan önce onu Alibaba Cloud DNS konsoluna eklemeniz gerekir. Alan adınız Alibaba Cloud'da kayıtlıysa aşağıdaki adımlarla devam edin.
Authoritative Domains sayfasında hedef alan adını bulun ve Actions sütununda Configure seçeneğine tıklayın.
Configure sayfasında Add Record seçeneğine tıklayın.
-
Add Record panelinde CNAME yapılandırmasını tamamlamak için aşağıdaki parametreleri yapılandırın ve OK seçeneğine tıklayın.
Parametre
Örnek
Açıklama
Type
CNAMEAçılan listeden CNAME seçeneğini belirleyin.
Bir CNAME kaydı özel alan adınızı NLB örneği tarafından sağlanan DNS adına eşler.
Host
wwwOluşturduğunuz alt alan adının önekini girin.
Ana bilgisayar kaydıyla ilgili ayrıntılı açıklama için konsol açıklamasına bakın.
Çözümleme İsteği Kaynağı
VarsayılanDefault seçeneğini belirleyin.
Alibaba Cloud DNS, bir DNS isteğinin kaynak IP adresinin (genellikle bir operatörün Yerel DNS'inin IP adresi) bölgesini ve operatörünü tanımlayabilir. Bir kayıt eklerken farklı bölgelerden veya operatör ağlarından gelen istekler için farklı kayıt değerleri döndürebilirsiniz.
Value
nlb-****.comNLB örneği tarafından sağlanan DNS adını girin.
Kayıt değeri, CNAME kaydının işaret ettiği alan adıdır.
TTL
10 dakikaKonsol tarafından sağlanan varsayılan değeri kullanın.
TTL (Time to Live), bir DNS kaydının bir DNS sunucusunda önbelleğe alındığı süredir.
Adım 3: Erişimi test etme
Erişimi test etmek için bir tarayıcıya özel alan adınızı girin. Örneğin, http://your_domain_name.
Hello, World!
Kaynakları temizleme (isteğe bağlı)
NLB örneğini silme
SAE konsolundaki hedef uygulamanın Basic Information sayfasında application access settings bölümünde NLB örneğinin adına tıklayarak SLB konsolundaki örnek ayrıntıları sayfasını açın.
NLB örneği ayrıntıları sayfasında sağ üst köşede seçeneklerini belirleyin. Release Instance iletişim kutusunda Confirm seçeneğine tıklayın.
SAE konsolundaki hedef uygulamanın Basic Information sayfasına dönün. application access settings bölümünde NLB örneğinin Actions sütununda Delete seçeneğine tıklayın. Confirm Deletion iletişim kutusunda NLB örneğini silmek için OK seçeneğine tıklayın.
Aynı NLB örneği için birden çok dinleyici kuralı eklediyseniz SAE konsolunda NLB örneğini silebilmeniz için önce tüm dinleyici kurallarını silmeniz gerekir.
NLB örneğini yalnızca SAE konsolunda silerseniz ücretlendirmeye devam edilir.
Alan adı çözümleme kaydını silme
Alibaba Cloud DNS konsolunda eklediğiniz alan adı çözümleme kaydını silin.