Bu kılavuzda aşağıdakiler açıklanmaktadır:
- Kapsayıcı için önizleme özelliğini etkinleştirmek üzere bir önizleme sunucusu hazırlayın.
- Canlı trafiği işlemek için bir etiketleme sunucusu hazırlayın.
- Google Etiket Yöneticisi kapsayıcınızı çalıştıran sunucuların sayısını artırın veya azaltın.
- Sunucuyu hazırladıktan sonra etiketleme sunucunuzun sürümünü güncel tutun.
Ön koşullar
- GCP hesabınız olmalıdı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ü gerekir).
- Proje Oluşturucu ve Faturalandırma Hesabı Kullanıcısı rolüne sahip olmanız gerekir. Roller ekleme hakkında daha fazla bilgi edinin.
Önizleme ve etiketleme sunucusu sağlama
Cloud Run hizmetlerinin temel hazırlığını Google Etiket Yöneticisi'nde otomatik olarak veya Google Cloud'da manuel olarak yapabilirsiniz.
Hizmet yapılandırmasını düzenleme
Hizmet yapılandırmanızı değiştirmek için:
- Cloud Run'u açın.
- Ayarlama yapmanız gereken hizmeti seçin.
- Yeni Düzeltmeyi Düzenle ve Dağıt'ı tıklayın.
- Değişiklikleri yapın ve Dağıt'ı tıklayın.
Cloud Run maliyeti
Bu Cloud Run yapılandırmasında her sunucunun maliyeti yaklaşık 45 ABD doları (aylık)'dır. Her sunucu, her zaman ayrılmış CPU fiyatlandırma modelini kullanan 1 vCPU ve 0,5 GB belleğe sahip bir Cloud Run örneğidir.
Sunucu kesintisi durumunda veri kaybı riskini azaltmak için en az 2 örnek çalıştırmanızı öneririz. Ancak daha az (veya daha fazla) sunucu çalıştırmayı seçebilirsiniz. 2-10 sunucunun otomatik ölçeklendirmesi saniyede 35-350 isteği işleyecektir. Ancak performans, etiketlerin sayısına ve bu etiketlerin işlevine göre değişecektir.
Cloud Run, yüke göre dinamik olarak ölçeklenir. max-instances
ayarı, kaynaklar için ne kadar ödeme yapmanız gerektiğine dair en kötü durum senaryosudur. Cloud Run, gerekli olmadığı sürece bu kadar çok örnek sağlamaz.
Cloud Run hesaplayıcısı
İsteğe bağlı: App Engine'den taşıma
Daha önce bir App Engine dağıtımı oluşturduysanız ve artık trafik almadığını doğruladıysanız beklenmedik faturalandırma ücretlerini önlemek için App Engine uygulamasını devre dışı bırakın.
İsteğe bağlı: Çok bölgeli dağıtım
Web sitenizin dünya genelinde varlığı varsa veya hizmete yedeklilik eklemek istiyorsanız etiketleme sunucularını birden fazla bölgeye dağıtın.
Başlamadan önce:
- Yük dengeleyici oluşturma
- Seçtiğiniz BACKEND_NAME'yi not edin.
Dağıtımınıza daha fazla bölge eklemek için:
- REGION yerine önizleme sunucusunun dağıtıldığı bölgeyi yazın. Önizleme ve etiketleme sunucusunu ayarlamak için komut satırı seçeneklerini uyguladıysanız bu alan zaten doldurulmuş olabilir.
- CONTAINER_CONFIG değerini Etiket Yöneticisi'ndeki kapsayıcı yapılandırması dizesiyle değiştirin. Önizleme ve etiketleme sunucusunu ayarlamak için komut satırı seçeneklerini uyguladıysanız bu alan zaten doldurulmuş olabilir.
- NEW_REGION yerine, etiketleme sunucusunun dağıtılmasını istediğiniz yeni bölgeyi yazın.
- BACKEND_NAME yerine, yük dengeleyiciyi hazırlıyorken seçtiğiniz adı yazın.
- İsteğe bağlı: Başka bir bölge eklemek için NEW_REGION değişkenini değiştirin ve kod snippet'ini yeniden çalıştırın.
gcloud run deploy "server-side-tagging" \
--region NEW_REGION \
--image gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable \
--platform managed \
--ingress all \
--min-instances 2 \
--max-instances 10 \
--timeout 60 \
--allow-unauthenticated \
--no-cpu-throttling \
--update-env-vars PREVIEW_SERVER_URL="$(
gcloud run services describe server-side-tagging-preview \--region "REGION" \
--format="value(status.url)")",CONTAINER_CONFIG="CONTAINER_CONFIG" && \
gcloud compute network-endpoint-groups create server-side-tagging-neg \
--region=NEW_REGION \
--network-endpoint-type=SERVERLESS \
--cloud-run-service="server-side-tagging" && \
gcloud compute backend-services add-backend --global "BACKEND_NAME" \
--network-endpoint-group-region=NEW_REGION \
--network-endpoint-group=server-side-tagging-neg
İsteğe bağlı: Günlük kaydını devre dışı bırakma
İstek günlüğü
Varsayılan olarak her istekle ilgili bilgiler (ör.istek yolu, sorgu parametreleri vb.) günlüğe kaydedilir. Etiketleme sunucunuz ayda çok sayıda istek (ör. 1 milyondan fazla) işliyorsa bu günlük mesajları önemli günlük kaydı ücretlerine neden olabilir. Günlük kaydı ücretlerini azaltmak veya ortadan kaldırmak için istek günlüğünü devre dışı bırakmanızı öneririz.
İstek günlüğü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: _Varsayılan satırı için taşma menüsünü seçin ve ardından Havuzu Düzenle'yi tıklayın.
- Hedef havuzu bölümünde, günlükler paketini _Default 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("run.googleapis.com/requests")
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 Yönlendiriciyi Güncelle'yi tıklayın. Artık istekler 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 iletileri günlük kaydına alabilir. Bu işlem günlük kaydı ücretlerine 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 tanımlama:
- GCP'de Günlük Gezgini'ni açın.
Etiketlerinizden kaynaklanan istenmeyen günlük mesajlarını arayın. Örneğin:
Etiketler 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()
İlgili günlük mesajlarını
textPayload
alanında arayın:
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: _Varsayılan satırı için taşma menüsünü seçin ve ardından Havuzu Düzenle'yi tıklayın.
- Hedef havuzu bölümünde, günlükler paketini _Default 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üklerinizde Custom message: metnini, devre dışı bırakmak istediğiniz konsol günlüklerindeki bir alt dizeyle değiştirin. Daha ayrıntılı filtreler için günlük sorgu dilini kullanın.
Değişiklikleri uygulamak için Yönlendiriciyi Güncelle'yi tıklayın. Eşleşen
logToConsole
mesaj, günlük kaydından hariç tutulmalıdır.Günlük Gezgini'nde yeni konsol günlük mesajı görünmediğini doğrulayın.
2. Dağıtım işlemini özel alanınızla eşleme
Özel alan oluşturmak için global harici uygulama yük dengeleyici kullanın.
3. 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 bilmesi gerekir.
Google Etiket Yöneticisi'ni açın.
Etiketleme sunucunuza yönlendirmek istediğiniz sunucu kapsayıcısını tıklayın.
Yönetici sekmesi > Kapsayıcı Ayarları'ndan 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ın ve çalışma alanınıza geri dönün.
4. Doğrulama
Etiketleme sunucunuzu ayarladıktan sonra, amaçlandığı şekilde çalıştığından emin olun. Etiket Yöneticisi çalışma alanınızda Önizleme düğmesini tıklayın. Önizleme sayfası yükleniyorsa her şey doğru şekilde ayarlanmıştır.
Birden fazla URL'yi önizleme
Birden fazla alanı tek bir etiketleme sunucusuyla 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.
Çalışmalar | Çalışmıyor |
---|---|
1. URL: example.com/abc 2. URL: example2.com/abc |
1. URL: example.com/abc 2. URL: example2.com/def |
Birden fazla URL eklenirse önizlenecek URL'yi seçmenize olanak tanıyan bir simge Önizle düğmesinin yanında görünür.
Etiketleme sunucusu sürümünü güncelleme
Yeni etiketleme sunucusu güncellemeleri, güvenlik açığı düzeltmeleri ve yeni özellikler içerir. Etiket Yöneticisi sizi güncelleme konusunda uyardığında, en azından her büyük sürüm yayını için etiketleme sunucunuzu güncellemenizi öneririz (ör. 1.x.x sürümünden 2.x.x sürümüne yükseltme).
Etiketleme sunucunuzu güncellemek için daha önce kullandığınız ayarları kullanarak yeni bir düzeltme dağıtın.
- Cloud Run'u açın.
- Güncellemek istediğiniz hizmeti seçin.
- Yeni Düzeltmeyi Düzenle ve Dağıt'ı tıklayın.
- Container görüntüsü URL'sinin
gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable
olarak ayarlandığından emin olun ve Dağıt'ı tıklayın.
Güncellemenin başarılı olduğunu doğrulamak için:
- Yeni bir hata ayıklama oturumu başlatmak ve ayrı bir sekmede istek göndermek için sunucu kapsayıcınızda Önizleme düğmesini tıklayın.
- Özet bölümünde Konsol sekmesini seçin ve etiketleme sunucusunu güncellemenizi isteyen bir mesaj olmadığından emin olun.
Etiket Yöneticisi, sunucu başarıyla güncellendikten sonra bir güne kadar etiketleme sunucunuzu güncellemenizi isteyen mesajlar gösterebilir. Ancak önizleme sayfasında, etiketleme sunucusu sürümü hakkında güncel bir mesaj gösterilir.