Video: AWS Webcast "Wolkig & Heiter" - Episode 2 mit Skipjaq 2024
geliefert. Vor einigen Jahren war die Auswahl der für eine Anwendung zu verwendenden Instanz eine einfache Angelegenheit. Amazon Web Services (AWS) lieferte einige Instance-Typen, die sich primär linear entwickelten. Das heißt, wenn Sie mehr Verarbeitungsleistung haben wollten, haben Sie einen Instanztyp ausgewählt, der mehr ECUs enthielt, und er war mit größeren Mengen an Speicher und Speicher ausgestattet - ein Kinderspiel.
Es ist jetzt viel schwieriger zu entscheiden, welcher Instanztyp verwendet werden soll, da Amazon mehrere Familien von Instanzen gestartet hat (das Wortspiel entschuldigen), die Sie bei der Optimierung für eine bestimmte Funktionalität unterstützen.
Zum Beispiel, was ist, wenn Ihre Anwendung speicherintensiv ist, wie es bei bestimmten Analyse-Anwendungen der Fall ist? Früher mussten Sie eine Instanz aus der Familie der Standardinstanztypen verwenden, und Sie mussten Instanzen mit großen Speichermengen verwenden, die eine große Anzahl von Steuergeräten enthielten, selbst wenn Ihre Anwendung nicht viel Verarbeitungsleistung benötigte. So war es eben.
Bildtypen sind nur eine Seite der EC2-Münze. Sie müssen auch Instanztypen berücksichtigen - die Typen virtueller Maschinen, die Sie in AWS ausführen können.
Instanzen unterscheiden sich durch die Anzahl der drei Arten von Rechenressourcen:
-
Verarbeitungsleistung: Jede Instanz hat eine bestimmte Anzahl von EC2 Recheneinheit s (ECU), was eine Benchmark-Menge an Verarbeitungsleistung ist (das Äquivalent der CPU-Kapazität eines Opteron- oder 2007-Xeon-Prozessors mit 1,0-1,2 GHz). Zum Beispiel hat die kleine Instanz in AWS 1 EC2-Recheneinheit oder 1 ECU.
-
Speicher: Jede Instanz enthält eine bestimmte Menge an Arbeitsspeicher, gemessen in Gigabyte. Eine kleine Instanz hat 1. 7 GB Speicher.
-
Speicher: Jede Instanz verfügt über eine bestimmte Menge an Plattenspeicher. Eine kleine Instanz verfügt über 170 GB Plattenspeicher.
Je nach Instanztyp kann ein Teil des Plattenspeichers, der einer Instanz zugeordnet ist, unformatiert bereitgestellt werden - bevor sie verwendet werden kann, muss sie mit einem Dateisystem formatiert werden, das vom Betriebssystem der Instanz verwendet werden kann.
-
Netzwerkkonnektivität: Jede Instanz wird mit einer virtuellen Netzwerkschnittstellenkarte (NIC) ausgeliefert, über die sie mit anderen Geräten oder Diensten kommuniziert. Jede Instanz erhält zwei IP-Adressen: eine private Adresse, die ausschließlich in AWS verwendet wird, und eine öffentliche Adresse, die für den Internetzugriff auf die Instanz verwendet wird.
Nicht alle Instanztypen erhalten nur eine NIC. Instanzen in der AWS Virtual Private Cloud (VPC) können mehrere NICs enthalten.
Offensichtlich ist dies einerseits ein positives Dilemma, weil Sie vielleicht eine Familie finden, die gut auf das Nutzungsprofil Ihrer Anwendung abgestimmt ist. Auf der anderen Seite (und es gibt immer andererseits) müssen Sie bei der Entscheidung, welche Instanzfamilie Ihrer Anwendung am ehesten entspricht, die gebotene Sorgfalt walten lassen (dazu müssen Sie die Betriebseigenschaften Ihrer Anwendung im Detail verstehen).
In der EC2-Dokumentation beschreibt Amazon die Angebote von EC2-Instanzen (zum Beispiel High-CPU) als Familien, und die verschiedenen Größen von Instanzen (M1, wobei M beispielsweise für Medium steht)., wie Typen.
In der Praxis beziehen sich fast alle anderen (einschließlich AWS-Mitarbeiter) auf eine Familie aus der AWS-Dokumentation als Typ ("Dies ist eine Instanz vom Typ High-CPU", zum Beispiel) und geben aus der AWS-Dokumentation als Größe ein ("Das ist beispielsweise eine M1 Large Size-Instanz"). Diese Diskussion verwendet den gängigeren Ansatz, weil es so ist, wie Sie es von fast jedem diskutiert haben, aber auch weil es logischer ist.
Springen Sie damit in eine Beschreibung der Instanztypen:
-
Micro: Sehr, sehr klein; bietet eine begrenzte Menge an CPU und Speicher, obwohl Micro-Instanzen für kurze Zeiträume auf 2 ECU geplatzt sind. Verwenden Sie diesen Typ für Anwendungen mit niedrigem Durchsatz und Websites mit geringem Datenverkehr. Der Micro-Typ ist auch als Teil des AWS Free Usage Tier verfügbar, der für das Lernen und Experimentieren nützlich ist.
-
Standard: Der "durchschnittliche" Typ und mit Abstand der am weitesten verbreitete; bietet ein ausgewogenes Verhältnis von CU, Speicher und Festplatte, das für gängige Anwendungen geeignet ist.
-
Hohe CPU: Für höhere CUs als für Speicher und eignet sich gut für verarbeitungsintensive Anwendungen. Eine Anwendung zum Zählen von Zahlen ist der kanonische Anwendungsfall für Instanzen mit hoher CPU.
-
Hoher Speicher: Erhöht den Arbeitsspeicher und nicht die CPU. Dieser Typ eignet sich gut für Datenbank-Apps, Analyse-Apps und Apps, die auf Speicher-Caching basieren. Wenn Sie ein Caching-Tier-Produkt wie memcached ausführen, ist dieser Instanztyp eine gute Wahl.
-
High I / O: Bietet einen hohen Durchsatz (Input + Output - I / O, mit anderen Worten) und eignet sich gut für Anwendungen, die viele Daten verschieben. Es ist eine gute Wahl, um einen eigenen Schlüsselwert-Speicherdienst wie Cassandra oder MongoDB auszuführen, anstatt den DynamoDB-Dienst von AWS zu verwenden. High-I / O-Instanzen verfügen über Verbindungen mit hohem Durchsatz (10 Gbps) und verwenden Solid-State-Laufwerke für eine hohe Festplattenleistung.
-
Cluster Compute: Bietet eine große Anzahl von Steuergeräten zusammen mit Hochleistungsnetzwerken (10 Gbps). Dieser Instanztyp, der sich gut für hochperformante Rechenaufgaben eignet (sehr große Anwendungen für spezialisiertes Zahlen-Crunching, wie Ölfeldseismik-Analyse), läuft auf spezieller Hardware, mit angepassten AMIs, die ebenfalls eine andere, effizientere Art der Virtualisierung verwenden. als eng verbundene Maschinen für eine bessere Netzwerkleistung.
-
Cluster-GPU: Analog zu Cluster Compute-Instanzen, aber mit grafischen Verarbeitungseinheiten (denken Sie an den Prozessor in der Grafikkarte Ihres PCs, wenn Sie ein Spieler sind), die für bestimmte Anwendungen besser geeignet sind. Dazu gehören bestimmte Varianten der High-Performance-Computing (HPC) -Netzwerkanalyse. Cluster-GPU-Instances funktionieren ähnlich wie Cluster Compute-Instanzen, allerdings mit unterschiedlichen CPU-Chips in den Servern, auf denen diese Instanzen ausgeführt werden.