Übersicht

Neben den Vorteilen in Bezug auf Leistung, Sicherheit und Verfügbarkeit Ihrer Webanwendung kann CloudFront auch verwendet werden, um die Kosten zu senken. Zum einen können Sie mit dem Preismodell von CloudFront möglicherweise Ihre Ursprungskosten senken. Zum anderen können Sie Ihr CloudFront-CDN konfigurieren und Ihre Anwendung so gestalten, dass Sie weniger Kosten haben. Allgemeinere Informationen zur Kostenoptimierung mithilfe von AWS-Services finden Sie in der Säule „Kostenoptimierung“ des AWS-Well-Architected-Framework. Mit AWS Cost Explorer und AWS Budgets können Sie Ihre Kosten überwachen und aufschlüsseln.

CloudFront-Preise

Das Preismodell von CloudFront umfasst mehrere Dimensionen. Die zwei dominantesten davon sind Folgende:

  • Die ausgehende regionale Datenübertragung zum Internet, die für die Menge an GB steht, die CloudFront Benutzern im Internet zur Verfügung stellt. Der Preis hängt dabei von der Region der Benutzer ab. Er wird anhand von binären Gigabyte gemessen (d. h. 1 GB = 1 024 MB) und beinhaltet nur die HTTP-Nutzlast (also ohne TLS-Handshake-Datenübertragung).
  • Die Anfragegebühren, die die Anzahl der HTTP(S)-Anfragen ausmachen, die von CloudFront bearbeitet werden. Außerdem richten sich die Gebühren nach der Region der Benutzer.

Standardmäßig verwendet CloudFront sein gesamtes Netzwerk, um Inhalte bereitzustellen und die beste Leistung zu erzielen. Wenn Sie bereit sind, einen Kompromiss bei den Bereitstellungskosten einzugehen, können Sie Preisklassenoptionen in CloudFront konfigurieren.

CloudFront bietet ein kostenloses Kontingent, das 1 TB DTO und 10 Millionen HTTP(S)-Anfragen pro Monat umfasst. Wenn Sie AWS WAF in Kombination mit CloudFront verwenden, könnte sich eine Investition in das CloudFront-Sicherheitssparpaket lohnen, da Sie dadurch bis zu 30 % der CloudFront-Gebühren einsparen. Für größere Datenmengen (10 TB und mehr) wenden Sie sich bitte an uns, um weitere Ermäßigungen als Gegenleistung für eine höhere finanzielle Verpflichtung zu erhalten, wenn Sie eine private Preisvereinbarung unterzeichnen. Der verfügbare Rabatt fällt höher aus, wenn Ihr Gesamtdatenverkehr HTTP-Objekte mit einer höheren durchschnittlichen Größe enthält. Daher empfehlen wir, CloudFront für mehrere Workloads (API-Bereitstellung und Bereitstellung statischer Dateien) zu verwenden, um den Gesamtrabatt zu erhöhen, den Sie im Rahmen einer privaten Preisvereinbarung erhalten können.

Wichtig: Bei Verwendung mit einem AWS-basierten Ursprung ersetzt die ausgehende Datenübertragung von CloudFront die ausgehende Datenübertragung des Ursprungs. Sie zahlen dann nicht für die ausgehende Datenübertragung des Ursprungs.

Prüfen und optimieren Sie Ihre Nutzung optionaler Funktionen von CloudFront, die zusätzliche Kosten verursachen könnten, z. B. die Invalidierung von Inhalten.

Optimieren der Kosten für Invalidierungen in CloudFront

Gemäß den CloudFront-Preisen können Sie pro Monat ohne zusätzliche Kosten 1 000 Pfade für die Invalidierung verwenden. Darüber hinaus kostet es 0,005 USD pro Pfad, der für die Invalidierung angefordert wurde. Hinweis: Ein in Ihrer Invalidierungsanfrage aufgeführter Pfad steht für die URL (oder mehrere URLs, falls der Pfad einen Platzhalter enthält) des Objekts (oder der Objekte), das Sie aus dem CloudFront-Cache entfernen möchten.

