Hallo Habr! Ich präsentiere Ihnen die Übersetzung des Artikels
„Wie können Sie Ihre AWS-Kosten senken? Sparen Sie mit diesen Richtlinien bis zu 500.000 US-Dollar! “ Autor George Batschinski.

In diesem Artikel werden wir detailliert beschreiben, wie Back4App seine AWS-Ausgaben von 55.492 USD pro Monat auf 20.074 USD pro Monat gesenkt und 500.000 USD pro Jahr eingespart hat. Wir werden praktische Schritte beschreiben, die auf unseren eigenen Erfahrungen mit der Kostensenkung in AWS basieren, und Tipps austauschen, die auch für uns nützlich waren.
AWS ist weiterhin innovativ und dominiert den Cloud-Markt. Es ist so stark gewachsen, dass es zu einem wichtigen Bestandteil der Strategie von Amazon geworden ist. Ich bin von AWS begeistert, aber Zweifel an der Komplexität und den Kosten der Cloud haben mich veranlasst, die Cloud-Nutzung zu optimieren. Trotz der Tatsache, dass AWS eine ständig wachsende Liste spezialisierter Services für verschiedene Arten der Entwicklung anbietet, ist dies nicht immer der direkteste, schnellste oder kostengünstigste Weg. Idealerweise müssen Sie sofort nach dem Wechsel in die Cloud sofort über die Architektur nachdenken, um die Kosten zu senken. Dieses Material wird dazu beitragen, die Kostenoptimierung zu beschleunigen, und enthält reale Fälle, auf die wir während unseres Kostensenkungsvorhabens gestoßen sind.
Ein kurzer Überblick über das, was Sie in diesem Artikel finden:
- Beantragen Sie Kredite bei AWS und erhalten Sie bis zu 100.000 US-Dollar.
- Übertragen Sie die Datenübertragung an Cloud Front und sparen Sie bis zu 75%.
- Verwenden Sie private IP (nicht elastische IP) und zahlen Sie nicht mehr für die Datenübertragung zwischen Zugriffszonen.
- Sparen Sie mit Spot Instances bis zu 90%.
- Sparen Sie bis zu 75%, indem Sie Reserved Instances auf dem AWS Marketplace kaufen.
- Erhalten Sie reservierte Elastic Cache-Knoten und sparen Sie bis zu 77%.
- Reservieren Sie Ihre Daten in S3, jedoch nicht in EBS, und sparen Sie bis zu 75%.
- Konfigurieren Sie die automatische Skalierung für nicht genutzte Ressourcen.
- Wählen Sie die Region North Virginia und halten Sie sich von Sao Paulo fern.
- Aktualisieren Sie auf neue Instanzgenerationen und sparen Sie bis zu 20%.
- Suchen Sie den S3-Endpunkt in Ihrer VPC und aktivieren Sie das erweiterte Netzwerk auf EC2.
So sah unser AWS-Konto im Januar 2019 aus. Die Gesamtkosten der Cloud betragen 55.492 US-Dollar.

So sah unser AWS-Konto im Mai 2019 aus. Die Gesamtkosten betrugen 20.074 USD.


1. AWS-Darlehen
Zuallererst! Bevor Sie anfangen, etwas zu tun, stellen Sie bitte sicher, dass Ihr Unternehmen für AWS-Darlehen berechtigt ist. So erhalten Sie diese Darlehen:
Fragen Sie AWS nach Darlehen
So war es in unserem Fall! Im Jahr 2016 ist unser Unternehmen recht schnell gewachsen. Unsere AWS-Rechnung begann zu steigen und wir hatten keine Ahnung oder Zeit, die Verwendung von AWS zu optimieren. Da wir keine Finanzierung hatten, wurde uns klar, dass wir entweder Kredite von AWS erhalten oder verschwinden würden. Wir haben unseren Fall für unser Konto für Manager in AWS vorbereitet und gezeigt, wie schnell wir wachsen und welche Vorteile es für AWS hat, uns auf unserer Website zu unterstützen. Wir haben ihm gezeigt, dass wir keine Finanzierung hatten und gezwungen wären, zu Google Cloud zu gehen (sie boten uns Darlehen in Höhe von 100.000 USD für die Migration zu AWS an), wenn wir keine Darlehen von AWS erhalten würden. Die Antwort dauerte ungefähr eine Woche und AWS stellte uns 100.000 US-Dollar für den Einsatz über 12 Monate zur Verfügung. Es war auch für AWS ein gutes Geschäft! Seit Ablauf der Darlehen haben wir mehr als 750.000 USD für AWS ausgegeben.
Credits für das Testen und Starten von Proof Of Concept
Wenn Sie beabsichtigen, einen neuen Service von AWS oder die Art der Instanz zu testen, fordern Sie bei Ihrem Account Manager Darlehen an. Die Anzahl der Kredite hängt von Ihren monatlichen Kosten und dem Gesamtaufwand für die Einführung von POC ab. Diese Darlehen sind in der Regel nur drei Monate gültig, und Sie müssen die Geschwindigkeit des POC sicherstellen. In unserem Fall konnten wir Kredite in Höhe von 3.000 USD erhalten, um die i3-Instanzfamilie zu testen.
Startguthaben
Wenn Sie Ihr Unternehmen gegründet oder ein Startup gegründet haben, ist dies eine großartige Möglichkeit, um voranzukommen. Die Höhe der Kredite liegt zwischen 1.000 und 100.000 US-Dollar, je nachdem, wie Sie Ihren AWS-Fall präsentieren. Es gibt verschiedene Möglichkeiten, diese Kredite zu erhalten.
Beschleuniger
Einer der Hauptvorteile von Startup Accelerators in den Boni, die sie bieten. Einer dieser Boni sind Kredite von Cloud-Anbietern. Der Betrag, den Sie erhalten können, hängt von dem Beschleuniger ab, in dem Sie vertreten sind. Einige der besten, zum Beispiel YC, Alchemist, Wayra und 500 Startups, bieten Ihnen AWS-Darlehen in Höhe von 100.000 USD. In unserem Fall wurden wir von Alchemist Accelerator akzeptiert und haben Darlehen in Höhe von 100.000 USD vergeben. Leider konnten wir diese Kredite nicht nutzen, da wir zuvor bereits andere Kredite in Anspruch genommen hatten. Wenn Sie beispielsweise zwei Beschleuniger für jeweils 100.000 US-Dollar akzeptieren, können Sie keine 200.000 US-Dollar verwenden, sondern nur 100.000 US-Dollar.
Risikofonds und Gruppen von Engeln
Einige WF / Angel-Gruppen bieten Darlehen als Teil des Bonusprogramms an. In unserem Fall haben wir es geschafft, von einem unserer Investoren Marketingkredite in Höhe von 10.000 USD zu erhalten, die zwei Jahre lang gültig sind. Leider konnten wir sie nicht verwenden. Unternehmen können AWS Promotional Credits nicht verwenden, wenn sie zuvor eine gleiche oder eine größere Anzahl von Darlehen erhalten haben.
Alle führenden Cloud-Anbieter bieten Kredite für Startups an
Alle führenden Unternehmen auf dem Cloud-Markt bieten Startups Kredite an. Mit AWS / Google können Kredite bis zu 100.000 US-Dollar betragen. Bei Azure erhalten Sie drei Jahre lang 360.000 US-Dollar.
2. Implementieren Sie Kosteneinsparungen bei AWS
Der einfache Teil ist vorbei, und jetzt kommen wir zu den Herausforderungen! Es gibt keine magische Pille, um die Kosten in AWS zu senken. Sie müssen hart arbeiten und ein regelmäßiges Verfahren befolgen, um die Kosten zu überwachen! Die Reduzierung der Cloud-Kosten sollte Ihre tägliche Routine sein! Stellen Sie sich vor, wie viel Sie in 365 Tagen sparen! Die Zeit, die Sie investieren, hängt von der Größe Ihres Unternehmens und Ihren AWS-Kosten ab. Ich verbringe ungefähr 30 Minuten am Tag damit, mein Konto zu überwachen und Kostensenkungsmaßnahmen zu priorisieren. Darüber hinaus verbringen die Back4App-Ingenieure mindestens 1 Stunde pro Tag mit Kostensenkungsinitiativen.
Die erste Initiative, die wir abgeschlossen haben: Erstellen eines einfachen Arbeitsblatts in Excel, um Initiativen zur Kostensenkung zu priorisieren.
Die Hauptkriterien, anhand derer wir Einsparungen ermitteln:
- Einsparpotential - Höchste Einnahmen aus Einsparungen
- Schwierigkeit - Wie schwierig ist es, den Aufwand und die erforderliche Arbeit anzuwenden?
- Besitzer - Wer wird die Aktion ausführen?
In unserem Fall sind die größten Einsparungen die Verwendung von Elastic Compute Cloud (EC2), und dies war das erste Thema, das wir zu verstehen begannen.
3. EC2 - Elastic Compute Cloud
Deaktivieren Sie nicht verwendete Instanzen
Der erste Punkt zur Kostensenkung bei EC2 ist das Deaktivieren nicht verwendeter Instanzen. Es gibt nichts Kompliziertes und die meisten Arbeiten sind recht unkompliziert. Sie müssen lediglich eine Liste aller Instanzen erstellen, die Excel-Datei aus dem Beispiel laden und jede definieren. In unserem Fall haben wir unsere Instanzen in drei Hauptkategorien unterteilt:
- Instanzen, die kontinuierlich arbeiten müssen
- Instanzen, die gestoppt werden können
- Instanzen, die gelöscht werden können
Stoppen Sie nicht, sondern löschen Sie InstanzenEntfernen Sie nach Möglichkeit nicht verwendete Instanzen! Wenn Sie sie einfach stoppen, zahlen Sie weiterhin für die Verwendung von EBS!
Reduzieren Sie überschüssige Ressourcen
Diese Aktion ist etwas komplizierter und es ist unbedingt erforderlich, die Instanzgröße korrekt auszuwählen. Stellen Sie sicher, dass Sie mindestens eine Woche Daten auswerten, um die Wahrscheinlichkeit einer korrekten Instanzänderung zu erhöhen. Der Ansatz, mit dem wir diesen Prozess gesteuert haben, bestand darin, Instanzen in drei Hauptkategorien zu unterteilen:
- Richtige Größe
- Instanzgröße reduzieren
- Instanzgröße erhöhen
Die Überprüfung historischer Daten für eine Instanz ist äußerst einfach. Gehen Sie in der AWS-Systemsteuerung zu Dienste> EC2> Instanzen> Ausführen von Instanzen und wählen Sie Instanz> Überwachung. Sie können beispielsweise die Metrik für die CPU-Auslastung überprüfen.
Reduzieren Sie die Instanzgröße nacheinanderReduzieren Sie Ihre Instanzgröße Schritt für Schritt. Reduzieren Sie beispielsweise die Größe nicht von t2.xlarge auf t2.medium. Reduzieren Sie es zunächst von t2.2xlarge auf t2.xlarge. Schauen Sie sich eine Woche an, überprüfen Sie, wie viele Ressourcen verwendet werden, und wiederholen Sie die Schritte für eine neue. Durch Ausführen dieser Schritte minimieren Sie das Risiko von Fehlern oder Ausfallzeiten.
Verwenden Sie reservierte Instanzen
Durch das Reservieren von Instanzen können Sie Ihre Einsparungen um bis zu 70% steigern. Bitte beachten Sie, dass Sie bei der Reservierung einer Instanz für die Dauer der Reservierung rund um die Uhr bezahlen. Sie zahlen unabhängig davon, ob Sie die Instanz verwenden oder nicht.
Es gibt zwei Arten redundanter Kapazitäten:
Standard - den Sie auf dem AWS Marketplace verkaufen können, können Sie nicht in einen anderen Instanztyp konvertieren, der billiger ist als konvertierbare Instanzen.
Konvertierbar - Sie können es nicht auf dem AWS Marketplace verkaufen, aber Sie können es in eine Instanz eines anderen Typs konvertieren, die teurer als Standardinstanzen ist.
Konvertierbare Instanzen können verwirrend seinCabrio-Instanzen sind sehr schwierig! Jedes Mal, wenn Sie Instanzen konvertieren, können Sie nur die Größe der Instanz erhöhen. Betrachten Sie die folgende Situation:
Sie erwerben t3.medium, eine konvertierbare reservierte Instanz.
Sie beschließen, t3.medium in die Instanz m5.large zu konvertieren.
Sie werden sicherlich Erfolg haben! Nachdem Sie die Instanz m5.large einige Zeit verwendet haben, möchten Sie zu t3.medium zurückkehren.
Und das ist schon unmöglich!Sie können den Verbrauch der konvertierbaren Instanz nicht reduzieren, sondern nur den Betrag erhöhen, den Sie dafür bezahlen. Beginnen Sie also bitte mit einer kleinen reservierten Instanz und erhöhen Sie sie im Laufe der Zeit. Beginnen Sie nicht mit einer großen Instanz, da Sie deren Verbrauch nicht reduzieren oder auf AWS Marketplace'e verkaufen können.
Wenn Sie einen Fehler mit einer reservierten konvertierbaren Instanz machen, erhalten Sie eine monatliche Zahlung von 12 oder 36 Monaten. Bei Back4App erhalten wir immer zuerst t2.nano und erhöhen es nach Bedarf.
Ich bevorzuge Standard-Reserved-Instanzen aus folgenden Gründen gegenüber Convertible:
- Sie sind billiger
- Sie haben eine höhere Liquidität - sie können jederzeit auf dem AWS Marketplace verkauft werden.
- Sie können auf dem AWS Marketplace mit einem Rabatt gekauft werden.
Verwenden Sie AWS Marketplace für reservierte Instanzen
Reservierte Instanzen sind großartig, aber der Kauf reservierter Instanzen auf dem AWS Marketplace ist noch besser!
AWS Marketplace kann viel billiger sein
AWS Marketplace sieht aus wie ein Wertpapiermarkt! Manchmal können Sie eine reservierte Standardinstanz zu einem Preis kaufen, der viel günstiger ist als der Kauf direkt bei AWS. Der Grund ist einfach; Unternehmen besitzen manchmal redundante Instanzen, die nicht mehr verwendet werden, aber weiterhin dafür bezahlen. Die Senkung des Unterkunftspreises beschleunigt den Kaufprozess.
Hier werde ich ein Beispiel geben, was mit Back4App passiert ist. Ich suchte nach 4 r4.large reservierten Instanzen. Ich habe es geschafft, Instanzen auf dem AWS Marketplace zu finden, deren effektive Rate 75% günstiger ist als die On-Demand-Preise. AWS verkaufte die gleiche Art von reservierten Instanzen, jedoch mit einem Rabatt von 62%.
AWS Marketplace bietet flexible Einkaufsbedingungen
Ein weiterer Vorteil von AWS Marketplace besteht darin, dass Sie Instanzen mit einer flexiblen Nutzungsdauer erwerben können. AWS selbst bietet nur Optionen für 12 und 36 Monate für den Kauf reservierter Instanzen. AWS Marketplace ist viel flexibler! Sie können beispielsweise reservierte Instanzen für 15 Monate zum gleichen Preis wie für 36 Monate erwerben. Einige Unternehmen bevorzugen langfristige Verpflichtungen (36 Monate) und verkaufen diese vor Ablauf der Verpflichtung auf dem AWS Marketplace. Der neue Kunde verwendet die Instanz nur für den verbleibenden Zeitraum, zum Beispiel:
- Gesamtakquisitionszeit: 36 Monate
- Erstkäufer: Verwendet die Instanz 21 Monate lang
- Zweiter Käufer: Kauft es auf dem Marktplatz und verwendet es für die verbleibenden 15 Monate.
Die Hauptschwierigkeit besteht darin, die richtigen Instanzen auf dem AWS Marketplace zu finden.
Eine gute Möglichkeit, die Suche nach Instanzen zu vereinfachen, besteht darin, sie in mehreren Zugriffszonen zu suchen und nicht nur in der Zone, in der Sie sich befinden. Sobald Sie eine Instanz erworben haben, können Sie sie ändern und einer anderen Eingabehilfenzone zuweisen oder sie in eine regionale Instanz umwandeln. Dies ist überhaupt nicht schwierig, aber bitte befolgen Sie die folgenden Anweisungen:
- Schritt 1 - Wechseln Sie zum Dashboard für reservierte Instanzen
- Schritt 2 - Klicken Sie auf Reservierte Instanzen kaufen
- Schritt 3 - Wählen Sie in der Angebotsklasse Standard aus
- Schritt 4 - Wählen Sie in der oberen rechten Ecke des Popup-Fensters die Option "Nur Angebote anzeigen, die Kapazität reservieren".
- Schritt 5 - Klicken Sie auf Suchen
- Schritt 6 - Holen Sie sich eine Instanz aus der Verfügbarkeitszone 1b
- Schritt 7 - Warten Sie, bis die Instanz aktiv wird
- Schritt 8 - Wählen Sie die gekaufte Instanz aus
- Schritt 9 - Klicken Sie auf die Schaltfläche Aktionen
- Schritt 10 - Klicken Sie auf Reservierte Instanzen ändern
- Schritt 11 - Umfang - Verfügbarkeitszone oder -region ändern
- Schritt 12 - Klicken Sie auf Weiter
- Schritt 13 - Klicken Sie auf Änderungen senden
Wenn Sie diese Schritte ausführen, können Sie Standard Reserved-Instanzen in einer beliebigen Verfügbarkeitszone erwerben und für Ihre Verfügbarkeitszone ändern.
AWS Marketplace für Unternehmen außerhalb der USA
Wichtige Klarstellung für Benutzer außerhalb der US-Gerichtsbarkeit. Sie können Standard Reserved Instances nur dann auf dem Marktplatz verkaufen, wenn Sie eine staatliche juristische Person haben. Wenn Ihr Unternehmen außerhalb der USA findet, können Sie Instanzen auf dem Marktplatz kaufen, aber nicht verkaufen.
Verwenden Sie Spot-Instanzen
Ich liebe Spot Instances! Mit ihnen können Sie bis zu 90% sparen, und es sind keine großen Investitionen erforderlich! Das einzige Minus von Spot-Instanzen ist, dass AWS diese Instanzen in kürzester Zeit oder nach einer zweiminütigen Warnung löschen kann. In dieser Hinsicht kann diese Art von Instanzen nur für fehlertolerante oder flexible Lasten verwendet werden.
Verwenden Sie SpotInst, um Spot-Instanzen auszuführenEine sichere Möglichkeit, Spot-Instanzen auszuführen und das Ausfallzeitrisiko zu minimieren, ist die Verwendung der SpotInst-Plattform. Dieser Service stellt eine Verbindung zu Ihrem AWS-Konto her und verwaltet die Verteilung von Spot-Instanzen. Wenn die Instanz deaktiviert ist, ersetzt der Dienst sie durch On Demand und verhindert Ausfallzeiten. Die Preise sind auch sehr interessant, sie berechnen 20% der gesparten Beträge (zwischen dem Preisunterschied zwischen On-Demand und Spot).
Ein gutes Szenario für Spot-Instanzen ist die Verwendung einer Kopie von Servern für Datenbanken oder für flexible Anwendungserweiterungen. Verwenden Sie SpotInst, um die Zuordnung von Spot-Instanzen zu steuern. Höchstwahrscheinlich treten bei der Verwendung dieser Instanzklasse keine Ausfallzeiten auf.

Automatische Skalierung (Leerlaufressourcen, Automatisierung von Start / Stopp-EC2-Instanzen)
AWS Auto Scaling überwacht Ihre Anwendungen und passt die Leistung automatisch an, um eine stabile, vorhersehbare Leistung zu niedrigsten Kosten aufrechtzuerhalten. Sie können die automatische Skalierung so konfigurieren, dass EC2-Instanzen automatisch gestartet und gestoppt werden. Die automatische Skalierung berücksichtigt Ressourcenmetriken wie CPU, API-Anforderungen und Ein / Aus-Zeiten.
Um die Kosten zu minimieren, müssen Sie die automatische Skalierung + Spot-Instanzen + Reservierte Instanzen verwenden. Schauen wir uns die reale Situation an, die wir in Back4App erlebt haben. Die Arbeitsbelastung ändert sich im Laufe des Tages. Die Anzahl der Anfragen, die wir erhalten, ist nicht einheitlich und weist zu bestimmten Zeiten eine Spitzenauslastung auf. Um dieses Problem zu lösen, weisen wir Reserved Instances für die Mindestverbrauchsgrenze zu und skalieren mit Spot-Instanzen. Die folgende Abbildung hilft Ihnen beim Verständnis der Konfiguration. So viel können Sie sparen:

