Meet eCDN Kuruluş İçi API ile çalışma

Bu sayfada, Google Meet Enterprise Content Delivery Network (eCDN) On-Premises API'nin Google Meet canlı yayınında nasıl kullanılacağı açıklanmaktadır.

Burada açıklanan API çözümü, müşterilerin özel IP bilgilerini Google'a göstermeden Meet eCDN'nin tüm özelliklerini kullanmasına olanak tanır. Kendi ağınızda, özel IP adresi bilgileri yerine bir kimlik ileten yeni bir şirket içi web hizmeti tanımlayabilirsiniz.

Meet eCDN'ye genel bakış

eCDN, Meet'te yerleşik olarak bulunur ve bir Google Workspace yöneticisi tarafından kurulduktan sonra canlı yayınlar sırasında otomatik olarak başlatılır. Meet eCDN etkinleştirildiğinde, yerel bir ağdaki canlı yayın izleyicileri, canlı yayınlanan medyayı ağdaki diğer kullanıcılarla eşler arası (P2P) paylaşım yoluyla paylaşabilir. Çoğu cihaz, canlı yayınlanan medyayı yakındaki kullanıcılardan alır ve Google'ın sunucularından getirmesine gerek kalmaz. Bu, izleyiciler tarafından kullanılan toplam bant genişliğini azaltır. Meet eCDN'yi ayarlama ve kullanma hakkında daha fazla bilgi için Büyük canlı yayınlar düzenleme başlıklı makaleyi inceleyin.

eCDN, Meet canlı yayın izleyicilerinin eşler grubu olarak sıralanmasını gerektirir. Eşleme grubu, birbiriyle medya paylaşmasına izin verilen düğümler koleksiyonudur. Bir eşleme grubundaki cihazların eşleme yapmasına izin verilir ya da cihazların eşleme yapması engellenir. İzin verilen cihazlar, yalnızca aynı eşleme grubundaki diğer cihazlara bağlanabilir. Eşleme grupları hakkında daha fazla bilgi için Büyük ölçekli canlı yayınlar düzenlemeye başlamadan önce başlıklı makaleyi inceleyin.

API ne zaman kullanılır?

eCDN, random, subnet veya custom rules gibi çeşitli eşleme politikalarını kullanarak eşleme grupları oluşturabilir. İkincisi, her eş düğümün özel IP adreslerini bir eşleme grubuyla eşlemek için Google'ın eCDN izleyici sunucusuyla özel ağ aralıklarının bir tablosunu paylaşır. custom rules politikası tercih edilen çözümdür ve çoğu üretim ortamı için uygundur.

Ancak custom rules politikası, özel ağ yapınızın büyük bir bölümünü Google ile paylaşmanızı gerektirir. Ayrıca, eCDN kullanırken bireysel kullanıcılar yerel olarak algılanan özel IP adreslerini Google'a gösterir. Bazı kuruluşların güvenlik kuralları, özel IP bilgilerinin paylaşılmasına izin vermeyebilir.

Meet eCDN On-Premises API ile geliştirme

Meet eCDN On-Premises API, kuruluşunuzun ağında yerel olarak uygulayabileceğiniz ve barındırabileceğiniz bir web sunucusu spesifikasyonu sağlar. Özel IP bilgilerine bağlı tüm görevleri gerçekleştirmek için API ile uyumlu özel bir web hizmeti oluşturabilirsiniz. Böylece bilgiler Google ile paylaşılmaz.

API, genellikle eCDN izleyici sunucusu tarafından işlenen özel IP adreslerini eşleştirmek için iki kritik adımı kapsar: özel IP adreslerini bir eşleme grubuyla eşleme ve WebRTC sinyalleşmesi sırasında Oturum Açıklaması Protokolü (SDP) teklif-yanıt veri alışverişi.

Web hizmeti tamamlandıktan sonra On-premises service eşleme politikasını kullanmak için Yönetici Konsolu'nu yapılandırmanız ve özel web hizmetinizin URL'sini eklemeniz gerekir.

Şartlar

