Über billige Rechenzentren, RKN- und DDoS-Schutz

    Manchmal lebt das Projekt in einem billigen ausländischen Rechenzentrum, fällt unter die Teppiche von Roskomnadzor, wird regelmäßig von DDoS-Angriffen geplagt, hat aber gleichzeitig Terabytes an Daten und Verkehr.


    Wie soll ich damit leben?



    Präambel


    Wir haben eine kleine Fotobank zur Unterstützung. Wir geben nicht den Namen und das Land an, nur einige technische Daten:
    50 TB Daten werden gespeichert, ca. 100 GB werden monatlich aktualisiert, „heiße Daten“ (95% der Anfragen gehen an sie) - 200 GB.
    Durchschnittlicher Verkehr - 50 TB / Monat.


    Vor einigen Jahren haben wir mehrere Hetzner SX-Server mit großen Festplatten für das Posten von Fotos ausgewählt (zum Speichern von PD mussten wir eine kompliziertere Lösung finden, aber dazu später mehr).


    In Southbridge zögerte er, dass Hetzner für ein solches Projekt geeignet sei, aber das erforderliche Maß an Zugänglichkeit und Verbindungsqualität wurde erreicht.


    Außerdem ist die Verwendung eines CDN für ein solches Projekt um ein Vielfaches teurer als die Verteilung von Statik von Servern in einem kostengünstigen Rechenzentrum.


    Plot


    Hier erscheint Roskomnadzor in unserer Geschichte, sein Name sollte nicht vergeblich erwähnt werden. Im Frühjahr 18 begannen Teppichblockaden, 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 radikal gelöst: Die Server wurden vollständig nach Russland transferiert (Hallo, Selectel!). Aber für unseren Helden, eine kleine Fotobank, ist es ständig teuer, 50 TB Daten hin und her zu transportieren und wir würden die Projektserver nach dem Ende der Sperren nicht in Russland verlassen.


    Für große und unangemessene Probleme sind kleine und angemessene Lösungen erforderlich.


    Lösung


    Verwenden Sie beispielsweise andere (nicht blockierte) Server oder Dienste für das Frontend. Das Ändern des IP-Adressbereichs hat nicht zu 100% geholfen, weil Jeden Tag blockierte der RKN neue und neue IP-Subnetze. Daher entschieden wir uns, über Cloudflare.com eine Proxying-Verbindung herzustellen. Plötzlich schützen sie sich nicht nur vor DDoS-Angriffen (nicht so gut wie die besten Spieler auf diesem Markt), sondern bieten auch einen CDN-Service (und sie machen es gut).


    Dies ist eine großartige Lösung, wenn die von Ihnen verwendeten Cloudflare-Adressen nicht blockiert sind.


    Ok, sie haben es eingeschaltet - und haben begonnen, die Stabilität und Leistung des Verkehrs zu überwachen. Nach dem Anschluss der CF haben wir auf einem der Server folgendes Bild in der Verkehrszählungstabelle gesehen (Bild aus der Hetzner-Statistik):



    Der eingehende Datenverkehr hat sich innerhalb der Fehlergrenze geändert (dies wird durch den Zeitplan für das Hochladen neuer Fotos bestätigt, für den eine separate Überwachungsmetrik erstellt wurde), der auf diesem Server zum Zeitpunkt des Verbindungsaufbaus der CF 3+ Mal ausfiel. Der reale Gesamtverkehr fiel nicht um das Dreifache, nur CF begann, den Verkehr auf verschiedene Server zu verteilen.


    Zum Beispiel der Zeitplan für denselben Server aus unserem Überwachungssystem (für 3 Monate, damit er nicht zu klein ist):



    Und einer der anderen:



    Der Gesamtverkehr sank jedoch immer noch um 20%, d. H. CF hat etwas Verkehr für das Projekt gespart.


    Die durchschnittliche Latenzzeit hat zugenommen, aber diese Grafiken werden nicht angezeigt.


    Der Grund: Cloudflare hat wenige Verteilungspunkte für den Verkehr in Russland. In Europa und Nordamerika wirkt es viel effektiver.


    Parallel zum Verkehr überwachen wir die 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 Herunterladen von Fotos verarbeitet:



    Und hier ist ein anderer Server:



    Cloudflare begann, den Verkehr auf etwas andere Weise auf die Backends zu verteilen. Der Inhalt wurde jedoch weiter geladen, der Dienst funktionierte, ein katastrophaler Qualitätsverlust trat nicht auf (gemäß den Rückmeldungen der Nutzer der Dienste war der Unterschied grundsätzlich nicht erkennbar).


    Das Risiko, eine gesperrte Adresse bei Cloudflare zu erhalten, ist ebenfalls vorhanden. Sie kann jedoch durch einen bezahlten Preis reduziert werden.
    Nachdem wir die "Teppichblockierung des Namens des RKN" abgeschlossen hatten, schalteten wir Cloudflare aus.


    Was ist das ergebnis


    • Für 5–20 $ / Monat (in unserem Fall waren es nur 5 $ / Monat), können Sie ein ähnliches Problem lösen und nicht Tausende von Dollar für das Mieten teurerer Server und das Übertragen von Daten ausgeben.
    • Auch für Projekte mit Terabytes Verkehr sind kostenlose oder fast freie Lösungen geeignet. In der Praxis getestet.

    Als Alternative:


    • DDoS-GUARD bietet eine kostenlose Rate mit Traffic-Proxying und Schutz vor DDoS-Angriffen.
    • Mehrere DDoS-Schutzdienstanbieter hatten einen kostenlosen Hilfsdienst für solche Sperren. (Übrigens, wir haben auch kein zusätzliches Geld gebraucht, um das Blockierungsproblem zu lösen.)
    • Sie können einen der bekannten CDN-Dienste in Anspruch nehmen: keycdn.com, cdn77.com, Akamai CDN, CDNVideo, Ngenix.net und andere, die das Problem des Blockierungsschutzes für ihre Kunden lösen. Dies ist jedoch a) teurer b) löst nicht das Problem der Rückgabe nicht statischer Inhalte.
    • Sie können einen anderen Dienst für Proxying und Schutz gegen DDoS-Angriffe anschließen (wir haben beispielsweise viel mit Qrator und SkyparkCDN / G-Core Labs gearbeitet), aber sie müssen für jedes Megabit nützlichen Datenverkehrs zahlen, und das wird wirklich teuer.
    • "Sie können Ihr eigenes, nicht blockiertes Frontend" bei jedem der Provider weltweit bereitstellen, indem Sie einen nicht gesperrten Adressbereich auswählen und eine gute Verbindung zwischen Ihren Servern und den Frontend-Servern sicherstellen. Wenn Sie dies dringend tun müssen, können Sie die Adresse automatisch anhand der Liste oder manuell hier überprüfen .

    Ich persönlich empfehle packet.net und servers.com für solche "Frontends" - hervorragende Konnektivität und die Fähigkeit, stündlich bezahlte Server zu nutzen.


    ps Wenn das - ich bin einer der Redner von "RedSlerom". Komm, es wird interessant:
    https://slurm.io/redslurm/


    Jetzt auch beliebt: