Etiketleme sunucusunu yalnızca birkaç tıklamayla App Engine'e dağıtmak için otomatik temel hazırlık akışı kullanılabilir. Etiketleme sunucusunun temel hazırlığını diğer ortamlarda yapmak istiyorsanız bunu manuel olarak yapabilirsiniz. Etiketleme sunucusu, Docker görüntüsü içindeki bir Node.js sunucusudur.
Etiketleme sunucusunun manuel olarak sağlanması için sunucu tarafı etiketleme (SST) kümesi ile önizleme sunucusunun ayrı olarak sağlanması gerekir. SST kümesi, etiketleme sunucusuna yapılan tüm isteklerin giriş noktasıdır ve istekleri Sunucu tarafı etiketlemeye giriş bölümünde açıklandığı şekilde işler. Önizleme sunucusunun bir kapsayıcıyı önizlemesi gerekir.
Etiketleme sunucuları ile önizleme sunucusu arasındaki veri etkileşiminin şekli için Şekil 1'e bakın.
Şekil 1: Etiketleme sunucularının ve sunucu veri akışının önizlemesinin yapılan bir diyagramı.
Bu kılavuzda aşağıdakilerin nasıl yapılacağı açıklanmaktadır:
- Docker görüntüsü için kullanılabilir tüm ayarları görüntüleyin.
- (İsteğe bağlı) BigQuery kimlik bilgilerini ekleyin
- SST Docker görüntüsünü kullanan bir önizleme sunucusunu manuel olarak hazırlayın.
- SST Docker görüntüsünü kullanarak SST kümesini manuel olarak hazırlayın.
- Önizleme sunucusunun ve SST kümesinin doğru şekilde yapılandırıldığından emin olun.
- Sunucunun temel hazırlığını yaptıktan sonra etiketleme sunucusu sürümünüzü güncel tutun.
Bu kılavuzdaki Docker komutlarını çalıştırmak için öncelikle Docker'ı bilgisayarınıza yüklemeniz gerekir.
Docker görüntüsü için mevcut tüm ayarları görüntüleyin
Etiketleme sunucusu Docker görüntüsü şu URL'de bulunabilir:
gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable
Etiketleme sunucusu ve önizleme sunucusu aynı Docker görüntüsünü farklı işaretlerle kullanır. Bu bölümde, Docker görüntüsü ile kullanılabilen ayarların nasıl aranacağı açıklanmaktadır.
Mevcut tüm ayarları görmek için docker komut satırı aracını kullanarak aşağıdakileri çalıştırın:
docker run gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable server_bin.js --help
(İsteğe bağlı) Google Cloud kimlik bilgilerini dahil edin
BigQuery
veya Firestore
API'sini Google Cloud dışında kullanmak için söz konusu kaynaklara erişim yetkisi veren bir hizmet hesabı kimlik bilgisi sağlamanız gerekir.
BigQuery
erişimi için BigQuery Veri Düzenleyicisi rolüne,Firestore
erişimi için Cloud Datastore Kullanıcısı rolüne sahip bir hizmet hesabı oluşturmak ve JSON kimlik bilgilerini dosya adıyla dışa aktarmak için bu rehberi kullanınlocal_service_account_key.json
.- JSON kimlik bilgisini, resmin erişebileceği bir hacme ekleyin.
docker run
kullanarak resimdeki kimlik bilgilerini eklemek için-v local_service_account_key.json:/app/service_account_key.json
belirtebilirsiniz. GOOGLE_APPLICATION_CREDENTIALS
ortam değişkenini kimlik bilgisine yönlendirin.- İsteğe bağlı olarak, etiketleme sunucusunun projeyi doğrudan seçmesine izin vermek için
GOOGLE_CLOUD_PROJECT
ortam değişkeninde Google Cloud proje kimliğinizi belirtin. Sunucuyu çalıştırın. Aşağıdaki komut, kimlik bilgilerini içeren etiketleme sunucusunu çalıştırır:
docker run -v local_service_account_key.json:/app/service_account_key.json \ -p 8080:8080 \ -e GOOGLE_APPLICATION_CREDENTIALS='/app/service_account_key.json' \ -e GOOGLE_CLOUD_PROJECT='<your project id>' \ -e CONTAINER_CONFIG='<config string>' \ gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable
Etiketleme sunucusunun hangi sisteme dağıtıldığına bağlı olarak kimlik bilgilerini eklemenin farklı yolları olabilir. Örneğin, Kubernetes ve Docker Swarm, sırları yönetmeyle ilgili kılavuzlar sunar. Daha fazla bilgi için ilgili sistem kılavuzuna bakın.
Kimlik bilgilerinizi korumak için en iyi uygulamaları takip edin.
Önizleme sunucusunu manuel olarak sağlama
Önizleme sunucusu, sunucu kapsayıcısını önizlemenize olanak tanır. Önizleme sunucusunu çalıştırmak için Docker görüntüsünü Docker ortamına aktarılan aşağıdaki ortam değişkenleriyle çalıştırın.
Gerekli ayarlar
CONTAINER_CONFIG
- Sunucu kapsayıcının yapılandırma dizesi. Etiket Yöneticisi'nde sunucu kapsayıcı çalışma alanınıza gidip sayfanın sağ üst kısmındaki kapsayıcı kimliğini tıklayın. Kapsayıcı Yapılandırması değerini bulmak için Etiketleme sunucusunun manuel olarak temel hazırlığını yap'ı tıklayın.RUN_AS_PREVIEW_SERVER
- Sunucunun önizleme sunucusu olarak temel hazırlığını yapmak için bunutrue
olarak ayarlayın.
Docker komut satırı aracını kullanma örneği
Bir önizleme sunucusunun temel hazırlığını yerel olarak yapmak için aşağıdaki komutu çalıştırın:
docker run -p 8080:8080 -e CONTAINER_CONFIG='<config string>' -e RUN_AS_PREVIEW_SERVER=true gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable
http://localhost:8080/healthz
adlı istekten gelen 200 yanıtı görebilirsiniz. İsteğe bağlı olarak, bağlantı noktasını değiştirmek için PORT
ortam değişkenini kullanın.
En iyi uygulamalar
- Tam olarak 1 önizleme sunucusu dağıtmanız gerekir. Otomatik ölçeklendirmeyi 1 örneğin ötesinde yapılandırmayın.
- Docker'ı kullanarak bir önizleme sunucusu oluşturduktan sonra önizleme sunucusunu işaret edecek bir HTTPS URL'si yapılandırın. Bu, SST kümesini ayarlamak için gereklidir.
- Yük dengeleyiciniz veya CDN'nizin zaman aşımı 20 saniyeden uzun olmalıdır. Aksi takdirde önizleme modu düzgün çalışmaz.
Sunucu tarafı etiketleme kümesinin manuel olarak hazırlanmasını sağlama
SST kümesi giriş noktası olarak işlev görür, proxy'ler önizleme isteklerini önizler ve diğer tüm istekleri Sunucu tarafı etiketlemeye giriş konusunda açıklandığı şekilde işler. Docker'ı destekleyen tüm ortamlarda SST kümesi sağlamak için etiketleme sunucusu Docker görüntüsüyle birlikte aşağıdaki gerekli ayarları kullanın.
Gerekli ayarlar
CONTAINER_CONFIG
- Sunucu kapsayıcının yapılandırma dizesi. Etiket Yöneticisi'nde sunucu kapsayıcı çalışma alanınıza gidip sayfanın sağ üst kısmındaki kapsayıcı kimliğini tıklayın. Kapsayıcı Yapılandırması değerini bulmak için Etiketleme sunucusunun manuel olarak temel hazırlığını yap'ı tıklayın.PREVIEW_SERVER_URL
- Önizleme sunucusunun HTTPS URL'si. Bu ayar yalnızca etiketleme sunucusunun temel hazırlığı için yapılmalıdır ve önizleme sunucusunun temel hazırlığını yapmak için gerekli değildir. Önizleme sunucusunu ayarlamayla ilgili bir kılavuz için yukarıdaki bölüme bakın.
Docker komut satırı aracını kullanma örneği
Yerel olarak tek bir etiketleme sunucusu sağlamak için aşağıdakileri çalıştırın:
docker run -p 8080:8080 -e CONTAINER_CONFIG='<config string>' -e PREVIEW_SERVER_URL='<HTTPS preview server url>' gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable
http://localhost:8080/healthz
için yapılan bir istekten 200 yanıtı almanız gerekir.
İsteğe bağlı olarak, bağlantı noktasını değiştirmek için PORT
ortam değişkenini kullanın.
En iyi uygulamalar
- Sunucu tarafı etiketleme sunucularının temel hazırlığı tek bir sunucu veya küme olarak yapılabilir. Daha iyi kullanılabilirlik, ölçeklenebilirlik ve performans için küme olarak sağlamanızı öneririz. Bir küme olarak temel hazırlık yaparken her sunucu örneğinin aynı
CONTAINER_CONFIG
vePREVIEW_SERVER_URL
ortam değişkenleriyle yapılandırılması gerektiğini lütfen unutmayın. - SST kümesi dağıtımınızı web sitenizde, uygulamanızı sunan alt alan adından ayrı yeni bir alt alan adına yönlendirdiğinizden emin olun. Örneğin, uygulamanız example.com adresinde web trafiği sunuyorsa etiketleme sunucunuz için analytics.example.com gibi bir alt alan adı kullanın.
- Docker'ı kullanarak bir SST kümesi oluşturduktan sonra, SST kümesini işaret edecek bir HTTPS URL'si yapılandırın.
- Sunucularınızın SST için en son kod güncellemelerini aldığından emin olmak amacıyla sunucuları düzenli olarak yeniden başlatmayı unutmayın. Aksi takdirde yeni SST özellikleri uyumsuz hale gelebilir. Sunucunun ne zaman yeniden başlaması gerektiğini öğrenmenin bir yolu canlılık kontrollerini ayarlamaktır. Ayrıca, sunucu kapsayıcınızda yayınlanan tüm güncellemelerin yeniden başlatma olmadan uygulanmaya devam edeceğini lütfen unutmayın.
- Canlılık kontrollerini ayarlamak için etiketleme sunucularınızdaki mevcut
/healthz
uç noktasını (ör.https://analytics.example.com/healthz
) kullanın. Durumu iyi olmayan bir yanıt, sunucunun yeniden başlatılması gerektiğini gösterir. - Docker container'ı,
/healthz
uç noktasını düzenli aralıklarla sorgulayan varsayılan bir durum denetimi komutu (HEALTHCHECK CMD ["/nodejs/bin/node", "/app/health_checker_bin.js"]
) içerir. Docker durum denetimine bağlıysanız ayarları, Docker talimatlarını uygulayarak değiştirebilirsiniz. - Önizleme sunucusu ile etiketleme sunucusu aynı kaynaktaysa önizleme sunucusunu etiketleme sunucusundan farklı bir yolda barındırın. Yolu da içeren
PREVIEW_SERVER_URL
öğesini belirtin. - Temel hazırlığı yapılan sunucular en fazla 1 vCPU'ya sahip olmalıdır. Ek vCPU'lar kullanılmaz ve otomatik ölçeklendirmeyi olumsuz etkiler.
Doğrulama
Sunucu kapsayıcı URL'sini yapılandırma
Etiket Yöneticisi'nde sunucu kapsayıcınıza gidin. Yönetici > Kapsayıcı Ayarları altında, etiketleme sunucusunun URL'sini Sunucu kapsayıcı URL'si alanına girin ve Kaydet'i tıklayın.
Önizleme modunda doğrulama
Etiket Yöneticisi çalışma alanında, Önizle'yi tıklayarak kapsayıcıyı önizleyin ve önizleme sayfasının yüklendiğini görün. Başka bir tarayıcı sekmesinde, Sunucu kapsayıcı URL'sindeki herhangi bir yola gidin. Önizleme sayfasında, gönderilen istek gösteriliyorsa her şey doğru ayarlanmış demektir.
Birden fazla alt alanı tek bir etiketleme sunucusuyla eşlediyseniz ve her bir alt alanda önizleme yapmak istiyorsanız Yönetici > Kapsayıcı Ayarları'nın altında ek Sunucu kapsayıcı URL'leri ekleyin. Birden fazla URL girilirse tüm URL yolları (alan adından sonra gelen bilgi dizesi) eşleşmelidir. Örneğin, example.com/abc
ve example2.com/abc
üzerinde önizleme yapabilirsiniz ancak example.com/abc
ve example2.com/def
üzerinde önizleme yapamazsınız. Birden fazla URL eklenirse Önizle düğmesinin yanında, önizleme yapılacak URL'yi seçmenize olanak tanıyan bir simge görürsünüz.
Etiketleme sunucusu sürümünü güncelleyin
gtm-cloud-image görüntüsü, Node.js'yi ve etiketleme sunucusunun çalışması için gereken kitaplıkları içerir. Docker görüntüsü, güvenlik düzeltmeleri ve yeni özellikler için düzenli olarak güncellenir. Her bir ana sürüm sürümü (ör. 1.x.x sürümünden 2.x.x sürümüne yükseltme) için etiketleme sunucunuzu en azından güncellemenizi öneririz.
Docker görüntünüzü güncellemek için:
- Geçerli görüntü sürümünü
gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable
adresinden getirin. - Sunucunuzu önceki dağıtımla aynı ayarlarla dağıtın.
- Tek önizleme sunucusunu ve kümedeki tüm etiketleme sunucularını güncelleyin.
- Eski sunucuları kapatın.
Güncellemenin başarılı olduğunu doğrulamak için:
- Sunucu kapsayıcınızda, Önizleme düğmesini tıklayarak yeni bir hata ayıklama oturumu başlatın ve ayrı bir sekmede istek gönderin.
- Ö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, etiketleme sunucunuzu 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üyle ilgili güncel bir mesaj gösterilir.