Wie genau funktioniert die Netzwerkpreisgestaltung auf Cloud-Plattformen? Und wie kann ich dedizierte Preisangriffe vermeiden?

Wie genau funktioniert die Netzwerkpreisgestaltung auf Cloud-Plattformen? Und wie kann ich dedizierte Preisangriffe vermeiden?

Ich bin ziemlich neu im Bereich Cloud-Plattform-Infrastrukturen. Der Einfachheit halber gehen wir davon aus, dass die einzigen beiden Plattformen, die ich bespreche, AWS und Google Cloud sind.

Nehmen wir nun an, ich habe einen HTTP-Server, der hauptsächlich HTTP-Antworten über eine offene API für ein Online-Spiel verarbeitet. Nehmen wir an, die durchschnittliche Antwortgröße beträgt 10 KB und es werden täglich etwa eine Million Antworten gesendet.

Nach meinem Verständnis hängt der monatliche Preis von der übertragenen Datenmenge in GB ab. Jetzt ist mein Problem, dass der Preis ins Unermessliche steigen wird, wenn jemand ein Skript schreibt, das immer wieder Antworten von meinem Server erhält.

Ich bin sicher, dass jeder gute Server dieses Problem vermeidet, aber ich bin mir nicht sicher, wie genau dieses Problem vermieden wird. Meiner Beobachtung nach optimieren viele echte große API-Server für Online-Spiele ihre Antwortgröße nicht, wenn sie nur ein paar KB beträgt. Es muss eine Art „Fester monatlicher Betrag oder Zahlung auf Basis der pro Sekunde übertragenen Datenmenge" etwas, das passiert, und das nicht von der übertragenen Datenmenge abhängt.

Ich konnte auf den Plattform-Websites jedoch einfach keinen Hinweis auf solche Optionen finden.

Jede Hilfe wäre willkommen.

Antwort1

Cloud-Dienste bieten enorme Vorteile für Projekte, die speziell für ihre Nutzung entwickelt wurden. Wenn es um Anwendungs-/Webhosting geht, eignen sich Cloud-Preismodelle für Unternehmen, die ihr Haupteinkommen von Benutzern erzielen, die die jeweilige Anwendung/Website verwenden.

Sofern es sich dabei nicht um Ihre Haupteinnahmequelle handelt (in diesem Fall sollten Sie problemlos zwischen reinem Web-Traffic und Gewinnen wechseln können), ist Cloud-Hosting möglicherweise überhaupt nicht für Sie geeignet.

Bedenken Sie, dass Sie, wenn Ihre Anwendung nicht für eine Cloud-Infrastruktur entwickelt wurde (wie der besagte Spieleserver), keine Vorteile gegenüber einem Single-Instance-VPS/Dedicated-Hosting haben, es sei denn, Sie haben einige Zeit in DevOps-Arbeit investiert. Dieselbe DevOps-Arbeit ist erforderlich, um den von Ihnen beschriebenen Angriff auf Ihre Bandbreite wirksam zu verhindern.

Da diese Art von Angriff bereits einen Namen hat, können Sie einige mehr oder weniger brauchbare Ratschläge finden, indem Sie nach "Ablehnung der Brieftasche"

Antwort2

Keiner der Cloud-Anbieter bietet XX Bandbreite zu einem Festpreis an. Die Preisgestaltung richtet sich nach dem Verbrauch.

Sie sind für die Kontrolle des Clientzugriffs auf Ihre Ressourcen verantwortlich.

Dies bedeutet, dass Sie Authentifizierung, Drosselung oder andere Technologien einsetzen, aber Sie entscheiden, wie und mit welchen Produkten.

Cloud-Dienste sind wie der Bau eines Hauses. Home Depot stellt Ihnen nicht unbegrenzt Nägel und Holz zur Verfügung. Sie kaufen, was Sie zum Bau Ihres Hauses benötigen. Dann kaufen Sie Brennstoff, um Ihr Haus zu heizen.

