Hallo!
Alle guten Geschichten enden. Und unsere Geschichte darüber, wie wir eine Lösung für den schnellen Durchgang der chinesischen Firewall gefunden haben, ist keine Ausnahme. Daher beeile ich mich, Ihnen den letzten, letzten Teil zu diesem Thema mitzuteilen.
Im vorherigen Teil haben wir über viele von uns erfundene Prüfstände und deren Ergebnisse gesprochen. Und wir haben uns darauf geeinigt, dass es schön wäre, ein CDN hinzuzufügen ! für die Viskosität in unseren Kreislauf.
Ich werde Ihnen erzählen, wie wir Alibaba Cloud CDN, Tencent Cloud CDN und Akamai getestet haben und was ich daraus gemacht habe. Und natürlich zusammenfassend.

Alibaba Cloud CDN
Wir werden in der Alibaba Cloud gehostet und verwenden IPSEC und CEN von ihnen. Es wäre logisch, zuerst ihre Lösungen auszuprobieren.
Alibaba Cloud bietet zwei Arten von Produkten an, die zu uns passen können: CDN und DCDN . Die erste Option ist ein klassisches CDN für eine bestimmte Domain (Subdomain). Die zweite Option steht für Dynamic Route for CDN (ich nenne es Dynamic CDN). Sie kann im Full-Site-Modus (für Platzhalterdomänen) aktiviert werden. Sie speichert auch die Statik zwischen und beschleunigt den dynamischen Inhalt auf sich selbst. Das heißt, die Seitendynamik wird auch schnell geladen Netzwerkanbieter. Dies ist für uns wichtig, da unsere Website im Grunde genommen dynamisch ist, viele Subdomains verwendet und es bequemer ist, CDN einmal für den "Stern" zu konfigurieren - * .semrushchina.cn.
Wir haben dieses Produkt bereits in früheren Phasen unseres chinesischen Projekts gesehen, aber es hat immer noch nicht funktioniert, und die Entwickler haben versprochen, dass das Produkt jetzt allen Kunden zur Verfügung steht. Und er wurde.
In DCDN können Sie:
- Konfigurieren Sie die SSL-Beendigung mit Ihrem Zertifikat.
- dynamische Inhaltsbeschleunigung aktivieren,
- Caching von statischen Dateien flexibel konfigurieren,
- Cache bereinigen,
- werfen Web-Sockets,
- Aktivieren Sie die Komprimierung und sogar HTML Beautifier.
Im Allgemeinen ist alles wie bei Erwachsenen und großen CDN-Anbietern.
Nachdem Origin (der Ort, an dem sich die CDN- Edgeserver befinden ) angegeben ist, muss noch ein CNAME für das Sternchen erstellt werden, der mit all.semrushchina.cn.w.kunluncan.com (dieser CNAME wurde in der Alibaba Cloud-Konsole abgerufen) und CDN verknüpft ist wird funktionieren.
Nach den Testergebnissen hat uns dieses CDN sehr geholfen. Statistiken sind unten angegeben.
Dies sind sehr gute Ergebnisse, insbesondere wenn wir sie mit den Anfangszahlen vergleichen. Wir wussten jedoch, dass der Browsertest der amerikanischen Version unserer Website www.semrush.com in den USA durchschnittlich 8,3 Sekunden lang lief (ein sehr ungefährer Wert). Es gibt viel zu streben. Darüber hinaus gab es CDN-Anbieter, die an Tests interessiert waren.
Wir wechseln also reibungslos zu einem anderen Riesen auf dem chinesischen Markt - Tencent .
Tencent Wolke
Tencent entwickelt nur seine Cloud - dies zeigt sich in einer kleinen Anzahl von Produkten. Im Laufe der Nutzung wollten wir nicht nur das CDN, sondern auch die gesamte Netzwerkinfrastruktur testen:
- Haben sie etwas ähnliches wie CEN?
- Wie funktioniert IPSEC für sie? Ist es schnell, was ist Betriebszeit?
- Haben sie Anycast?