Kuruluşunuz için bu şartlardan herhangi birinin etkinleştirilmesi gerekiyorsa Google Workspace yöneticinizden isteyin:

  • HTTPS kullanan tüm web sunucuları bu API'yi uygulayabilir.

  • Karma içerik hatalarını önlemek için HTTPS kullanın.

  • JSON verilerini kabul edip döndürme Tarayıcınızın desteklediği herhangi bir içerik kodlamasını kullanın.

  • /vn rotası altında uç noktalar sunun. Burada n, seçilen API sürümüdür. Örneğin, /v1/get-peering-group.

  • Meet canlı yayını izleyicileri, Google Yönetici Konsolu'ndan web hizmetinizin URL'si hakkında bilgi edinebilir. URL; genel olarak, kuruluş birimi başına veya grup başına ayarlanabilir. İzleyicilerin, hizmetin kendilerine atanmış örneğine bağlanabildiğinden emin olun. Daha fazla bilgi için Yönetici Konsolu'nu yapılandırma başlıklı makaleyi inceleyin.

  • Hizmetiniz iki saniye içinde yanıt döndürmelidir. Aksi takdirde, eCDN istemcisi kapanır ve izleyici, canlı etkinliği normal bir kullanıcı olarak izlemeye devam eder. Bu durumda, eCDN kullanılmadığı için bant genişliğinden tasarruf edilemez.

  • Hizmetiniz aşağıdaki merkezler arası kaynak paylaşımı (CORS) başlıklarını ayarlamalıdır:

    • Access-Control-Allow-Origin: meet.google.com
    • Access-Control-Allow-Headers: GET, POST, OPTIONS
    • Access-Control-Allow-Credentials: true

Özel IP adreslerini eşleme grubuna eşleme

eCDN istemcisi, eCDN izleyici sunucusuna her yeniden bağlanmayı denediğinde bir çağrı yapar. Bir cihaz özel IP adresi algıladıktan sonra adresin uygun eşleme grubuyla eşlenmesi gerekir. Özel IP adresini ağınızdaki bir sunucuya göndermeniz ve get-peering-group() yöntemini kullanarak eşleme grubuyla manuel olarak çözmeniz gerekir. Yanıt içinde bir eşleme grubu kimliği döndürülür. Google ile iletişim kurulurken özel IP adresleri yerine ortaya çıkan eşleme grubu kimliği iletilir.

Özel IP adreslerinin eşleme grubuyla nasıl eşlendiği.
1.şekil Özel IP adreslerini eşleme grubuna eşleme

Aşağıdaki kod örneğinde, get-peering-group() yönteminin nasıl çağrılacağı, olası hata yanıtı ve beklenen yanıt gövdesiyle birlikte gösterilmektedir:

POST /v1/get-peering-group
Content-Type: application/json

Request body:
{
  "availableIPs": []{
    "format": "ipv4"|"ipv6",
    "address": "DETECTED_ADDRESS"
  }
}

Error response:
{
  "result": null,
  "error": "ERROR_MESSAGE",
}

Response body:
{
  "result": "PEERING_GROUP_ID",
  "error": null,
}

Aşağıdaki tabloda beklenen yanıt biçimleri gösterilmektedir:

HTTP durumu Hata Eşleme grubu kimliği Müşteri tepkisi
200 null Boş olmayan dize İstemci, eşleme grubuna ayrılmalı ve eCDN izleyici sunucusuna bağlanmaya devam etmelidir.
200 null NOT_FOUND İstemci, eCDN oturumunu sonlandırır.
200 null BLOCKED İstemci, eCDN oturumunu sonlandırır.
200 Boş olmayan diğer dizeler null İstemci, eCDN oturumunu sonlandırır.
302 (Bulundu) İstemci, yanıt gövdesinin Location başlığında belirtilen yeni URL'ye yönlendirmeyi izler.
Diğer durum kodları Herhangi bir dize Herhangi bir dize İstemci, eCDN oturumunu sonlandırır.

SDP teklif-yanıt veri değişimi

