Manchmal lebt ein Projekt in einem kostengünstigen ausländischen Rechenzentrum, fällt unter die Teppichschlösser von Roskomnadzor, ist regelmäßig DDoS-Angriffen ausgesetzt und verfügt gleichzeitig über Terabyte an Daten und Datenverkehr.
Wie kann man damit leben?

Präambel
Wir haben eine kleine Fotobank zur Unterstützung. Wir werden den Namen und das Land nicht erwähnen, nur einige technische Daten:
50 TB Daten für die Speicherung, ca. 100 GB werden monatlich aktualisiert, „Hot Data“ (95% der Anfragen gehen an sie) - 200 GB.
Durchschnittlicher Verkehr - 50 Tb / Monat.
Vor einigen Jahren wurden mehrere Server der Hetzner SX-Serie mit großen Festplatten für die Veröffentlichung von Fotos ausgewählt (ich musste eine kompliziertere Lösung für die Speicherung der PD finden, aber dazu ein anderes Mal mehr).
Southbridge bezweifelte, dass Hetzner für ein solches Projekt geeignet war, aber das erforderliche Maß an Zugänglichkeit und Qualität der Konnektivität wurde erreicht.
Darüber hinaus ist die Verwendung von CDN für ein solches Projekt um eine Größenordnung teurer als die Verteilung von Statik von Servern in einem kostengünstigen Rechenzentrum.
Handlung
Hier in unserer Geschichte erscheint Roskomnadzor, lassen Sie es nicht umsonst erwähnen. Im Frühjahr 18 begannen Teppichschlösser, und im Mai deckten sie viele unserer Kunden ab.
Einige Kunden haben das Problem mit dem Zugriff auf Hetzner, Amazon, MS Azure, GCE und Digitalocean dramatisch gelöst: Sie haben den gesamten Server nach Russland übertragen (hi, Selectel!). Aber für unseren Helden ist eine kleine Fotobank, die ständig 50 TB Daten hin und her transportiert, zu teuer und wir wollten die Projektserver nach dem Ende der Sperren nicht in Russland lassen.
Für große und unzureichende Probleme sind kleine und angemessene Lösungen erforderlich.
Lösung
Verwenden Sie beispielsweise andere (nicht gesperrte) Server oder Dienste für das Front-End. Das Ändern des Bereichs der IP-Adressen hat nicht zu 100% geholfen, weil ILV blockierte jeden Tag neue IP-Subnetze, daher haben wir beschlossen, das Proxying über Cloudflare.com zu aktivieren. Wer es nicht weiß, schützt plötzlich nicht nur vor DDoS-Angriffen (nicht so gut wie die besten Spieler auf diesem Markt), sondern bietet auch einen CDN-Dienst an (und sie machen es gut).
Dies ist eine großartige Lösung, wenn Ihre Cloudflare-Adressen nicht blockiert sind.
Ok, schaltete es ein - und begann die Stabilität der Arbeit und die Rückkehr des Verkehrs zu überwachen. Nach dem Anschließen von CF haben wir dieses Bild in der Grafik der Verkehrszählung von einem der Server gesehen (Bild aus der Hetzner-Statistik):

Der eingehende Datenverkehr hat sich innerhalb der Fehlergrenze geändert (was auch durch den Zeitplan für das Hochladen neuer Fotos bestätigt wird, für die eine separate Überwachungsmetrik erstellt wurde). Der ausgehende Datenverkehr auf diesem Server ist zum Zeitpunkt der Verbindung von CF mehr als dreimal gesunken. Der gesamte reale Datenverkehr ging nicht dreimal zurück, nur CF begann, den Datenverkehr auf andere Weise auf die Server zu verteilen.
Zum Beispiel ein Diagramm für denselben Server aus unserem Überwachungssystem (für 3 Monate, damit es nicht zu klein ist):

Und nach einem der anderen:

Der Gesamtverkehr ging jedoch immer noch um 20% zurück, d. H. CF hat dem Projekt einen Teil des Datenverkehrs erspart.
Die durchschnittliche Latenz hat zugenommen, diese Diagramme werden jedoch nicht angezeigt.
Grund: Cloudflare hat in Russland nur wenige Verteilungspunkte. In Europa und Nordamerika ist es bereits viel effektiver.
Parallel zum Datenverkehr überwachen wir die Aktivitäten zur Nutzung des Dienstes. Neue Fotos werden in den Dienst hochgeladen und wir überwachen ihre Anzahl (und den eingehenden Verkehr).
Planen Sie 3 Monate (April bis Juni) von einem der Server ein, der Anforderungen zum Hochladen von Fotos verarbeitet:

Und hier ist noch ein Server:

Cloudflare begann den Backend-Verkehr auf etwas andere Weise zu verteilen. Aber der Inhalt wurde weiterhin geladen, der Dienst funktionierte, es gab keinen katastrophalen Qualitätsverlust (laut Nutzerbewertungen war der Unterschied im Prinzip nicht spürbar).
Es besteht auch das Risiko, dass eine blockierte Adresse in Cloudflare angezeigt wird. Sie können diese jedoch reduzieren, indem Sie einen bezahlten Tarif verwenden.
Nach Abschluss der ILV-Teppichsperre haben wir Cloudflare deaktiviert.
Was ist das Ergebnis?
- Für 5 bis 20 US-Dollar pro Monat (in unserem Fall waren es nur 5 US-Dollar pro Monat) können Sie ein ähnliches Problem lösen und nicht Tausende von US-Dollar für die Anmietung teurerer Server und die Übertragung von Daten ausgeben.
- Auch für Projekte mit Terabyte Verkehr eignen sich kostenlose oder fast kostenlose Lösungen. In der Praxis bewährt.
Als Alternative:
- DDoS-GUARD bietet einen kostenlosen Tarif mit Traffic-Proxys und Schutz vor DDoS-Angriffen.
- Mehrere DDoS-Schutzdienstanbieter hatten einen kostenlosen Hilfedienst bei solchen Blockierungen. (Übrigens haben wir auch kein zusätzliches Geld genommen, um das Problem mit Schlössern zu lösen).
- Sie können einen der bekannten CDN-Dienste nutzen: keycdn.com, cdn77.com, Akamai CDN, CDNVideo, Ngenix.net usw. Sie lösen das Problem der Blockierung des Schutzes für ihre Kunden selbst. Aber dies a) ist teurer b) löst nicht das Problem der Rückgabe nicht statischer Inhalte.
- Sie können einen anderen Proxy- und DDoS-Schutzdienst verbinden (wir haben beispielsweise viel mit Qrator und SkyparkCDN / G-Core Labs zusammengearbeitet), aber sie müssen für jedes Megabit nützlichen Datenverkehrs bezahlen und es wird sehr teuer.
- "Ihr entsperrtes Frontend" kann bei jedem Anbieter auf der Welt bereitgestellt werden. Gleichzeitig müssen Sie einen entsperrten Adressbereich auswählen und eine gute Konnektivität zwischen Ihren Servern und Frontend-Servern sicherstellen. Wenn Sie dies ernsthaft tun müssen, können Sie zuerst die Adresse automatisch aus der Liste oder manuell hier überprüfen.
Persönlich empfehle ich packet.net und servers.com für solche "Frontends" - hervorragende Konnektivität und die Möglichkeit, einen Server mit einem Stundensatz zu nutzen.
ps Wenn überhaupt - ich bin einer der RedSlerm-Lautsprecher. Komm, es wird interessant sein:
https://slurm.io/redslurm/