Wir werden diese Fragen separat analysieren.
Analoges CEN
Tencent verfügt über ein Cloud Connect Network ( CCN ) -Produkt, mit dem Sie VPCs aus verschiedenen Regionen, einschließlich Regionen innerhalb und außerhalb Chinas, miteinander verbinden können. Das Produkt befindet sich jetzt in der internen Beta und Sie müssen ein Ticket mit der Aufforderung erstellen, eine Verbindung herzustellen. Durch die Unterstützung haben wir erfahren, dass globale Konten (nicht über chinesische Staatsbürger und nicht juristische Personen) nicht am Beta-Testprogramm teilnehmen können und im Allgemeinen die Region innerhalb Chinas mit der Region außerhalb verbinden. 1: 0 zugunsten von Ali Cloud
IPSEC
Die südlichste Region von Tencent ist Guangzhou . Wir haben einen Tunnel gebaut und ihn im GCP mit der Region Hongkong verbunden (damals war diese Region bereits verfügbar). Gleichzeitig hoben sie den zweiten Tunnel nach Ali Cloud von Shenzhen nach Hongkong. Es stellte sich heraus, dass Hongkong über das Tencent-Latenznetz im Allgemeinen besser ist (10 ms) als von Shenzhen über Hongkong nach Ali (120 ms - was?). Dies beschleunigte jedoch nicht die Arbeit des Standorts, der darauf abzielte, Tencent und diesen Tunnel zu durcharbeiten, was an sich eine erstaunliche Tatsache war und erneut Folgendes bewies: Latenz - für China ist dies kein Indikator, auf den Sie bei der Entwicklung einer Lösung für die Übergabe der Chinesen wirklich achten sollten Firewall.
Anycast Internet-Beschleunigung
Ein weiteres Produkt, mit dem Sie Anycast-IP verarbeiten können, ist AIA . Es ist aber auch für globale Konten nicht zugänglich, daher werde ich nichts darüber erzählen, aber zu wissen, dass ein solches Produkt existiert, kann nützlich sein.
Der CDN-Test zeigte jedoch recht interessante Ergebnisse. Das CDN von Tencent kann nicht auf einer vollständigen Site aktiviert werden, sondern nur auf bestimmten Domänen. Wir haben Domains und haben Datenverkehr auf ihnen gestartet:

Es stellte sich heraus, dass dieses CDN die folgende Funktion hat: Grenzüberschreitende Verkehrsoptimierung . Diese Funktion sollte die Kosten senken, wenn Datenverkehr durch die chinesische Firewall fließt. Als Ursprung wurde die IP-Adresse von Google GLB (GLB anycast) angegeben. Deshalb wollten wir die Architektur des Projekts vereinfachen.
Die Ergebnisse waren sehr gut - auf der Ebene von Ali Cloud CDN und an einigen Stellen sogar noch besser. Dies ist überraschend, denn wenn die Tests erfolgreich sind, können Sie einen erheblichen Teil der Infrastruktur, Tunnel, CEN, virtuellen Maschinen usw. aufgeben.
Wir waren nicht lange glücklich, denn das Problem wurde aufgedeckt: Die Tests bei Catchpoint wurden für den Internetprovider China Mobile gefälscht. Von jedem Ort aus haben wir über Tencent's CDN eine Auszeit bekommen. Die Korrespondenz mit dem technischen Support führte zu nichts. Ungefähr einen Tag lang haben wir versucht, dieses Problem zu lösen, aber es wurde nichts daraus.
Ich war zu dieser Zeit in China, konnte jedoch kein öffentliches WLAN im Netzwerk dieses Anbieters finden, um das Problem persönlich zu überprüfen. Ansonsten sah alles schnell und gut aus.
Aufgrund der Tatsache, dass China Mobile einer der drei größten Betreiber ist, mussten wir den Datenverkehr an Ali CDN zurückgeben.
Im Allgemeinen war dies jedoch eine ziemlich interessante Lösung, die längere Tests und Fehlerbehebungen für dieses Problem verdient.
Akamai
Der letzte CDN-Anbieter, den wir getestet haben, ist Akamai . Dies ist ein riesiger Anbieter, der ein eigenes Netzwerk in China hat. Natürlich konnten wir nicht an ihm vorbei kommen.