Beachten Sie die folgenden Tipps, um die Kosten von Invalidierungen mit CloudFront zu optimieren:

  • Verlassen Sie sich standardmäßig auf HTTP-Cache-Kontrollmechanismen (z. B. Cache-Control-Header, URL-Versionsverwaltung, bedingte Anfragen) und bevorzugen Sie CDN-basierte Invalidierungen für Notfallszenarien. Weitere Details finden Sie in diesem Blog.
  • Verwenden Sie in Ihren Invalidierungen gegebenenfalls einen Platzhalter, um mehrere Dateien mit einer einzigen Invalidierungsanfrage zu entfernen. Beispiel: Mit /stories/sports/worldcup* können Sie alle Artikel, die im Zusammenhang mit der Weltmeisterschaft stehen, auf einmal invalidieren.

Mithilfe von AWS Budgets können Sie die Nutzung von Invalidierungen überwachen und Alarme einrichten.

Verwenden von CloudFront, um die Kosten Ihrer Webanwendungen zu senken

CloudFront reduziert nativ die Kosten Ihrer Webanwendung, indem es Ihren Ursprung auslagert. Erstens bearbeitet CloudFront cachefähige Anfragen direkt aus seinem eigenen Cache, wodurch die Skalierungskosten Ihres Ursprungs reduziert werden. Sie können Ihre CloudFront-Konfiguration optimieren, um den Ursprung zusätzlich auszulagern, indem Sie die Cache-Trefferquote erhöhen (z. B. durch Aktivierung von Origin Shield). Zweitens werden TCP/TLS-Verbindungen zu Ihrem Ursprung für dynamische Anfragen wie API-Aufrufe in CloudFront wiederverwendet, wodurch die Anzahl neuer Verbindungen, die vom Ursprung verarbeitet werden müssen, und die Anzahl der TLS-Zertifikate, die vom Ursprung ausgehen, reduziert werden. Dadurch werden die Kosten von Quellen wie ALB verringert, da der LCU-Verbrauch dank der reduzierten Anzahl neu aufgebauter Verbindungen pro Sekunde und der Anzahl der verarbeiteten Byte sinkt.

Sie können CloudFront auf unterschiedliche Weise konfigurieren, um Ihre Kosten weiter zu senken. Mit GZIP oder Brotli können Sie z. B. Textdateien komprimieren, um ausgehende Datenübertragungen zu reduzieren. Ein weiteres Beispiel: Wenn Ihre Anwendung Edge-Funktionen benötigt, können Sie bevorzugt auf CloudFront-Funktionen setzen, da dies günstiger ist als Lambda@Edge. Mit bewährten Methoden können Sie Ihre Edge-Funktionen optimieren und die zugehörigen Kosten senken.

Außerdem sollten Sie lieber den standardmäßigen Cache-Control-Header verwenden, um die Aktualität Ihres Caches zu kontrollieren, anstatt in Ihren täglichen Abläufen auf Invalidierungen zu setzen. Der Cache-Control-Mechanismus ist zuverlässiger, ermöglicht Ihnen die Steuerung des Caching im Browser und verursacht keine Kosten (im Vergleich zu CloudFront-Invalidierungen, wenn das Kontingent von 1 000 Invalidierungen pro Monat erschöpft ist). Invalidierungen sind für Notfallszenarien vorgesehen.

AWS-WAF-Optimierung