- Reservierte Instanzen: Bei Back4App verwenden wir eine Mischung aus 12/36 monatlichen reservierten Standardinstanzen. Unsere mittleren Einsparungen betragen 50% im Vergleich zu On-Demand-Preisen.
- Automatische Skalierung: Wir starten / stoppen Instanzen basierend auf der Gesamtzahl der API-Anforderungen, die jede Instanz empfängt. Wir haben drei Spitzenzeiten während des Tages, und die Einsparungen im Vergleich zu nicht genutzten Ressourcen, die bei maximaler Last 24 Stunden arbeiten würden, betragen ungefähr 75%.
- Spot-Instanzen: Wir haben eine Mischung aus zwei Instanzfamilien, die für maximale Verfügbarkeit auf Spotinst arbeiten. Unsere Einsparungen betragen 55% im Vergleich zu On-Demand-Preisen. Dies ist unsere Ersparnis unter Berücksichtigung des gesamten Betrags, den wir SpotInst zahlen. Durch die Verwendung von Spot-Instanzen direkt von AWS könnten wir etwa 70% einsparen, aber das Risiko erhöhen. Wir spielen gerne gemessen und haben beschlossen, einen Teil unserer Ersparnisse an SpotInst zurückzugeben.
Passen Sie die Skalierung anPassen Sie Ihre vertikale und horizontale Skalierung an (Cloudformation)
Wählen Sie die richtige AWS-Region zum Speichern aus
- Die Preise variieren zwischen den Regionen! Wählen Sie die falsche und Sie werden zu viel bezahlen.
- Die billigsten Regionen sind North Virginia, Ohio und Oregon.
Am teuersten: Sao Paulo, Sydney und Hong Kong
Betrachten Sie das folgende Beispiel:
- 4 x t3.medium Instanzen
- 30 GB EBS für jede Instanz
- 1 TB Gesamtverkehr
Die gleiche Konfiguration wird in Sao Paulo 102% teurer sein als in North Virginia.
- 221,65 USD / Monat in North Virginia
- 449,05 USD / Monat in Sao Paulo
Die Zentralisierung des Betriebs in einer Region hat auch ihre Vorteile.
- Es ist viel einfacher, die Zuordnung reservierter Instanzen zu steuern.
- Gebühren für den Verkehr zwischen Regionen fallen nicht an
Bei Back4App konnten wir aufgrund unserer Geschäftsabdeckung und Kundenanforderungen nicht alle Abläufe in North Virginia zentralisieren. Wir haben beschlossen, einen Cluster in den USA, Europa und Asien zu gründen. Wir haben unsere Aktivitäten in diesen Clustern zentralisiert und jede Region so weit wie möglich erweitert.
Aktualisieren Sie frühere Ressourcengenerationen
AWS startet gelegentlich neue Instanztypen. Neue Generationen sind mächtiger und billiger.
Die alte Generation von InstanzenC4.large
2 Kerne
3,75 GB Speicher
0,100 USD / Stunde
Die neue Generation von InstanzenC5.large
2 Kerne
4 GB Speicher
0,085 USD / Stunde
Die neue Generation ist 15% billiger und 6% leistungsstärker!
Erweitertes Netzwerk zulassenAktivieren Sie ein erweitertes Netzwerk für eine bessere Instanzleistung!
4. EBS - Elastic Block Store
EBS bietet sichere Speichervolumes zur Verwendung mit EC2-Instanzen in der AWS-Cloud.
Jedes EBS-Volume wird innerhalb der Verfügbarkeitszone dupliziert, um Sie vor Hardwarefehlern zu schützen und eine hohe Verfügbarkeit und Zuverlässigkeit zu gewährleisten. Die Kosten für jedes gespeicherte Gigabyte hängen von der Art des verwendeten Volumes ab. Die gebräuchlichsten Typen sind Allzweck-SSD und Magnetic.Allzweck-SSD0,10 USD / GB-MonatMagnetisch0,05 USD / GB-MonatEBS-Typ - SSD x Magnetisch
Beginnen Sie mit dem Taggen Ihrer Instanzen und laden Sie diese Tabelle herunter, um Ihnen das Leben zu erleichtern. Stellen Sie beispielsweise fest, ob das Volume Magnetic oder SSD ist.- Wählen Sie nach Möglichkeit Magnetisch anstelle von SSD.
- Ersetzen Sie das SSD-Volume nach Möglichkeit.
EBS-Größe - Reduzieren Sie übermäßige Volumina
Der zweite Punkt, den Sie bei EBS sparen müssen, ist die Bestimmung der Größe jedes angeschlossenen Volumes. Übermäßige Volumes und nicht verwendete Gigabyte werden häufig verwendet.Instanzen löschen - Das Stoppen hat keine Auswirkungen auf die EBS-Zahlung
Das Stoppen von Instanzen schützt Sie nicht vor den Kosten von EBS! Ihr Volumen wird weiterhin gespeichert und ist in der Zahlung enthalten! Wenn Sie die Instanz und die Daten nicht mehr benötigen, löschen Sie die Instanz! Durch diese Maßnahme werden die Kosten für EC2 und EBS gesenkt.AWS erlaubt das sequentielle Erhöhen der Größe von EBS, aber nicht das Verringern. Im Allgemeinen ist es besser, kleinere Volumina als große zu haben und EBS nur bei Bedarf zu verwenden.Lassen Sie uns abschätzen, wie teuer es sein kann. Angenommen, Sie verwenden 10 t3.small-Instanzen und jede Instanz verwendet 50 GB SSD-EBS-Speicher.Die monatliche Rechnung lautet:- Monatliche EC2-Kosten = 10 x 15,23 USD = 152,30 USD
- EBS Gesamtkapazität: 10 x 50 GB = 500 GB
- Preis pro GB: 0,10 USD pro Monat
- Monatliche EBS-Kosten: 50,00 USD
- Gesamtkosten: 182,30 USD
Dieses einfache Beispiel zeigt, dass EBS bis zu 32% der Kosten von EC2 ausmachen und einen wesentlichen Teil Ihres Kontos ausmachen kann. Dies ist ein konstanter versteckter Wert, der gesteuert werden muss.Werfen Sie einen Blick auf die kurzlebige SpeicherungBewerten Sie die Vor- und Nachteile der kurzlebigen Speicherung. Von den Vorteilen müssen Sie keine versteckten Kosten für EBS bezahlen, die Verzögerung ist geringer und Sie können Rabatte auf reservierte Instanzen erhalten. Von den Minuspunkten ist es wahrscheinlich, dass Sie nicht den gesamten internen Speicher nutzen (für den Sie weiterhin bezahlen), und die Verwendung von Spot-Instanzen wird viel schwieriger.Entfernen Sie nicht verwendete Volumes
Eine weitere Maßnahme, mit der Sie Geld sparen können, ist das Entfernen nicht verbundener und nicht verwendeter Volumes.Verwenden Sie S3, umEBS- Backups mindestens doppelt so teuer wie S3 zu halten! In der Tat sollten Sie Backups in S3 und nicht in EBS speichern. Stellen Sie zunächst sicher, dass Ihre Backups schrittweise gespeichert und alte Versionen regelmäßig gelöscht werden.5. Elastic Cache Service - Reservierte Knoten
Nur wenige wissen, dass Sie reservierte Instanzen für Elastic Cache erwerben können. Die Einsparungen sind sehr bedeutend:- 1 Jahr Reserve - 65% Rabatt
- 3 Jahre Reserve - 77% Rabatt
Der Prozess ähnelt dem Erfassen von EC2-Instanzen. Um einen reservierten Knoten zu erwerben, müssen Sie Folgendes tun:- Gehen Sie zu Elastic Cache (nicht EC2 Reserved Instances)
- Gehen Sie zu Reservierte Knoten
- Klicken Sie oben rechts auf die blaue Schaltfläche „Reservierten Knoten kaufen“
- Wählen Sie Redis oder Memcached
- Wählen Sie den Knotentyp
- Wählen Sie Ihren gewünschten Buchungszeitraum
- Wählen Sie die Angebotsart (1 oder 3 Jahre)
- Klicken Sie auf Weiter
Andere Kosteneinsparungen mit Elastic Cache sind fast die gleichen wie mit EC2. Sie müssen nicht verwendete Knoten deaktivieren und die Größe der Knoten selbst reduzieren.Es gibt keinen AWS-Marktplatz für elastischen Cache.Bitte beachten Sie, dass es keinen Marktplatz für reservierte Knoten gibt! Verwenden Sie es vor dem Kauf mindestens ein Jahr lang.6. Datenübertragung
Diese Kostenlinie kann ziemlich schnell außer Kontrolle geraten! Es ist schwierig genug zu kontrollieren, woher und woher die Daten stammen, und die Nachverfolgung ist noch schwieriger. Darüber hinaus gibt es verschiedene Arten der Datenübertragung. Zum Beispiel Datenübertragung aus der Cloud, Datenübertragung zwischen Regionen, Datenübertragung zwischen Zugriffszonen, S3-Datenübertragung usw.Ich werde Ihnen sagen, wie Back4App die Kosten für die Datenübertragung gesenkt und wie sie verfolgt wurden.Wie können die Datenübertragungskosten in AWS gesenkt werden?
Hier sind einige Dinge, die Sie tun können, um die Datenkosten zu senken.Verbinden Sie den S3-Endpunkt mit Cloudflare und anderen CDN-Diensten.
CDN (Content Delivery Network oder Data Network) Mit dieser einfachen Aktion können Sie Ihre Datenübertragungskosten um das bis zu Fünffache senken, je nachdem, wie viel Cache Sie haben.Elastische IPs - Verwenden Sie nach Möglichkeit Ihre eigenen IP-Adressen
Dies ist ein großartiges Beispiel! Der AWS-Rechner gibt an, dass die Datenübertragung in die Cloud für EC2-Instanzen kostenlos ist. Sie müssen jedoch auch das Feld für die Übertragung öffentlicher IP- / elastischer IP-Daten ausfüllen. Wenn Sie eine Verbindung mit einer öffentlichen oder elastischen IP-Adresse oder einem Elastic Load Balancer innerhalb des Amazon-Netzwerks auswählen, zahlen Sie interregionale Datenübertragungsraten, selbst wenn sich die Instanzen innerhalb derselben Verfügbarkeitszone befinden. Um Daten innerhalb einer Zugriffszone zu übertragen, können Sie solche Kosten leicht vermeiden (und die Netzwerkleistung verbessern), indem Sie nach Möglichkeit Ihre persönlichen IP-Adressen verwenden.Verwenden Sie eine Verfügbarkeitszone - Verfügbarkeitszone
Wenn Sie eine Verfügbarkeitszone anstelle mehrerer verwenden, können Sie erheblich sparen. Vermeiden oder stoppen Sie die Datenübertragung zwischen Regionen.Verwenden Sie die GraphQL-API
Einer der wesentlichen Vorteile von GraphQL ist die Reduzierung der Datenüberlieferung und damit die Reduzierung der Gesamtmenge der übertragenen Daten. Das Ersetzen von REST kann abhängig von der Struktur Ihrer Anwendung eine entmutigende Aufgabe sein. Es lohnt sich auch, die Machbarkeit eines solchen Übergangs im Voraus zu prüfen. Eine andere Alternative besteht darin, GraphQL nacheinander für neue Produkte und Funktionen zu verwenden.Mengenrabatte für Datenübertragung
Dies ist kaum zutreffend, da die für Rabatte erforderlichen Mengen sehr groß sind. Dies kann nur für große Unternehmen oder große Konten nützlich sein.Verwenden Sie CloudFront!
Sie können ein Vermögen sparen, wenn Sie diese Aktion anwenden! Außerdem können Sie die Geschwindigkeit Ihrer Anwendungen erhöhen und die Latenz generell reduzieren - ein Win-Win-Angebot. Ich werde weiter unten darüber sprechen.Wie kann man die Datenübertragungskosten verfolgen?
Es gibt zwei einfache Möglichkeiten, die Datenkosten zu verfolgen.Sie stellen die gesammelten Daten auf unterschiedliche Weise dar. In beiden Versionen können Sie besser verstehen, wie das Geld für die Datenübertragung ausgegeben wird.Um auf den Kosten-Explorer-Bericht zuzugreifen, gehen Sie zu Mein Abrechnungs-Dashboard und wählen Sie Kosten-Explorer. Wählen Sie den Bericht "Nach Dienstansicht ausgeben" aus. Ein neues Fenster wird geöffnet. Der vorbereitete Bericht für die letzten 6 Monate wird geöffnet und wir werden damit beginnen. Bitte beachten Sie, dass in der Spalte Service KEINE Datenrechnungen vorhanden sind! Diese Kosten werden durch Filter verborgen und Sie müssen tiefer graben, um sie zu finden.
Um die Datenübertragungskosten anzuzeigen, müssen Sie die Filter wie folgt konfigurieren:- Klicken Sie auf Weitere Filter, um sie zu erweitern.
- Wählen Sie Verwendungsartengruppe
- Datenübertragungsinformationen werden angezeigt
- Wählen Sie Datenübertragung - Inter AZ
- Wählen Sie Datenübertragung - Internetausgang
- Data Transfer – Region to Region Out
- S3 Data Transfer Out
- Apply Filters
Nachdem Sie alle Filter angewendet haben, sieht der Bericht folgendermaßen aus:
Jetzt haben Sie Informationen über den Datenverkehr und dessen Herkunft aus S3 oder EC2 sortiert. Wenn Sie möchten, können Sie einen ähnlichen Prozess anwenden und die Kosten weiter nach Region und Erreichbarkeitszone aufschlüsseln.Eine andere Möglichkeit, die Verkehrskosten anzuzeigen, ist ein Abrechnungsbericht. Gehen Sie zu Mein Abrechnungs-Dashboard und klicken Sie links auf Rechnungen.Der Bericht sieht ungefähr so aus:
Beachten Sie, dass eine integrierte Aufschlüsselung die Kosten für die EC2-Datenübertragung enthält. Klicken Sie auf Datenübertragung und die Analyse nach Region wird angezeigt.
Nach Auswahl einer Region wird eine Aufschlüsselung nach Art der übertragenen Daten angezeigt (ausgehender Verkehr, zwischen Verfügbarkeitszonen, interregional).
7. CloudFront
Die On-Demand-Preise von Cloudfront sinken mit zunehmendem Volumen rapide. Stellen wir uns die Übertragung von 100 TB Verkehr vor. Es kostet 0,060 USD / GB, was etwa 15% weniger ist als die gleiche Datenmenge über ELB.Cloud Front Private Contract & Volumenpreise
Hier ist der beste Weg, um Datenkosten zu senken! AWS bevorzugt die Verwendung seines CloudFront-Dienstes. Je nach Volumen können Sie den Preis für ausgehenden CloudFront-Datenverkehr auf 0,02 USD / GB senken. Dies erfordert höchstwahrscheinlich eine zweijährige Verpflichtung. Wenn Sie AWS über einen längeren Zeitraum verwenden möchten, ist dies ein großartiges Angebot. Um eine solche Vereinbarung zu treffen, müssen Sie sich an Ihren Account Manager wenden und ihn nach dem CloudFront Private Contract fragen.Amazon CloudFront SSL-Cert-Custom
Überprüfen Sie, ob Sie dieses Zertifikat verwenden. Es kostet 20 US-Dollar pro Tag und kann bei Cloudflare für 25 US-Dollar pro Monat erworben werden. Mit einem Private & Volume Pricing-Vertrag können Sie keine anderen CDN-Dienste (Cloud Delivery Network) nutzen, und diese Aktion steht Ihnen nicht zur Verfügung.8. S3 - Einfacher Speicherdienst
Einige Empfehlungen zur Preissenkung für S3-Speicher.S3 VPC-Endpunkt
Eine großartige Sparidee, die nur wenigen Personen gegeben wird, ist die Verwendung des S3 VPC-Endpunkts. Durch das Platzieren eines S3-Endpunkts in Ihrer VPC (Virtual Private Cloud) erhält jeder Datenzugriff auf S3 und erhält einen eigenen Pfad innerhalb der Cloud. AWS berechnet Ihnen keine Gebühren, als wäre es öffentlicher Datenverkehr. Je nach Volumen kann diese Technik bis zu mehreren tausend Dollar pro Monat einsparen.Verwenden Sie das richtige Speichermodell und die entsprechende Speicherklasse.
Insgesamt gibt es fünf Speichermodelle:S3 Standard$ 0.023 / GBParameter:- Failover zwischen Verfügbarkeitszonen
- Geringe Latenz und hoher Durchsatz
- Beständig gegen Ereignisse, die die gesamte Verfügbarkeitszone betreffen.
S3 Seltener Zugriff$ 0.0125 / GBParameter:- Ideal für Langzeitspeicher, Backups und Dateien im Falle einer Backup-Wiederherstellung
- Failover zwischen Verfügbarkeitszonen
- Für seltenen Zugriff, da die Kosten für den Zugriff auf Dateien umso höher sind
S3 Seltener Zugriffauf eine Zone 0,010 USD / GBParameter:- Eine Verfügbarkeitszone
- Für seltenen Zugriff
- Gute Wahl für Backup-Backups
S3 Gletscher0,004 USD / GBParameter:- Sichere, zuverlässige und kostengünstige Art der Speicherung von Datenarchiven
- Failover zwischen Verfügbarkeitszonen
- Das Hochladen von Daten kann zwischen einigen Minuten und mehreren Stunden dauern
S3 Glacier Deep Archive$ 0,00099 / GBParameter:- Der niedrigste Preis pro Gigabyte und Unterstützung für Langzeitspeicherung und digitale Aufbewahrung von Daten, die möglicherweise mehrmals im Jahr benötigt werden.
- Entladezeit innerhalb von 12 Stunden
- Failover zwischen Verfügbarkeitszonen
S3-API-Preise können verwirrend sein.Bitte beachten Sie, dass Sie jedes Mal, wenn Sie die Speicherklasse für Objekte ändern, die Anzahl der Anforderungen bezahlen. Es kann sehr schwierig sein! Ich werde die Situation, die in Back4App aufgetreten ist, teilen. Einer unserer Kunden speichert Millionen kleiner Objekte, und Daten sind selten gefragt. Zuerst haben wir alle Objekte in S3 Standard behalten und beschlossen, sie zum Speichern auf S3 Glacier zu übertragen. So weit so gut! Wir haben jedoch nicht berücksichtigt, dass AWS für jeweils 1000 Anrufe bei Glacier 0,05 USD berechnet! In unserem Fall war die Anzahl der Anfragen sehr groß, sodass sich die Umzugskosten nicht ausgezahlt haben! Vor dem Verschieben von Objekten zwischen Speicherklassen muss der Preis für Anforderungen an S3 berücksichtigt und eine Amortisationsanalyse durchgeführt werden.Löschen Sie nicht verwendete Daten in S3
Der einfachste und effektivste Weg, um in S3 zu speichern, besteht darin, alte und nicht verwendete Daten einfach zu löschen. Schauen Sie sich alte Backups und nicht verwendete S3-Buckets an. Führen Sie eine Analyse durch und löschen Sie die Daten nach Möglichkeit.9. Wählen Sie den AWS Technical Support Plan mit Bedacht aus
Insgesamt gibt es 4 Arten von technischem Support:- Basic - Kostenlos
- Entwickler - 29 USD / Monat oder 3% der Rechnung pro Monat
- Geschäft - 100 USD / Monat oder 10-3% des Kontos, je nach Volumen
- Unternehmen - 15.000 US-Dollar pro Monat
Wir haben den Businessplan ausprobiert und waren mit dem Ergebnis nicht zufrieden. Unserer Meinung nach ist es zu teuer für den Grad an Support und Support, den es bietet. Ich kann nichts über die Enterprise-Ebene sagen, da wir sie nicht verwendet haben. (Die Unternehmensebene eignet sich beispielsweise für große Unternehmen, bevor wichtige Premieren oder Produkte eingeführt werden.)Wenden Sie sich an Ihren AWS Regional ManagerSetzen Sie Ihren Regionalmanager und Lösungsarchitekten maximal ein! Sie arbeiten getrennt vom zentralen Support-Team und können wesentlich geeignetere Dienste anbieten. Das AWS-Team ist im Allgemeinen sehr kompetent und hilft sehr! Die Empfehlungen zu erweiterten Sicherheitseinstellungen und zur Verwendung von GDPR waren einfach die besten! Ich war beeindruckt von dem technischen Bewusstsein und dem Wunsch, uns zu besseren Ergebnissen zu verhelfen. Diese Unterstützung lässt Sie zweimal überlegen, bevor Sie Ihren Cloud-Anbieter wechseln.10. Überwachung und Verwaltung
Es ist schwer zu überschätzen, wie wichtig es ist, die täglichen Kosten zu berechnen und zu kennen. Sie müssen eine detaillierte Überwachung Ihrer Kosten für sich selbst einrichten und sich jeden Tag Zeit nehmen, um sich mit ihnen vertraut zu machen. Stellen Sie sich vor, wie viel Sie in 365 Tagen sparen können!Die tägliche Überwachung hilft, verdächtige Trends zu erkennen und sofort zu handeln. Best Practices in Bezug auf Überwachung und Verwaltung sind nachstehend aufgeführt:- Regelmäßige Überwachung
- Verwenden von Berichten wie:
- Abrechnungs- und Kostenmanagementbericht
- Monatliche Rechnungen
- Kosten-Explorer - Monatliche Servicekosten
- Kosten-Explorer - Verwenden von RI
- Kostenforscher - RI-Abdeckung
- Kennzeichnen Sie alles
- Messen Sie den Durchschnitt, verfolgen Sie, melden Sie Ausnahmen
- Verknüpfen Sie Ihre Umgebung mit dem AWS-Modell für gemeinsame Verantwortung
- Verwenden Sie CloudWatch und Trusted Advisor, um die Kosten zu überwachen
- Kombinieren Sie Ihre Konten und erhalten Sie Mengenrabatte
11. Neugestaltung der Architektur
Das Ändern der Architektur ist normalerweise die zeitaufwändigste Übung. Dies kann je nach Größe Ihrer Architektur Wochen bis Monate dauern.Unsere Erfahrung mit Back4App zeigt, dass Sie zuerst die einfacheren Schritte ausprobieren sollten. Im Allgemeinen bringen sukzessive Änderungen kurzfristig erhebliche Einsparungen. Verdienen Sie Geld mit solchen Änderungen und sammeln Sie Erfahrung für den Wiederaufbau Ihrer Architektur.12. Schlussfolgerung
Es gibt keine Zauberformel, um die Kosten in AWS sofort zu senken! Es ist notwendig, routinemäßig die Ausgaben zu überprüfen, Prioritäten zu setzen und hart zu arbeiten, um Ihre Ziele zu erreichen.Hier ist eine kurze Übersicht über die Schritte, mit denen wir unseren AWS-Score reduzieren konnten.- Nicht verwendete EC2-Instanzen löschen
- Überschüssige Leistung reduzieren
- Verschieben Sie den Datenfluss nach CloudFront
- Wechseln Sie zu neuen Generationen von Instanzen
- Verwenden Sie Techniken wie ein erweitertes Netzwerk
- Speichern Sie Backups in S3
- Instanzen auf AWS Marketplace & Elastic Cache Nodes reservieren
- Pflegen Sie eine gesunde Mischung aus Spot-, Reserved- und On-Demand-Instanzen
- Automatische Skalierung automatisieren
- Verwenden Sie sowohl S3 Standard als auch Glacier