Bu kılavuzda aşağıdakilerin nasıl yapılacağı açıklanmaktadır:
- Google Cloud Platform (GCP) App Engine üzerinde etiketleme sunucusu hazırlayın.
- Canlı trafiği yönetmek için etiketleme sunucusunu yeni sürüme geçirin.
- Google Etiket Yöneticisi kapsayıcınızı çalıştıran sunucuların sayısını artırın veya azaltın.
- Sunucu temel hazırlığını yaptıktan sonra etiketleme sunucunuzun sürümünü güncel tutun.
Ön koşullar
- GCP hesabına ihtiyacınız vardır. Hesabınız yoksa yeni bir GCP hesabı oluşturun.
- GCP faturalandırma hesabınız olmalıdır. Hesabınız yoksa GCP faturalandırma hesabı oluşturun (Faturalandırma Hesabı Oluşturucu rolünü gerektirir).
- Proje Oluşturucu ve Faturalandırma Hesabı Kullanıcısı rollerine sahip olmanız gerekir. Rol ekleme hakkında daha fazla bilgi edinin.
1. Sunucu sağlama
Bir App Engine örneğinde yeni etiketleme sunucusu oluşturmak için şunları yapmanız gerekir:
- Etiket Yöneticisi'nde yeni bir sunucu kapsayıcısı oluşturma
- Yeni bir Google Cloud Projesi (GCP) oluşturun
- Yeni bir App Engine etiketleme sunucusunun temel hazırlığını yapma
- Yeni etiketleme sunucusunun URL'sini Etiket Yöneticisi sunucu kapsayıcısına ekleyin
Google Etiket Yöneticisi sunucu kapsayıcısı oluşturma
Google Etiket Yöneticisi'ni açın.
Hesap satırında taşma menüsü > Kapsayıcı Oluştur'u tıklayın.
Yeni bir sunucu kapsayıcısı oluşturun.
"Etiketleme sunucusunu manuel olarak hazırla" radyo düğmesini tıklayın. Container yapılandırmasını not edin. Sunucunuzun temel hazırlığını yapmak için bu şifreye ihtiyacınız olacaktır.
Yeni bir GCP projesi oluşturun
Etiketleme sunucunuz için yeni bir GCP projesi oluşturmak istiyorsanız:
Google Cloud Console'u açın.
Projenize ad verin. Size kolaylık sağlaması için kapsayıcı kimliğinizi kullanmanızı öneririz. Bu ad yalnızca GCP'de kullanılır.
Etiketleme sunucunuzu oluşturmak için ihtiyacınız olacağından GCP proje kimliğini not edin.
Yeni bir etiketleme sunucusunun temel hazırlığını yapma
Etiketleme sunucunuzu oluşturmak için:
Cloud Shell'i açın.
Cloud Shell'de GCP projesini ayarlayın.
project ID
kısmını daha önce not ettiğiniz GCP projesi kimliğiyle değiştirin:gcloud config set project project ID
Kabuk komut dosyasını izleyerek etiketleme sunucunuzu oluşturun. Dağıtım türünü
testing
olarak ayarlayın.bash -c "$(curl -fsSL https://googletagmanager.com/static/serverjs/setup.sh)"
Etiketleme sunucusu URL'sini Etiket Yöneticisi'ne ekleme
Google Etiket Yöneticisi'ni açın.
Yönetici > Kapsayıcı Ayarları'nda, URL ekle'yi tıklayın. Sunucunuzun URL'sini bilmiyorsanız Cloud Shell'de aşağıdaki komutu çalıştırın:
gcloud app browse
Sonuç: Etiketleme sunucusu oluşturdunuz ve bu sunucuyu bir
testing
yapılandırmasıyla hazırladınız. Artık sunucu tarafı etiketlemeyi test edebilirsiniz.
İlk sunucu yapılandırması (testing
)
Test yapılandırması, az miktarda test trafiği göndererek ve Etiket Yöneticisi'ndeki Önizleme özelliğini kullanarak ürünü keşfetmek için uygundur. Bu yapılandırma, Standart ortamdaki bir App Engine F1 örnek sınıfıdır ve çoğu durumda sizden ücret alınmaz.
2. App Engine'i üretimde kullanma
production
yapılandırmasında her sunucunun maliyeti aylık yaklaşık 40 ABD dolarıdır. Her sunucu, Esnek ortamda 1 vCPU, 0,5 GB bellek ve 10 GB diske sahip bir App Engine örneğidir.
App Engine faturalandırmasını ve faturalandırma uyarılarının nasıl yapılandırılacağını anlamak için App Engine maliyetlerini yönetme bölümüne bakın. Faturalandırma uyarısı oluşturmanızı önemle tavsiye ederiz.
Önerilen prodüksiyon ayarları
Sunucu kesintisi durumunda veri kaybı riskini azaltmak için en az 3 sunucu çalıştırmanızı öneririz. Bununla birlikte, daha az (veya daha fazla) sunucu çalıştırmayı tercih edebilirsiniz. 3-6 sunucu ölçeğinin (varsayılan) otomatik olarak saniyede 50-200 isteği işleyeceğini tahmin ediyoruz. Performans, etiket sayısına ve bu etiketlerin ne yaptığına bağlıdır.
Etiketleme sunucunuzu yapılandırmak için:
- Google Cloud Platform Cloud Shell'i açın.
- Cloud Shell'de Cloud Platform projesini ayarlayın.
project ID
kısmını daha önce not ettiğiniz GCP projesinin kimliğiyle değiştirin:gcloud config set project project ID
- Etiketleme sunucunuzu bir üretim ortamı için yeniden yapılandırmak üzere aşağıdaki kurulum komut dosyasını çalıştırın. Aşağıdaki görevleri gerçekleştirin:
bash -c "$(curl -fsSL https://googletagmanager.com/static/serverjs/setup.sh)"
- Dağıtım türünü
production
olarak değiştirin. - Üretim trafiği sunmak için ek sunucular kurun. En az üç sunucu kullanılmasını öneririz.
- Dağıtım türünü
İsteğe bağlı: Günlük kaydını devre dışı bırakma
Günlük kaydı iste
Varsayılan olarak App Engine, aldığı her bir istekle ilgili bilgileri (ör.istek yolu, sorgu parametreleri vb.) günlüğe kaydeder. Etiketleme sunucunuz ayda çok sayıda (ör. 1 milyondan fazla) isteği yerine getiriyorsa bu günlük mesajları, yüksek günlük kaydı ücretlerine tabi olabilir. Günlük kaydı ücretlerini azaltmak veya ortadan kaldırmak için App Engine istek günlük kaydını devre dışı bırakmanızı öneririz.
App Engine istek günlük kaydını devre dışı bırakmak için:
- Google Cloud Platform'da Günlük Yönlendirici'yi açın. Kapsayıcı kimliğinizle eşleşen projede olduğunuzdan emin olun:
- Tür: Cloud Logging paketi, Ad: _Default satırı için taşma menüsünü seçip Havuzu Düzenle'yi tıklayın.
- Havuz hedefi bölümünde _Default günlük paketini seçin.
Havuza dahil edilecek günlükleri seçin bölümünde yeni bir satır ekleyin. Mevcut dahil etme filtresine aşağıdaki kuralı girin:
NOT LOG_ID("appengine.googleapis.com/nginx.request") AND NOT LOG_ID("appengine.googleapis.com/request_log")
Yük dengeleyiciden günlük kaydını da devre dışı bırakmak için yeni bir satır ekleyin ve mevcut dahil etme filtresine aşağıdaki kuralı girin:
NOT LOG_ID("requests")
Değişiklikleri uygulamak için Havuzu güncelleyin. Artık App Engine istekleri günlük kaydından hariç tutulacaktır.
Günlük Gezgini günlüklerinde yeni isteklerin görünmediğini doğrulayın.
Konsol günlük kaydı
Bir kapsayıcıdaki etiketleme sunucusu, istemciler veya etiketler konsola mesaj kaydedebilir. Bu da günlük kaydı ücretlerinin alınmasına neden olabilir. Günlük kaydı ücretlerini azaltmak veya ortadan kaldırmak için istenmeyen konsol günlük mesajlarını devre dışı bırakabilirsiniz.
İstenmeyen konsol günlüklerini belirleyin:
- GCP'de Günlük Gezgini'ni açın.
Etiketlerinizden kaynaklanan istenmeyen günlük mesajlarını arayın. Örneğin:
Bir etiket aşağıdaki günlükleri gönderebilir:
const logToConsole = require('logToConsole'); logToConsole('Custom message: ' + data.param1); logToConsole('An important message to keep around!'); data.gtmOnSuccess()
textPayload
alanında ilgili günlük mesajlarını bulun:
Konsol günlük mesajını devre dışı bırakmak için:
- Google Cloud Platform'da Günlük Yönlendirici'yi açın. Kapsayıcı kimliğinizle eşleşen projede olduğunuzdan emin olun:
- Tür: Cloud Logging paketi, Ad: _Default satırı için taşma menüsünü seçip Havuzu Düzenle'yi tıklayın.
- Havuz hedefi bölümünde _Default günlük paketini seçin.
Havuza dahil edilecek günlükleri seçin bölümünde yeni bir satır ekleyin. Mevcut dahil etme filtresine aşağıdaki kuralı girin:
NOT textPayload:"Custom message:"
Konsol günlükleriniz için Custom message: metnini, konsol günlüğünden devre dışı bırakmak istediğiniz bir alt dizeyle değiştirin. Daha ayrıntılı filtreler için günlük kaydı sorgu dilini kullanın.
Değişiklikleri uygulamak için Havuzu güncelleyin. Eşleşen
logToConsole
mesajı, günlük kaydından hariç tutulmalıdır.Günlük Gezgini'nde yeni konsol günlük mesajlarının görünmediğini doğrulayın.
3. Dağıtımı özel alan adınızla eşleme
Varsayılan sunucu tarafı etiketleme dağıtımı, bir App Engine alanında barındırılır. Dağıtımı, web sitenizin bir alt alanını kullanacak şekilde değiştirmenizi öneririz.
Web sitenizin alt alan adını etiketleme sunucunuzla eşleyin.
4. Sunucu URL'sini Google Etiket Yöneticisi'ne ekleme
Artık bir sunucunuz olduğuna göre, Google Etiket Yöneticisi'nin sunucunuzu kullanması gerektiğini bildiğinden emin olmalısınız.
Google Etiket Yöneticisi'ni açın.
Etiketleme sunucunuzu işaret etmek istediğiniz sunucu kapsayıcısını tıklayın.
Yönetici sekmesi > Kapsayıcı Ayarları'nda sunucu kapsayıcı ayarlarınızı açın.
URL Ekle'yi tıklayın ve sunucu URL'nizi yapıştırın.
Kaydet'i tıklayıp çalışma alanınıza dönün.
5. Doğrulama
Etiketleme sunucunuzu oluşturduğunuza göre sunucunun istediğiniz şekilde çalıştığından emin olun. Etiket Yöneticisi çalışma alanınızda Önizleme düğmesini tıklayın. Önizleme sayfası yüklenirse her şey doğru şekilde ayarlanmış demektir.
Birden çok URL'yi önizleme
Birden fazla alanı tek bir etiketleme sunucusuna eşlediyseniz her URL'nin kapsayıcı ayarlarına eklendiğinden emin olun.
Birden fazla URL sağladıysanız tüm yollar (alan adından sonraki dize) eşleşmelidir.
Eserler | Çalışmaz |
---|---|
URL 1: example.com/abc URL 2: example2.com/abc |
URL 1: example.com/abc URL 2: example2.com/def |
Birden fazla URL eklenirse Önizleme düğmesinin yanında, önizlenecek URL'yi seçmenize olanak tanıyan bir simge görürsünüz.
Etiketleme sunucusu sürümünü güncelleyin
Yeni etiketleme sunucusu güncellemelerinde güvenlik açığı düzeltmeleri ve yeni özellikler bulunmaktadır. Etiket Yöneticisi güncelleme yapmanızı bildirdiğinde, etiketleme sunucunuzu en azından her ana sürüm sürümü için (ör. 1.x.x sürümünden 2.x.x sürümüne yükseltme) güncellemenizi öneririz.
Etiketleme sunucunuzu güncellemek için daha önce kullandığınız aynı ayarları kullanarak kurulum komut dosyasını yeniden çalıştırın. Mevcut ayarlar varsayılan olarak belirlenmiştir.
Etiketleme sunucunuzu güncellemek için:
- Google Cloud Platform Cloud Shell'i açın.
- Cloud Shell'de Cloud Platform projesini ayarlayın.
project ID
kısmını daha önce not ettiğiniz GCP projesinin kimliğiyle değiştirin:gcloud config set project project ID
- Kurulum komut dosyasını, daha önce kullandığınız ayarları kullanarak çalıştırın. Mevcut ayarlar varsayılan olarak belirlenmiştir.
bash -c "$(curl -fsSL https://googletagmanager.com/static/serverjs/setup.sh)"
Güncellemenin başarılı olduğunu doğrulamak için:
- Sunucu kapsayıcınızda, yeni bir hata ayıklama oturumu başlatmak ve ayrı bir sekmede istek göndermek için Önizle düğmesini tıklayın.
- Özet bölümünde Konsol sekmesini seçin ve etiketleme sunucusunu güncellemenizi isteyen herhangi bir mesaj olmadığından emin olun.
Etiket Yöneticisi, sunucu başarıyla güncellendikten sonra bir gün içinde etiketleme sunucunuzu güncellemenizi isteyen mesajlar gösterebilir. Ancak önizleme sayfasında, etiketleme sunucusu sürümü hakkında güncel bir mesaj görüntülenir.
Üretim dağıtımı zaman aşımlarıyla ilgili sorunları giderme
Etiketleme sunucusunu oluşturmak veya yeniden yapılandırmak için kurulum komut dosyasını çalıştırdığınızda komut dosyası zaman aşımına uğrayabilir. Bu durumun birkaç nedeni olabilir. En yaygın ikisi şunlardır:
Hizmet hesaplarının izinleri yanlış: Compute Engine ve App Engine hizmet hesapları, üretim dağıtımının dağıtımından ve bakımından sorumludur. Varsayılan olarak, uygun izinlerle önceden yapılandırılmışlardır. Ancak bazı durumlarda, bir kuruluşun politikası hatalı olmalarına neden olabilir.
- Google Cloud Console'da sol taraftaki gezinme çubuğundan IAM ve Yönetici sayfasına gidin.
- Compute Engine hizmet hesabını
<project_number>-compute@developer.gserviceaccount.com
ve App Engine hizmet hesabını<project_name>@appspot.gserviceaccount.com
bulun. - Her iki hizmet hesabı da
Editor
rolüne sahip olmalıdır. Her iki hesap daEditor
rolüne sahip değilse hesabın sağındaki kalem simgesini, mevcut rolün açılır listesini tıklayın, yukarı kaydırıp Proje ve Düzenleyici'yi tıklayın.
Yetersiz kota: Üretim dağıtımı, Compute Engine kotasını tüketir. Projede yeterli kota yoksa kaynaklar sağlanmaya çalışılırken dağıtım zaman aşımına uğrayabilir.
- Google Cloud Console'un sol gezinme çubuğunda IAM ve Yönetici sayfasına gidin ve soldaki gezinme çubuğunda Kotalar sekmesini tıklayın.
- Sayfanın üst kısmına yakın bir yerde, Tabloyu filtrele yazan metin kutusunu tıklayıp
Compute Engine API
yazın. Tek sonucu tıklayın. - Tüm kota durumlarının sınır dahilinde olduğunu veya yeşil onay işareti bulunduğunu doğrulayın.
- CPU'lar seçeneğini bulup tıklayın. Mevcut kullanımın ve dağıtılan örnek sayısının yine de dağıtım bölgesi sınırının altında olacağını doğrulayın.