Storage-Kosten für Datenübertragung mit AWS-Tools optimieren
Immer mehr Backup/DR- und Storage-Services integrieren Services aus der Public Cloud, vor allem aufgrund der günstigen Kostenstruktur und guten Skalierbarkeit. Ein Unternehmen kann dies jedoch auch selbst realisieren und bei Storage und Backup/DR Kosten sparen. Beim Daten-Download (Egress) fallen jedoch mitunter Gebühren an. Um die Datentransferkonditionen möglichst wirtschaftlich zu gestalten, stellt beispielsweise Amazon (AWS) Dienste, Kostenrechner und Informationen bereit, damit der Kunde ein individuell optimales Datenübertragungsmodell erzielt und umsetzen kann.
Wenn ein Unternehmen, das über mehrere Niederlassungen verfügt, seine in AWS gespeicherten Daten verteilt und repliziert, verursacht dies beim Dienstleister AWS entsprechende Infrastrukturkosten. Diese stellt AWS unter bestimmten Bedingungen und gestaffelt in Rechnung. Um diese Datentransferkosten möglichst wirtschaftlich zu gestalten, lohnt es sich, bei der Gestaltung einer eigenen Datenübertragungsinfrastruktur eine Art Modell zu erstellen, das dafür sorgt, dass diese Kosten minimal bleiben.
Zum Glück sind die meisten ausgehenden Datenübertragungen in das Internet (Egress) bei AWS kostenlos. Amazon berücksichtigt bei den entsprechenden Gebührenstufen Datenübertragungen aus Amazon EC2, S3, Glacier, RDS, Redshift, SES (Simple Email Service), SimpleDB, DynamoDB Accelerator (DAX), SQS (Simple Queue Service), SNS (Simple Notification Service), Storage Gateway und CloudWatch Logs.
Datenübertragung innerhalb derselben AWS-Region
Die gute Nachricht vorweg: Bei einer Datenübertragung von Amazon S3 in eine Availability Zone (AZ) innerhalb derselben Region fallen keine Kosten an. Availability Zones sind mehrere isolierte Standorte innerhalb jeder Region. Jede Region ist ein separater geografischer Bereich. Da Amazon S3 ein Dienst ist, der über alle Availability Zones einer Region gleichermaßen verfügbar ist, sind in jeder Availability-Zone der jeweiligen Region immer API-Endpunkte für Amazon S3 verfügbar, so dass EC2-Instanzen keine Verbindung zu anderen Availability Zones aufnehmen müssen, um mit Amazon S3 Daten auszutauschen. Daher fallen keine Kosten für die Datenübertragung an, wenn eine EC2-Instanz mit Amazon S3 in derselben Region kommuniziert. Amazon EC2 wird in allen AWS-Infrastrukturregionen weltweit gehostet. Eine Region besteht aus mehreren Availability Zones, die jeweils ein oder mehrere Rechenzentren enthalten. Zusätzlich gibt es in einzelnen Regionen Lokale Zonen (LZ) und Wavelength-Zonen (für 5G).
Ein- und ausgehende Datenübertragungen in Amazon-EC2-, Amazon-RDS-, Amazon-Redshift-, Amazon-DynamoDB-Accelerator- (DAX-) und Amazon-ElastiCache-Instances oder an elastischen Netzwerkschnittstellen bei Availability Zones oder VPC-Peering-Verbindungen (VPC: Virtual Private Cloud) zwischen unterschiedlichen AZ derselben AWS-Region werden mit 0,01 US-Dollar pro GB in jeweils eine Richtung in Rechnung gestellt.
Datenübertragungen zwischen Amazon-EC2-, Amazon-RDS-, Amazon-Redshift-, Amazon-ElastiCache-Instanzen und elastischen Netzwerkschnittstellen in derselben Availability Zone sind grundsätzlich kostenlos. Ein- und ausgehende Datenübertragungen in Amazon Classic und Application Elastic Load Balancers mittels privater IP-Adressen zwischen EC2-Instances und dem Load Balancer in derselben AWS-Region sind kostenlos.
Preislisten und Kostenrechner
Datenübertragungen zwischen S3-, Glacier-, DynamoDB-, SES-, SQS-, Kinesis-, ECR-, SNS- oder SimpleDB- und EC2-Instanzen in derselben AWS-Region sind kostenlos. AWS-Dienste, auf die über PrivateLink-Endpunkte zugegriffen wird, werden mit den üblichen PrivateLink-Gebühren abgerechnet, die man in der Preisübersicht findet. „PrivateLink- und VPN/NAT-Gateways sind Zusatzleistungen, die vorrangig dazu gedacht sind, die Sicherheit von Anwendungen zu verbessern“, sagt Constantin Gonzalez, Principal Solution Architect bei AWS Deutschland. Die genannten Kosten reflektieren den Infrastrukturaufwand zur Erbringung der Datentransferleistung und hängen davon ab, von wo nach wo die Daten übertragen werden. (Siehe Bildergalerie, Abbildung 3 im Abschnitt „Datenübertragung innerhalb der gleichen AWS-Region“.)
Ein Beispiel: Ein Amazon S3 Bucket, das in einer AWS-Region erzeugt wurde, ist grundsätzlich in allen Availability Zones derselben Region gleichwertig erreichbar, und die Datenübertragung von diesem Amazon S3 Bucket in eine Amazon EC2-Instanz in derselben Region – egal, in welcher Availability Zone dieser Region – ist immer kostenlos. Um indes die kompletten Kosten berechnen zu können, bietet es sich an, den AWS-Kostenrechner zu verwenden, der auf vielen Preislistenseiten zur Verfügung steht. So lässt sich etwa schnell herausfinden, dass die Leistungsfähigkeit einer EC2-Compute-Instanz mit ihrem Preis korreliert: Je performanter sie ist, desto höher die Gebühr.
Das Beispiel 1 in konkreten Zahlen: Ein Software-Unternehmen möchte Downloads anbieten. Die Dateien werden auf Amazon S3 bereitgestellt, und das Unternehmen erwartet 1 TB pro Monat als Gesamtmenge von Downloads.
1 TB = 1.024 GB
1 GB Data Transfer Out (DTO) pro Monat von Amazon S3 zum öffentlichen Internet ist kostenlos.
Die nächsten 9.999 TB DTO zum Internet kosten 0,09 US-Dollar pro GB.
1 GB * 0,00 US-Dollar + 1.023 GB * 0,09 US-Dollar = 92,07 US-Dollar Gebühren für den Transfer von Daten aus Amazon S3 zum öffentlichen Internet.
So lassen sich die Kosten für Datenübertragungen planen
AWS hat in seinen Richtlinien für die Architekturoptimierung mehrere „Säulen“ zusammengestellt. Eine dieser Säulen ist die Kostenoptimierung. Damit Nutzer architekturbezogene Entscheidungen zur Kostenoptimierung treffen können, sollten sie beispielsweise möglichst die Datenübertragungskosten einplanen und überwachen. Eine geringfügige, aber effektive Änderung an der Architektur kann die Betriebskosten über einen längeren Zeitraum hinweg erheblich senken. Mit „Architektur“ meint AWS die Zusammenstellung mehrerer Services zu einer Gesamtlösung. Das AWS Well-Architected Framework gibt Empfehlungen für optimierte Architekturentscheidungen heraus.
Zu den Best Practices gehört zunächst die Modellierung einer Datenübertragung. Man stelle die Organisationsanforderungen zusammen und führe eine Datenübertragungsmodellierung des Workloads und ihrer einzelnen Komponenten durch. Dadurch wird der niedrigste Kostenpunkt für die jeweiligen aktuellen Datenübertragungsanforderungen ermittelt. Um die Datenübertragungskosten zu berechnen, schaut man in die AWS-Preisseiten und kalkuliert die Datentransferkosten für einen bestimmten Workload. Man sollte sie auch auf verschiedenen Nutzungsebenen für Erhöhungen und Verringerungen der Workload-Nutzung berechnen.
Um die Verbindung von Kosten mit Ergebnissen herzustellen, gibt man für alle anfallenden Datenübertragungskosten das Ergebnis an, das für den Workload erzielt wird. Erfolgt der Transfer zwischen Komponenten, lässt sich dies für die Entkopplung verwenden. Erfolgt der Transfer zwischen Availability Zones, kann dies der Redundanz dienen.
Der nächste Schritt besteht in der Auswahl von Komponenten zur Optimierung der Datenübertragungskosten. Alle Komponenten sind ausgewählt, und die Architektur ist so konzipiert, dass die Datenübertragungskosten gesenkt werden. Dies umfasst auch die Verwendung von Komponenten wie WAN-Optimierung und Multi-AZ-Konfigurationen.
Nutzer sollten sich mithilfe des Datenübertragungsmodells darauf konzentrieren, wo die größten Datenübertragungskosten liegen oder wo sie sich befänden, wenn sich die Workload-Nutzung änderte. Sie sollten nach alternativen Architekturen oder zusätzlichen Komponenten suchen, die den Datenübertragungsbedarf beseitigen oder reduzieren oder die Kosten senken.
AWS CloudFront
Der dritte Schritt besteht in der Implementierung von Services zur Senkung der Datenübertragungskosten. Man sollte Services implementieren, mit denen die Datenübertragung reduziert wird. So empfiehlt es sich, beispielsweise ein CDN (Content Delivery Netzwerk) wie Amazon CloudFront für die Übermittlung von Inhalten an Endbenutzer, Caching-Layer mit Amazon ElastiCache oder AWS Direct Connect anstelle von VPN für die Verbindung mit AWS zu verwenden.
Beispiel 2: Dasselbe Software-Unternehmen wie oben verwendet nun Amazon CloudFront als CDN für die Verteilung der Daten aus demselben Amazon S3 Bucket heraus.
Der Datentransfer von Amazon S3 zu Amazon CloudFront ist kostenlos.
Der Datentransfer von Amazon CloudFront in das öffentliche Internet für Clients in den USA, Kanada, Mexiko, Europa und Israel kostet 0,085 US-Dollar pro GB für die ersten 10 TB.
1.024 * 0,085 US-Dollar = 87,04 US-Dollar Gebühren für den Datentransfer. Darüber hinaus ist der Download für die Kunden des Unternehmens schneller, da er nun aus lokal näher gelegenen CloudFront Points-of-Presence (POPs) erfolgt und die Daten dort lokal vorgehalten werden können.
Das Software-Unternehmen spart mit Amazon CloudFront (1 – (87,04 US-Dollar / 92,07 US-Dollar)) * 100 = 5,5 % DTO-Kosten gegenüber S3 alleine.
AWS Caching
Wenn die Wahl schwerfällt, schaut man in der Datenübertragungsmodellierung nach, wo sich die höchsten Kosten und Volumenströme befinden. Dann überprüft man die AWS-Services und schaut nach, ob es einen Service gibt, der die Übertragung reduziert oder entfernt, insbesondere die Netzwerk- und Inhaltsbereitstellung. Es ist ratsam, auch nach Caching-Services zu suchen, bei denen wiederholt auf Daten oder große Datenmengen zugegriffen wird. Sie brauchen nicht neu geladen zu werden, was wiederum die Latenzzeit verringert.
Beispiel 3: Unser Software-Unternehmen hat einen echten Hit gelandet und erwartet nun 50 TB Downloads pro Monat. Nun kann es von der gestaffelten Preisliste von Amazon CloudFront profitieren.
Für die ersten 10 TB fallen wie bisher 0,085 US-Dollar pro GB an. Die nächsten 40 TB pro Monat kosten nur noch 0,080 US-Dollar pro GB.
10 * 1.024 * 0,085 US-Dollar = 870,40 US-Dollar.
40 * 1.024 * 0,080 US-Dollar = 3.276,80 US-Dollar.
870,40 US-Dollar + 3.276,80 US-Dollar = 4.147,20 US-Dollar Gesamtkosten für die Software-Verteilung.
Ohne Amazon CloudFront betrügen die Kosten aus S3 alleine heraus 50 * 1.024 * 0,09 US-Dollar = 4.608,00 US-Dollar.
Das Software-Unternehmen spart mit Amazon CloudFront (1 – (4.147,20 US-Dollar / 4.608,00 US-Dollar)) * 100 = 10 % DTO-Kosten gegenüber einer reinen S3-Lösung.
Beispiel 4: Ein Biotech-Unternehmen aus Deutschland möchte Gensequenzierungsdaten mit einem Partnerunternehmen in den USA austauschen. Das Unternehmen rechnet mit einer Menge von 10 TB, die pro Monat ausgetauscht werden sollen.
Der Datentransfer von Amazon S3 zwischen zwei Regionen kostet 0,02 US-Dollar pro GB.
10 TB = 10.240 GB
10.240 GB * 0,02 US-Dollar = 204,80 US-Dollar.
Diese Kosten fallen nur für Daten an, die das Unternehmen zu seinem Partner in den USA liefert. Daten, die das Partnerunternehmen nach Deutschland liefert, sind für unser deutsches Unternehmen kostenlos, weil der Partner diese im Rahmen eines eigenen AWS-Accounts bereits bezahlt hat.
Vogel IT-Medien GmbH
Max-Josef-Metzger-Str. 21
86157 Augsburg
Telefon: +4982121770
Telefax: +49 (821) 2177-150
https://www.vogel-it.de