Cihazların WebRTC bağlantısı başlatmak için özel IP bilgileri içeren Interactive Connectivity Establishment (ICE) adayları da dahil olmak üzere SDP tekliflerini ve yanıtlarını paylaşması gerekir. Bu işlemi WebRTC sinyal sürecinin bir parçası olarak yaparlar.

İstemciler, encrypt-sdp() yöntemini kullanarak Meet eCDN On-Premises API aracılığıyla ağlarındaki ICE adaylarını şifrelemelidir. Yöntemde, Google'a hiçbir zaman gösterilmeyen bir anahtar kullanılır. Şifrelenmiş SDP teklifi, eCDN izleme sunucusu kullanılarak eşe gönderilir. Ardından, istemci eşi, alınan bilgilerin şifresini decrypt-sdp() yöntemini kullanarak ağında çözer. Google daha sonra teklifleri ve yanıtları bağlı eşler arasında yönlendirir.

Meet eCDN On-Premises API kullanılarak bağlantı kurulduktan sonra eCDN normal şekilde çalışır. Eşler, medyayı normal eşleme ağı üzerinden yönlendirir ve medya trafiği API'den geçmez veya API'yi kullanmaz.

SDP teklifi ve yanıt verilerinin nasıl şifrelendiği ve şifrelerinin çözüldüğü.
Şekil 2. SDP teklifi ve yanıt verilerini şifreleme ve şifre çözme

Aşağıdaki kod örneğinde, encrypt-sdp() yönteminin olası hata yanıtı ve beklenen yanıt gövdesiyle birlikte nasıl çağrılacağı gösterilmektedir:

POST /v1/encrypt-sdp
Content-Type: application/json

Request body:
{
  "data": "SDP_DATA" // raw SDP data
},

Error response:
{
  "result": null,
  "error": "ERROR_MESSAGE", // error message
}

Response body:
{
  "result": "ENCRYPTED_DATA_STRING", // encrypted data as string
  "error": null,
}

Aşağıdaki kod örneğinde, decrypt-sdp() yönteminin olası hata yanıtı ve beklenen yanıt gövdesiyle birlikte nasıl çağrılacağı gösterilmektedir:

POST /v1/decrypt-sdp
Content-Type: application/json

Request body:
{
  "data": "ENCRYPTED_DATA_STRING", // encrypted data as string (size limit: 1 MB)
},

Error response:
{
  "result": null,
  "error": "ERROR_MESSAGE", // error message
}

Response body:
{
  "result": "SDP_DATA" // raw SDP data
  "error": null,
}

Aşağıdaki tabloda beklenen yanıt biçimleri gösterilmektedir:

HTTP durumu Hata Eşleme grubu kimliği Müşteri tepkisi
200 null Boş olmayan dize İstemci, düzgün şekilde kodlanmış veya kodu çözülmüş SDP verilerinin kullanılmasını bekler.
200 Boş olmayan herhangi bir dize null İstemci, eCDN oturumunu sonlandırır.
302 (Bulundu) İstemci, yanıt gövdesinin Location başlığında belirtilen yeni URL'ye yönlendirmeyi izler.
Diğer durum kodları Herhangi bir değer Herhangi bir değer İstemci, eCDN oturumunu sonlandırır.

Yönetici Konsolu'nu yapılandırma

Meet eCDN On-Premises API'yi kullanmak için Yönetici Konsolu'nda eCDN'yi yapılandırarak özel web hizmetinizin URL'sini eklemeniz gerekir.

eCDN'yi ayarlamak için On-premises service simgesini kullanarak eşleme gruplarıyla IP bilgilerini manuel olarak eşleştiren bir eşleme politikası oluşturun. Varsayılan 443 bağlantı noktasını kullanmıyorsanız bağlantı noktası numarası da ekleyebilirsiniz. URL şu biçimde olmalıdır: WEB_SERVICE.example.com:8080. Burada WEB_SERVICE, web hizmetinizin adıdır.

Eşleme politikası ayarlama hakkında daha fazla bilgi için Ağ gruplandırmasını yapılandırma başlıklı makaleyi inceleyin.