Ich arbeite seit Tag Null in der Cloud. Davor waren es private Rechenzentren. Ihre Bedenken sind berechtigt, aber in der realen Welt kommt es nicht oft genug vor, um die meisten von uns davon abzuhalten, in der Cloud zu arbeiten. Um Ihre Bandbreite zu verbrauchen, muss ich meine verfügbare Netzwerkbandbreite verbrauchen. Wenn ein Hacker Sie lahmlegen möchte, stehen ihm viele schmerzhaftere Methoden zur Verfügung, die für ihn viel billiger sind und bei denen es schwieriger ist, herauszufinden, wer und wo er sich befindet.

Antwort3

Auf der Serverseite können Sie dies folgendermaßen vermeiden:

  • Fordern Sie eine Authentifizierung für Anfragen. Mit anderen Worten: Machen Sie es so, dass SieWHOführt solche Angriffe durch und macht solche Angriffe zu einem Verstoß, der zu einem Ausschluss führen kann. Dann sperren Sie die Erstellung Ihres Kontos ordnungsgemäß, sodass es nach einem Ausschluss nicht einfach ist, an neue Anmeldeinformationen zu gelangen.
  • Implementieren Sie eine Ratenbegrenzung. Normalerweise geschieht dies in mehreren Schritten, oft mit einer Ratenbegrenzung pro authentifiziertem Konto (damit jeder Benutzer eine Ratenbegrenzung hat), pro API-Endpunkt (damit rechenintensive Endpunkte, die nicht sehr oft aufgerufen werden, nicht so leicht für DoS-Angriffe missbraucht werden können) und möglicherweise insgesamt pro IP. Sie sollten dies aus anderen Gründen tun (vor allem zum Schutz vor intelligenten DoS-Angriffen und der Möglichkeit zeitbasierter Angriffe auf die Spiellogik).
  • Nutzen Sie eine gute Komprimierung im Protokoll. Für die von Ihnen angegebene Antwortgröße lohnt es sich wahrscheinlich, Brotli in Betracht zu ziehen (oder möglicherweise Snappy oder LZ4). Es sollte schnell genug sein, um Ihre Leistungsanforderungen zu erfüllen, aber dennoch ein paar KB von der Antwortgröße abziehen, und angesichts der Tatsache, dass Millionen von Anfragen pro Monat bearbeitet werden, ist dies eine nicht unerhebliche Datenmenge, die eingespart wird.

Was die Abschwächung an anderer Stelle angeht, ist das nicht so einfach. Vollständige Cloud-Anbieter wie der, von dem Sie sprechen, bieten oft eine minimale „kostenlose Stufe“, damit Entwickler problemlos experimentieren können, ohne ein Vermögen auszugeben. Ich glaube, bei AWS sind es beispielsweise 5 GB pro Monat für ausgehende Daten (für eingehende Daten berechnen sie überhaupt keine Gebühren). Näher kommt man in einem solchen vollständigen Cloud-Setup der Blockierung der Nutzung, wie Sie es beschreiben, nicht heran, denn die meisten Benutzer profitieren davon,genauanteilige Nutzung im Gegensatz zum Kauf in „Blöcken“.

Wenn Sie jedoch wirklich einen großen Brocken wollen, schauen Sie sich AWS Lightsail an. Dort kaufen Sie ein Paketangebot eines virtuellen Knotens, das eine feste Anzahl von CPUs, eine feste Menge an RAM und integriertem Speicher sowie eine festgelegte Obergrenze für die Netzwerknutzung umfasst. Eine Netzwerknutzung unterhalb dieser Obergrenze in einem Abrechnungszeitraum kostet nichts, während eine darüber liegende Nutzung wie bei einer vollständigen Cloud-Einrichtung anteilig berechnet wird. Ich weiß nicht, ob GCP ein Äquivalent hat, aber die meisten VPS-Anbieter (wie Vultr, Linode oder Digital Ocean) arbeiten für ihre primären Angebote auf die gleiche Weise, und ich würde tatsächlich vorschlagen, stattdessen dort nachzuschauen, wenn Sie diesen Weg gehen. Die Netzwerkobergrenzen liegen dabei normalerweise im Bereich mehrerer Terabyte, und normalerweise wird nur die Richtung mit der höheren Nutzung für die Abrechnung verfolgt.

verwandte Informationen