Cloud Intelligence™Cloud Intelligence™

Cloud Intelligence™

Amazon CloudFront-Nutzung mit Average Object Size (AOS) im Griff

By Avi KeinanSep 12, 20223 min read

Diese Seite ist auch in English, Español, Français, Italiano, 日本語 und Português verfügbar.

AWS verlangt von Kunden mitunter eine bestimmte Average Object Size (AOS). Wir erklären, wie AOS funktioniert und wie sie sich überwachen lässt.

Expertenwissen: So behalten Sie die Amazon CloudFront-Nutzung per AOS im Blick

Wie die Preisseite von Amazon CloudFront zeigt, können Kunden, die sich zu mehr als 10 TB/Monat verpflichten, beim Sales-Team von Amazon Web Services (AWS) ein individuelles Preisangebot (Private Pricing) anfragen.

Der Hintergrund ist klar: Wer sich verpflichtet, über einen bestimmten Zeitraum eine bestimmte Menge Traffic abzunehmen, bekommt von AWS einen Rabatt auf CloudFront.

In meiner Rolle bei DoiT International (AWS Premier Partner) helfe ich Kunden, ihre Nutzung und das Monitoring ihres Content Delivery Network (CDN) zu optimieren. Dabei verlangt AWS vom Kunden mitunter, eine bestimmte Average Object Size (AOS) einzuhalten. In diesem Artikel erkläre ich, wie AOS funktioniert und wie sich der Wert überwachen lässt.

So funktioniert die AOS

Die AOS ist die durchschnittliche Objektgröße über alle CloudFront-Distributionen in Ihren AWS Organizations hinweg. Berechnet wird sie in Kilobyte – und zwar denkbar einfach: Die über CloudFront übertragene Datenmenge wird durch die Anzahl der Requests (HEAD/GET HTTP/S-Requests) geteilt, die Sie über CloudFront ausgeliefert haben.

Ein Beispiel: Wenn ich über CloudFront 1.000 Requests ausliefere, die 1 GB an Datentransfer erzeugen, lautet die Rechnung:

1048576 KB (1 GB in Kilobyte) / 1000 Requests = 1048 KB AOS

Werfen Sie einen Blick in Ihren AWS-Vertrag, um zu verstehen, was eine Abweichung von der AOS bedeutet

Liegt der AOS-Verbrauch eines Kunden in einem Monat unter dem im AWS-Vertrag vereinbarten Wert, werden die HEAD/GET-Requests gemäß den Konditionen des Private-Pricing-Vertrags abgerechnet.

Liegt die AOS im Account unter dem vertraglich festgelegten Wert, erscheint im Folgemonat eine Belastung über OCBCloudfront-Rechnungen (Out of Cycle Bill CloudFront).

So überwachen Sie die AOS

Viele CFOs sowie DevOps- und FinOps-Engineers ärgern sich darüber, dass es kaum Tools zum Monitoring der AOS gibt. Bei DoiT International stellen wir unseren Kunden eine fortschrittliche Cloud-Analytics-Technologie bereit, um die AOS zu sampeln, zu überwachen und Alerts auszulösen, sobald sie unter einen bestimmten Wert fällt. Wenn der Kunde in einem Monat von der AOS abgewichen ist, sieht er die anfallenden Request-Kosten in Echtzeit.

aws-monitoring

(Cloud-Analytics-Grafik von DoiT mit der CloudFront-AOS in KB)

monitor-aws-costs

(Cloud-Analytics-Grafik von DoiT mit der CloudFront-AOS in KB)

Wir erhalten viele Anfragen von CFOs sowie DevOps- und FinOps-Engineers, die keine DoiT-Kunden sind (und auch von Wettbewerbern), die wissen möchten, ob wir sie beim AOS-Monitoring unterstützen können.

Das Geschäftsmodell von DoiT ist simpel: Wer die AWS-Accounts seines Unternehmens über uns konsolidiert, erhält alle unsere Services kostenlos. In manchen Fällen ist eine Konsolidierung zu DoiT jedoch nicht möglich.

Für genau diese Fälle habe ich eine Lösung zur Berechnung der AOS auf Basis der AWS Cost Explorer API entwickelt.

Ich habe ein Python-Skript geschrieben, das die Cost Explorer API nutzt und die AOS für einen bestimmten Monat zurückgibt. Mit den Argumenten --month und --year rufen Sie die AOS auch für zurückliegende Zeiträume ab. Bei mehreren AWS Organizations (oder AWS-Accounts) verwenden Sie das Argument --aws-profile.

aws-application-performance-monitoring

Die Profile werden aus Ihrer Datei ~/.aws/credentials gelesen (bzw. unter Windows aus C:\Users\USERNAME\.aws\credentials); das Standardprofil heißt default.

Das ist ein praktischer Workaround für AWS-Kunden, die nicht zu DoiT konsolidieren können. Als AWS Premier Partner arbeiten wir eng mit AWS zusammen und helfen Kunden, das volle Potenzial der Cloud auszuschöpfen – mit mehr Performance, Skalierbarkeit und Agilität, die ambitionierten Unternehmen einen Wettbewerbsvorteil verschaffen.