Amazon Elastic Compute Cloud (Amazon EC2)
Was ist Amazon Elastic Compute Cloud (EC2)?
Amazon Elastic Compute Cloud (EC2) ist ein webbasierter Service, der es Unternehmen ermöglicht, Anwendungsprogramme in der Public Cloud von Amazon Web Services (AWS) auszuführen. Mit Amazon EC2 können Unternehmen bei Bedarf auf skalierbare und sichere Rechenkapazitäten zugreifen, um viele Arten von Arbeitslasten in AWS auszuführen.
Amazon EC2 ist eine Cloud-Plattform, die nach Bedarf skalierbare Rechenkapazitäten für viele Arten von Unternehmensanwendungen und Arbeitslasten bereitstellt.
Über Amazon EC2 können Teams auf eine zuverlässige, skalierbare Infrastruktur und sichere Rechenkapazitäten in der AWS-Cloud zugreifen, um Anwendungen zu entwickeln, ohne in teure Hardware On-Premises investieren zu müssen.
Die Kapazität lässt sich je nach den sich ändernden Geschäftsanforderungen erweitern oder reduzieren, was zu einer besseren Kontrolle der AWS-Kosten auf Grundlage der genutzten Kapazität beiträgt. Die AWS-Cloud besteht aus mehr als 200 einzelnen Services. Damit ist AWS einer der größten Cloud-Anbieter.
Die Amazon-EC2-Plattform umfasst mehr als 750 Instanzen (virtuelle Server) unterschiedlicher Typen zur Unterstützung verschiedener Arten von Unternehmensarbeitslasten. Die Benutzer können außerdem aus den neuesten Prozessor-, Storage-, Netzwerk-, Betriebssystem- und Kaufmodellen wählen, um ihre Anforderungen zu erfüllen. Diese Komponenten sind in vorkonfigurierten Vorlagen für jede Amazon-EC2-Instanz verpackt.
Wichtige Anwendungsfälle für Amazon EC2
Amazon EC2 ist eine gute Computing-Plattform für die Ausführung von Cloud-nativen und Unternehmensanwendungen. Es kann Organisationen unterstützen, die virtuelle Server starten, Sicherheitsfunktionen und Netzwerke konfigurieren und Speicher in der Cloud verwalten möchten. Dank der Fähigkeit, eine bedarfsgerechte, skalierbare Infrastruktur und Kapazität sowie eine breite Palette von Instance-Typen bereitzustellen, ist Amazon EC2 für alle diese Anwendungsfälle bestens geeignet:
- Webserver
- Code-Repositories
- Batch-Verarbeitung
- Medientranskodierung
- Hochleistungs-Webserver
- High-Performance Computing (HPC)
- wissenschaftliche Modellierung
- dedizierte Gaming-Server
- Verarbeitung großer Datensätze im Memory
- Werbeserver-Engines
- Eingabe/Ausgabe-intensive Anwendungen (E/A)
- numerische Strömungsmechanik (Computational Fluid Dynamics, CFD)
- Wettervorhersage
- molekulare Dynamik
Amazon EC2 ist auch für Machine Learning, Deep Learning und generative Anwendungen der künstlichen Intelligenz (KI) optimiert. Benutzer können Amazon EC2 zudem nutzen, um nach Bedarf macOS-Workloads für Apple-Geräte und -Plattformen zu erstellen.
Instance-Typen von Amazon EC2
Eine Amazon-EC2-Instanz ist ein virtueller Server, der eine geeignete Mischung von Ressourcen bietet, um Anwendungen auf der AWS-Infrastruktur auszuführen, ohne dass Hardware gekauft werden muss. Diese Instanzen, die sich in Bezug auf Prozessor (CPU), Memory, Storage und Netzwerkkapazität unterscheiden, umfassen Folgendes:
- allgemeiner Zweck: Diese Instanzen können für viele verschiedene Arbeitslasten verwendet werden, insbesondere für Arbeitslasten, die von einem ausgewogenen Verhältnis von Rechen-, Speicher- und Netzwerkressourcen abhängen.
- rechenoptimiert: Diese Instanzen sind für rechengebundene oder rechenintensive Anwendungen wie Batch-Verarbeitung, Medientranskodierung und HPC gedacht.
- Memory-optimiert: Diese Instanzen bieten schnelle Leistung für Workloads, die große Memory-Datensätze verarbeiten.
- beschleunigtes Rechnen: Diese Instanzen verwenden Hardwarebeschleuniger, um bestimmte Funktionen im Vergleich zur CPU-Software effizienter auszuführen.
- Storage-optimiert: Diese Instanzen liefern eine hohe Anzahl von zufälligen E/A-Operationen mit niedriger Latenz pro Sekunde (IOPS) für Arbeitslasten, die einen hohen sequentiellen Lese-/Schreibzugriff auf große lokale Datensätze erfordern.
- HPC-optimiert: Diese Instanzen bieten das beste Preis-Leistungs-Verhältnis für die Ausführung von HPC-Arbeitslasten in großem Umfang auf AWS, wie zum Beispiel komplexe Simulationen und Deep-Learning-Arbeitslasten.
Unabhängig davon, für welche Instanz sich die Benutzer entscheiden, können sie mit Amazon EC2 ihre Ressourcen so skalieren, dass sie den Anforderungen ihrer Ziel-Workloads entsprechen. Es ist auch möglich, zwischen Instanzfamilien mit Fixed Performance und Instanzfamilien mit Burstable Performance zu wählen, wobei letztere ein Basisniveau der CPU-Leistung sowie die Möglichkeit bieten, über das Basisniveau hinauszugehen.
Die für den Elastic Block Store optimierten Instanzen von Amazon EC2 bieten einen dedizierten Durchsatz zwischen Amazon EC2 und Amazon EBS, wodurch die Konkurrenz zwischen Amazon EBS-E/A und anderem Datenverkehr von der EC2-Instanz minimiert und eine optimale Leistung für EBS-Volumes erzielt wird. Gegen eine zusätzliche Gebühr können einige Amazon-EC2-Instance-Typen als EBS-optimierte Instanz ausgeführt werden.
Wie funktioniert Amazon EC2?
Um Amazon EC2 nutzen zu können, müssen sich Benutzer für ein Root-Konto bei AWS anmelden. Sie können dann die AWS Management Console verwenden, um Amazon EC2 zu verwalten.
Als nächstes bestimmen sie den Instance-Typen, der für ihre Arbeitslast am besten geeignet ist. Anschließend erstellen sie eine virtuelle Maschine (VM), indem sie im Amazon-EC2-Dashboard Launch Instance auswählen. Anschließend verbindet man sich mit ihr. Der einfachste Weg, sich mit der Instanz zu verbinden, wenn sie eine öffentliche IPv4-Adresse hat, ist mit EC2 Instance Connect, einem browserbasierten Client, über diesen einfachen vierstufigen Prozess:
- Wählen Sie im Navigationsbereich der Amazon-EC2-Konsole den Eintrag Instances.
- Wählen Sie die EC2-Instanz, zu der die Verbindung hergestellt werden soll, und wählen Sie Connect.
- Wählen Sie EC2 Instance Connect.
- Überprüfen Sie den Benutzernamen und wählen Sie Connect.
Wenn sich ein neues Terminalfenster öffnet, bedeutet das, dass der Benutzer mit dieser Instanz verbunden ist.
Es ist auch möglich, eine Verbindung zu einer Amazon-EC2-Instanz über folgende Wege herzustellen:
- Verwenden Sie einen Secure-Socket-Shell-Schlüssel (SSH) und stellen Sie dann über einen bevorzugten SSH-Client eine Verbindung zur Instanz her, während Sie die EC2 Instance Connect API verwenden.
- Konfigurieren Sie die AWS-Befehlszeilenschnittstelle (CLI) und verwenden Sie die Instanz-ID und einen SSH-Client, um sich über Amazon EC2 Instance Connect mit der Instanz zu verbinden.
Wichtige Funktionen von Amazon EC2
Einige der wichtigsten Funktionen von Amazon EC2 sind:
- mehrere Storage-Optionen: Benutzer können zwischen mehreren Storage-Optionen wählen, darunter Block-Level-Storage, Instance-Storage und Object Storage für ihre spezifischen Anforderungen. Darüber hinaus bietet Amazon EBS persistente Storage-Volumes und drei Volume-Typen – General Purpose, Provisioned IOPS und Magnetic – je nach Arbeitslasttyp und Bedarf.
- erweitertes Networking: Das bietet eine hohe Paket-pro-Sekunde-Leistung, einen geringen Netzwerk-Jitter und eine niedrige Latenz im Vergleich zu herkömmlichen Implementierungen.
- Zugang zu den Funktionen von Intel: Amazon-EC2-Instanzen mit einem Intel-Prozessor ermöglichen Benutzern den Zugriff auf viele Prozessorfunktionen, einschließlich Intel Advanced Encryption Standard New Instructions, Intel Advanced Vector Extensions, Intel Deep Learning Boost und Intel Turbo Boost Technology.
- Unterstützung für Clusternetzwerke: Einige Amazon-EC2-Instaces unterstützen Cluster-Networking, wenn sie in einer gemeinsamen Cluster-Placement-Gruppe gestartet werden, um eine Vernetzung mit geringer Latenz zwischen den Instanzen im Cluster zu ermöglichen.
- automatische Skalierung: Benutzer können die Kapazität von Amazon EC2 automatisch nach oben oder unten skalieren, indem sie Instanzen entsprechend ihren eigenen Bedingungen hinzufügen oder entfernen, indem sie die dynamischen und vorausschauenden Skalierungsrichtlinien von EC2 nutzen.
- optimierte CPU-Konfigurationen: Mit dieser Funktion können Benutzer ihre Amazon-EC2-Instanzen besser kontrollieren, indem sie beim Starten neuer Instanzen eine benutzerdefinierte Anzahl virtueller CPUs angeben. Sie können auch die Intel Hyper-Threading-Technologie für Arbeitsleisten deaktivieren, die mit Single-Threading-CPUs gut genug funktionieren.
Amazon-EC2-Benutzer können außerdem von diesen Funktionen profitieren:
- AWS-Regionen und Verfügbarkeitszonen (Availability Zone, AZ), um die Verfügbarkeit zu verbessern und die Latenz zu reduzieren
- Zugriff auf Amazon Time Sync Service, eine hochpräzise, zuverlässige und verfügbare Zeitquelle
- Amazon EC2 Fleet zur Optimierung von Skalierung, Leistung und Kosten
- Elastic Fabric Adapter zum Ausführen von Anwendungen, die ein hohes Maß an Kommunikation zwischen den Instanzen auf AWS erfordern
- AWS PrivateLink für den Zugriff auf Amazon-Services mit hoher Leistung und Verfügbarkeit
- regelmäßige Wartung durch AWS mit minimalen Unterbrechungen zwischen den Instanzen
Amazon-EC2-Preise
Wie alle anderen AWS-Services ist auch Amazon EC2 auf einer Pay-as-you-use-Basis verfügbar. Benutzer werden für die sekundengenaue Nutzung abgerechnet und zahlen nur für das, was sie verwenden.
Die Kosten für Instanzen hängen von ihrem Typ ab: On-Demand, Reserved oder Spot.
On-Demand-Instanzen ermöglichen es Unternehmen, Rechenkapazität nach Bedarf abzurufen und stunden- oder sekundenweise zu bezahlen. Es gibt keine langfristigen Verpflichtungen.
Reserved Instances (RIs) bieten einen Preisnachlass von bis zu 72 Prozent (ermäßigter Stundensatz) im Austausch für ein- oder dreijährige Vertragsbindungen. Unternehmen können diese Instanzen nutzen, um Kapazitäten in einer bestimmten AZ zu reservieren. Es sind drei Arten von RIs verfügbar: Standard, Convertible und Scheduled. Standard und Convertible RIs eignen sich für eine gleichmäßige Nutzung, während Scheduled RIs für die Anpassung der Kapazitätsreservierung an einen vorhersehbaren wiederkehrenden Zeitplan geeignet sind.
Amazon-EC2-Spot-Instanzen sind mit einem Rabatt von bis zu 90 Prozent im Vergleich zu On-Demand-Instanzen erhältlich. Spot-Instances können mit RIs und On-Demand-Instances kombiniert werden, um Kosten und Leistung zu optimieren. Spot-Instances eignen sich für die Ausführung verschiedener Arbeitslasttypen: Container, Big Data, maschinelles Lernen, HPC und Pipelines für kontinuierliche Integration/Continuous Delivery.
Neben diesen Instance-Typen können Amazon-EC2-Kunden auch einen flexiblen EC2 Instance Savings Plan nutzen, um bis zu 72 Prozent im Vergleich zu On-Demand-Instances zu sparen. Der Plan gilt automatisch für die berechtigte AWS-Nutzung, erfordert jedoch eine ein- oder dreijährige Verpflichtung zu stündlichen Ausgaben.
Vorteile von Amazon EC2
Es ist einfach, mit Amazon EC2 zu beginnen und nach Bedarf auf On-Demand-Rechenkapazität zuzugreifen. Nachdem die Instanz gestartet wurde, können sich die Benutzer mit ihr verbinden. Sie können zum Beispiel EC2 Instance Connect verwenden und die Instanz so einfach nutzen wie einen Computer, der direkt vor ihnen steht.
Amazon EC2 bietet mehrere Instance-Typen und eine breite Palette an Rechen-, Memory- und Netzwerkressourcen, was es zu einer geeigneten Lösung für viele Arten von Unternehmens-Workloads macht. Die Instanzen werden durch zahlreiche Kontrollen gesichert, um alle Anwendungen zu unterstützen. Eine solche Kontrolle ist eine Sicherheitsgruppe – eine virtuelle Firewall, die den ein- und ausgehenden Datenverkehr kontrolliert. Darüber hinaus werden sowohl private als auch öffentliche Schlüssel verwendet, um Benutzer zu autorisieren und unbefugten Zugriff zu verhindern.
Amazon EC2 unterstützt dynamisches Cloud Computing mit elastischen IP-Adressen. Bei diesen Adressen handelt es sich um statische IPv4-Adressen, wobei jede Adresse mit dem Benutzerkonto und nicht mit einer bestimmten Instanz verknüpft ist. Außerdem können die Benutzer die Adresse kontrollieren, bis sie die ausdrücklich freigeben oder sich dagegen entscheiden.
Benutzer können Virtual Private Clouds erstellen, um Amazon-EC2-Ressourcen in einem virtuellen Netzwerk zu starten. Dieses Netzwerk ist benutzerdefiniert und logisch vom Rest der AWS-Cloud isoliert. Es nutzt die skalierbare Infrastruktur von AWS und kann mit dem eigenen Netzwerk des Benutzers verbunden werden.
Ein weiterer Vorteil von Amazon EC2 ist, dass es eine kostenlose Stufe gibt. Mit dieser Stufe können sich die Benutzer mit einigen Funktionen vertraut machen und erst dann bezahlen, wenn sie für das volle Angebot bereit sind. Die kostenlose Version umfasst 750 Stunden Linux- und Windows-t2.micro-Instanzen pro Monat für ein Jahr.
Herausforderungen mit Amazon EC2
Amazon EC2 birgt einige Herausforderungen bei der Implementierung:
- Ressourcenauslastung: Entwickler müssen die Anzahl der Instanzen verwalten, um kostspielige große, lang laufende Instanzen zu vermeiden.
- Sicherheit: Entwickler müssen sicherstellen, dass öffentlich zugängliche Instanzen sicher ausgeführt werden.
- Skalierung der Bereitstellung: Der Betrieb einer Vielzahl von Instanzen kann zu unübersichtlichen Umgebungen führen, die schwer zu verwalten sind.
- Verwaltung des Lebenszyklus von Amazon Machine Images (AMI): Entwickler verwenden zu Beginn oft Standard-AMIs. Wenn sich die Anforderungen an die Datenverarbeitung ändern, werden wahrscheinlich benutzerdefinierte Konfigurationen erforderlich sein.
- laufende Wartung: Amazon-EC2-Instanzen sind VMs, die in Amazons Cloud laufen. Sie werden jedoch auf physischer Hardware ausgeführt, die ausfallen kann. AWS benachrichtigt Entwickler, wenn eine Instanz aufgrund von Hardwarewartung verschoben werden muss. Das erfordert eine laufende Überwachung.
Geschichte von Amazon EC2
Amazon EC2 war die Idee des Ingenieurs Chris Pinkham, der damit die interne Infrastruktur von Amazon skalieren und einen Infrastrukturservice für die Welt aufbauen wollte. Pinkham und sein Kollege Benjamin Black präsentierten ihre Ideen dem Amazon-CEO Jeff Bezos, der daraufhin mehr Details über virtuelle Server in der Cloud anforderte.
Amazon EC2 wurde dann von einem Team in Kapstadt, Südafrika, entwickelt. Pinkham lieferte die anfängliche Architekturanleitung, stellte ein Entwicklungsteam zusammen und arbeitete zusammen mit Black und Willem van Biljon an dem Projekt.
Im Jahr 2006 kündigte Amazon einen begrenzten öffentlichen Betatest von Amazon EC2 an, und im Jahr 2007 fügte das Unternehmen zwei neue Instance-Typen hinzu: Large und Extra-Large. Im Frühjahr 2008 kündigte Amazon die Einführung von statischen IP-Adressen, AZs und vom Benutzer auswählbaren Kernel an, gefolgt von der Veröffentlichung von EBS im August 2008.
Amazon EC2 ging am 23. Oktober 2008 in die volle Produktion. An diesem Tag veröffentlichte Amazon auch ein Service Level Agreement (SLA) für Amazon EC2, zusammen mit Microsoft Windows und SQL Server in einer Beta-Version für Amazon EC2. Im Jahr 2009 fügte Amazon die AWS Management Console, Load Balancing, Autoscaling und Cloud Monitoring Services hinzu.
Heute gehört Amazon EC2 zu den beliebtesten AWS-Produkten und ist nach wie vor eines der grundlegenden Elemente von Amazons Cloud Computing Service.
Amazon EC2 und Amazon S3 im Vergleich
Amazon EC2 und Amazon Simple Storage Service (S3) sind wichtige Dienste, die Entwicklern helfen, die Vorteile der AWS-Cloud zu maximieren.
Der Hauptunterschied zwischen den Services besteht darin, dass Amazon EC2 ein Computing-Service ist, der es Unternehmen ermöglicht, Server in der Cloud zu betreiben und auf Rechenkapazitäten für verschiedene Arten von Workloads zuzugreifen, während Amazon S3 ein Object-Storage-Service ist, der zum Speichern und Abrufen von Daten von AWS über das Internet verwendet wird. Amazon S3 ist wie eine riesige Festplatte in der Cloud, während Amazon EC2 neben Storage auch Computing-Ressourcen wie CPU und RAM bietet.
Viele Benutzer und Unternehmen nutzen beide Dienste für ihre Cloud-Computing-Anforderungen. Mit Amazon S3 können Benutzer Dateien und Datensätze speichern, die mit Amazon-EC2-Instanzen verwendet werden. Die Daten können für viele verschiedene Anwendungsfälle gespeichert und abgerufen werden, darunter Data Lakes, Websites, Backups und Big-Data-Analysen.