Von Anfang an haben wir mit Akamai eine Testphase vereinbart, damit wir die Domain wechseln und sehen können, wie sie in ihrem Netzwerk funktioniert. Ich werde das Ergebnis aller Tests in Form von "Was mir gefallen hat" und "Was mir nicht gefallen hat" sowie die Testergebnisse beschreiben.
Was hat dir gefallen:
- Die Jungs von Akamai haben in allen Angelegenheiten sehr geholfen und uns in allen Testphasen begleitet. Ständig versuchen, etwas auf ihrer Seite zu verbessern. Sie gaben gute technische Ratschläge.
- Akamai läuft über Ali Cloud CDN etwa 10-15% langsamer als unsere Lösung. Es ist beeindruckend, dass wir in Origin die GLB-IP-Adresse für Akamai angegeben haben, dh, der Datenverkehr hat unsere Lösung nicht durchlaufen (Sie können möglicherweise einen Teil der Infrastruktur aufgeben). Die Testergebnisse zeigten jedoch, dass diese Lösung schlechter ist als unsere aktuelle Version (Vergleichsergebnisse unten).
- Getestet sowohl Origin GLB als auch Origin in China. Beide Optionen sind ungefähr gleich.
- Es gibt eine sichere Route (automatische Routing-Optimierung). Sie können das Testobjekt auf Origin hosten, und der Akamai-Server Edge versucht, es aufzunehmen (reguläres GET). Für diese Anforderungen werden Geschwindigkeit und andere Metriken gemessen, auf deren Grundlage das Akamai-Netzwerk die Routen so optimiert, dass der Verkehr für unsere Site schneller wird, und es ist ersichtlich, dass die Einbeziehung dieser Funktion einen großen Einfluss auf die Geschwindigkeit der Site hatte.
- Die Versionierung der Konfiguration in der Weboberfläche ist cool. Sie können Versionen vergleichen, siehe Diff. Vorherige Versionen anzeigen.
- Sie können die neue Version zuerst nur im Akamai Staging-Netzwerk einführen - im selben Netzwerk wie die Produktion, nur auf diese Weise sind echte Benutzer nicht betroffen. Für diesen Test müssen Sie DNS-Einträge auf dem lokalen Computer fälschen.
- Sehr schnelle Download-Geschwindigkeit durch ihr Netzwerk von großen Statiken und anscheinend von allen anderen Dateien. Eine Datei aus dem "kalten" Cache wird um ein Vielfaches schneller als dieselbe Datei aus dem "kalten" Ali-CDN-Cache entnommen. Aus dem "heißen" Cache ist die Geschwindigkeit bereits plus oder minus gleich.
Ali CDN Test:
root@shenzhen1:~
Akamai-Test:
root@shenzhen1:~
Wir haben festgestellt, dass die Situation aus dem obigen Beispiel von verschiedenen Faktoren abhängt. Zum Zeitpunkt dieses Schreibens habe ich den Test erneut durchgeführt. Die Ergebnisse für beide Plattformen waren ungefähr gleich. Dies zeigt uns, dass sich das Internet in China selbst für große Betreiber und Cloud-Anbieter von Zeit zu Zeit anders verhält.
Ich werde Akamai im vorherigen Absatz ein großes Plus hinzufügen: Wenn Ali solche Blitze mit hoher Leistung und sehr geringer Leistung sehen kann (dies gilt für Ali CDN, Ali CEN und Ali IPSEC), dann bei Akamai jedes Mal, egal wie ich ihr Netzwerk teste arbeitet stabil.
Akamai hat wirklich viel Abdeckung in China und arbeitet mit vielen Anbietern zusammen.
Was nicht gefallen hat:
- Ich mag das Webinterface und das Arbeitsschema nicht - diese sind Null. Aber im Grunde gewöhnt man sich (wahrscheinlich) daran.
- Testergebnisse sind schlechter als unsere Website.
- Während der Tests treten mehr Fehler auf als auf unserer Website (Verfügbarkeit unten).
- In China gibt es keine DNS-Server. Von hier aus gibt es viele Fehler in Tests aufgrund des Zeitlimits für die DNS-Auflösung.
- Geben Sie ihre IP-Bereiche nicht an -> Es gibt keine Möglichkeit, das richtige set_real_ip_from auf unseren Servern zu registrieren.
Metriken (~ 3626 Läufe; alle Metriken außer Uptime in ms; Statistiken für einen bestimmten Zeitraum):
Perzentilverteilung (in ms):
Die Schlussfolgerung lautet: Die Option mit Akamai ist realisierbar, bietet jedoch nicht die gleichen Stabilitäts- und Geschwindigkeitsindikatoren wie unsere eigene Lösung in Verbindung mit Ali CDN.
Kleine Notizen
Einige Punkte waren nicht in der Geschichte enthalten, aber ich möchte auch darüber schreiben.
Peking + Tokio und Hong Kong
Wie oben erwähnt, haben wir den IPSEC-Tunnel nach Hongkong (HK) getestet. Wir haben CEN aber auch vor HK getestet. Es kostet etwas billiger und es war interessant, wie es zwischen Städten mit einer Entfernung von ~ 100 km funktionieren wird. Es stellte sich als interessant heraus, dass die Latenz zwischen diesen Städten 100 ms höher ist als in unserer Originalversion (nach Taiwan). Geschwindigkeit und Stabilität waren auch für Taiwan besser. Infolgedessen haben wir HK als Backup-IPSEC-Region verlassen.
Außerdem haben wir versucht, eine solche Installation zu erstellen:
- Kundenbeendigung in Peking,
- IPSEC und CEN nach Tokio,
- In Ali wurde das CDN als Ursprungsserver in Peking aufgeführt.
Dieses Schema war nicht so stabil, obwohl es in Bezug auf die Geschwindigkeit insgesamt unserer Lösung nicht unterlegen war. Was den Tunnel betrifft, so sah ich sogar für CEN, das eigentlich stabil sein sollte, periodische Abfälle. Deshalb sind wir zum alten Schema zurückgekehrt und haben diese Inszenierung abgebaut.
Nachfolgend finden Sie die Statistiken zur Latenz zwischen verschiedenen Regionen auf verschiedenen Kanälen. Vielleicht interessiert sich jemand dafür.
IPsec
Ali cn-Peking <-> GCP Asien-Nordosten1 - 193 ms
Ali cn-shenzhen <-> GCP Asien-Ost2 - 91 ms
Ali cn-shenzhen <-> GCP us-east4 - 200ms
Cen
Ali cn-beijing <---> Ali ap-nordost-1 - 54ms (!)
Ali cn-shenzhen <---> Ali cn-hongkong - 6 ms (!)
Ali cn-shenzhen <---> Ali us-east1 - 216ms
Als Ergänzung zu den Problemen mit dem Internet, die ganz am Anfang im ersten Teil des Artikels beschrieben wurden.
- Das Internet in China ist innen ziemlich schnell.
- Die Schlussfolgerung wird auf der Grundlage des Testens öffentlicher Wi-Fi-Netzwerke an verschiedenen Orten gezogen, an denen diese Netzwerke von einer großen Anzahl von Personen verwendet werden.
- Die Download- und Upload-Geschwindigkeit für Server in China betrug etwa 20 Mbit / s bzw. 5-10 Mbit / s.
- Die Geschwindigkeit zu Servern außerhalb Chinas ist mit weniger als 1 Mbit / s einfach miserabel.
- Das Internet in China ist nicht sehr stabil.
- Manchmal können Websites schnell geöffnet werden, manchmal langsam (zur gleichen Tageszeit an verschiedenen Tagen), sofern sich die Konfiguration nicht ändert. Wir haben dies am Beispiel von semrushchina.cn beobachtet. Dies kann Ali CDN zugeschrieben werden, das auch so und so funktioniert, abhängig von der Tageszeit, der Position der Sterne usw.
- Mobiles Internet ist fast überall 4G oder 4G +. Fänge in der U-Bahn, Aufzüge - kurz gesagt, überall.
- Die Tatsache, dass chinesische Benutzer nur Domains in der .cn-Zone vertrauen, ist ein Mythos. Wir haben dies direkt von den Benutzern gelernt.
- Sie können sehen, wie http://baidu.cn auf www.baidu.com umleitet (auch auf dem chinesischen Festland).
- Viele Ressourcen sind wirklich blockiert. Primitiv: google.com, Facebook, Twitter. Aber viele Google-Ressourcen funktionieren (natürlich werden nicht alle Wi-Fi und VPNs gleichzeitig verwendet (auch auf der Routerseite ist das sicher).
- Viele „technische“ Domänen blockierter Unternehmen funktionieren ebenfalls. Dies bedeutet, dass Sie nicht immer rücksichtslos alle Google- und anderen scheinbar blockierten Ressourcen ausschneiden sollten. Sie müssen nach einer Liste verbotener Domains suchen.
- Sie haben nur drei Haupt-Internetanbieter: China Unicom, China Telecom, China Mobile. Es gibt noch kleinere, aber ihr Marktanteil ist unbedeutend
Bonus: endgültiges Entscheidungsschema

Zusammenfassung
Seit Projektbeginn ist ein Jahr vergangen. Wir haben zunächst gesagt, dass unsere Website sich im Prinzip weigerte, normal aus China zu arbeiten, aber einfach GET Curl dauerte 5,5 Sekunden.
Dann mit solchen Indikatoren in der ersten Entscheidung (Cloudflare):
Als Ergebnis kamen wir zu folgenden Ergebnissen (Statistiken für den letzten Monat):
Wie Sie sehen, wurde die Verfügbarkeit zu 100% noch nicht erreicht, aber wir werden uns etwas einfallen lassen und Ihnen dann in einem neuen Artikel über die Ergebnisse berichten :)
Für den, der alle drei Teile bis zum Ende gelesen hat - Respekt. Ich hoffe, Sie waren alle genauso interessiert wie ich, als ich das tat.
PS Vorherige Teile
Teil 1
Teil 2