Der größte Teil der AWS-WAF-Kosten sind in der Regel die Anfragegebühren. Sie können diese Kosten auf verschiedene Arten reduzieren:

  • Aktivieren Sie AWS WAF ausschließlich in der CloudFront-Distribution, die gemäß Ihrer Bedrohungsmodellierung geschützt werden muss. Wenn Ihre auf S3 gehosteten statischen Inhalte beispielsweise keinen WAF-Schutz benötigen, verschieben Sie sie in eine separate Domain (z. B. static.example.com) in einer separaten CloudFront-Distribution und aktivieren Sie AWS WAF nur in der Hauptdistribution (z. B. www.example.com), die Ihre HTML-Dateien bereitstellt.
  • Wenn Sie Shield Advanced abonnieren, sind die AWS-WAF-Anfragegebühren in den Shield-Advanced-Preisen enthalten. Shield Advanced berechnet ein monatliches Abonnement und eine Premiumgebühr für Ihre anwendungsbasierte ausgehende Datenübertragung. Wenn Ihre Anwendung anfrageintensiv ist (hoher Anfragen-pro-Sekunde-Wert mit niedriger durchschnittlicher Nutzlast, z. B. mit APIs), kann Ihnen die Aktivierung von Shield Advanced helfen, Ihre gesamten WAF-Kosten zu senken.
  • Für einige AWS-WAF-Regeln fallen zusätzliche Kosten an, z. B. CAPTCHA, AWS Bot Control oder von Anbietern im AWS Marketplace verwaltete Regeln. Optimieren Sie diese Kosten, indem Sie die Regeln auf bestimmte Bedingungen beschränken (z. B. CAPTCHA nur bei verdächtigen IPs oder Bot Control nur für HTML-Anfragen) und am Ende der WebACL die Möglichkeit bieten, dass zuvor kostenlose Regeln bösartige Anfragen ohne zusätzliche Kosten blockieren. In diesem Blog finden Sie eine ausführlichere Erläuterung der Kostenoptimierungen für WAF-Regeln.

Optimierung auf Anwendungsebene

Es gibt Methoden auf Anwendungsebene, die Sie implementieren können, um die Kosten der CloudFront-Bereitstellung zu senken. Betrachten Sie die folgenden Methoden:

  • Nutzen Sie das Browser-Caching, um die Anzahl der von CloudFront übermittelten Anfragen zu reduzieren.
  • Implementieren Sie ETags für Ihre Objekte, um bedingte Anfragen zu ermöglichen. Objektaktualisierungen mit „304 Not Modified“-Antworten sind im Vergleich zu vollständigen Abrufen günstiger.
  • Implementieren Sie die Bildoptimierung, um Bilder mithilfe moderner Formate wie WebP und Avif zu komprimieren. Laden Sie Bilder auf Ihrer Website außerdem verzögert, um zu vermeiden, dass von Browsern nicht gerenderte Bilder heruntergeladen werden.
  • Implementieren Sie adaptives Bitrate-Streaming für die Videoübertragung. Ziehen Sie die QVBR-Videokodierung in Betracht. Erwägen Sie, je nach Gerätetyp eine optimierte Wiedergaberangliste bereitzustellen. In diesem Blog wird dieses Konzept erklärt, allerdings mit dem Fokus auf Lambda@Edge, weil die CloudFront-Funktionen noch nicht verfügbar waren.
  • Verwenden Sie für API-Aufrufe nach Möglichkeit eine Richtlinie des gleichen Ursprungs, wodurch die Kosten für CORS-OPTION-Preflight-Anfragen entfallen. Weitere Informationen dazu finden Sie in diesem Blog.
  • Sehen Sie sich alle Protokollierungsoptionen an und wählen Sie die kostengünstigste Variante für Sie aus. Die Standardzugriffsprotokolle von CloudFront werden ohne zusätzliche Gebühren zur Verfügung gestellt, gelten jedoch für Ihren gesamten Datenverkehr. Die Echtzeitprotokolle von CloudFront werden hingegen durch CloudFront Cache Behavior und zu inkrementellen Kosten nach Pflichtfeldern granular konfiguriert. WAF bietet mehrere Protokollierungsoptionen, von denen die kostengünstigste auf Kinesis Firehose basiert. Beachten Sie, dass Sie protokollierte Anfragen anhand von Dimensionen wie Regelaktion oder ausgegebenem Label filtern können.

Ressourcen

War diese Seite hilfreich?