Speicheroptimierte Instances
Speicheroptimierte Instances sind für Workloads ausgelegt, die einen schnellen sequenziellen Lese- und Schreibzugriff auf sehr große Datensätze erfordern, die lokal gespeichert sind. Sie sind dafür optimiert, Zehntausende von wahlfreien E/A-Operationen pro Sekunde (I/O operations per second, IOPS) mit niedriger Latenz für Anwendungen bereitzustellen.
D2-Instances
Diese Instances eignen sich ideal für:
-
Data Warehouses mit massiv-paralleler Verarbeitung (massive parallel processing, MPP)
-
Verteilte MapReduce- und Hadoop-Datenverarbeitung
-
Anwendungen für die Protokoll- oder Datenverarbeitung
D3- und D3en-Instances
Diese Instances bieten eine Scale-Out-of-Instance-Speicherung und eignen sich gut für Folgendes:
-
Verteilte Dateisysteme für Hadoop-Workloads
-
Dateispeicher-Workloads wie GPFC und BeeFS
-
Große Data-Lakes für HPC-Workloads
H1-Instances
Diese Instances eignen sich ideal für:
-
Datenintensive Datenlasten, wie z. B. MapReduce- und verteilte Dateisysteme
-
Anwendungen, die sequenziellen Zugriff auf große Datenmengen auf direkt angefügten Instance-Speichern erfordern
-
Anwendungen, die Zugriff mit hohem Durchsatz auf große Datenmengen benötigen
I3- und I3en-Instances
Diese Instances eignen sich ideal für:
-
Hochfrequenz-Systeme für die Online-Transaktionsverarbeitung (Online Transaction Processing, OLTP)
-
Relationale Datenbanken
-
NoSQL-Datenbanken
-
Cache für In-Memory-Datenbanken (z. B. Redis)
-
Data Warehousing-Anwendungen
-
Verteilte Dateisysteme
Bare-Metal-Instances ermöglichen Ihren Anwendungen direkten Zugriff auf die physische Ressourcen des Hostservers, wie z. B. Prozessoren und Speicher.
Weitere Informationen finden Sie unter Amazon EC2 I3 Instances
Inhalt
Hardwarespezifikationen
Der primäre Datenspeicher für die D2-, D3- und D3en-Instances sind HDD-Instance-Speichervolumen. Der primäre Datenspeicher für I3- und I3en-Instances sind NVMe-SSD-Instance-Speichervolumes (non-volatile memory express).
Instance-Speicher-Volumes bleiben nur während der Lebensdauer der Instance erhalten. Wenn Sie eine Instance anhalten, in den Ruhezustand versetzen oder beenden, werden die Anwendungen und Daten auf ihren Instance-Speicher-Volumes gelöscht. Wir empfehlen, wichtige Daten auf Ihren Instance-Speicher-Volumes regelmäßig zu sichern oder zu replizieren. Weitere Informationen finden Sie unter Amazon EC2-Instance-Speicher und Instance-Speicher-Volumes auf SSD.
Im Folgenden finden Sie eine Zusammenfassung der Hardware-Spezifikationen für speicheroptimierte Instances.
Instance-Typ | Standard vCPUs | Arbeitsspeicher (GiB) |
---|---|---|
d2.xlarge |
4 | 30,5 |
d2.2xlarge |
8 | 61 |
d2.4xlarge |
16 | 122 |
d2.8xlarge |
36 | 244 |
d3.xlarge |
4 | 32 |
d3.2xlarge |
8 | 64 |
d3.4xlarge |
16 | 128 |
d3.8xlarge |
32 | 256 |
d3en.large |
2 | 8 |
d3en.xlarge |
4 | 16 |
d3en.2xlarge |
8 | 32 |
d3en.4xlarge |
16 | 64 |
d3en.6xlarge |
24 | 96 |
d3en.8xlarge |
32 | 128 |
d3en.12xlarge |
48 | 192 |
h1.2xlarge |
8 | 32 |
h1.4xlarge |
16 | 64 |
h1.8xlarge |
32 | 128 |
h1.16xlarge |
64 | 256 |
i3.large |
2 | 15,25 |
i3.xlarge |
4 | 30,5 |
i3.2xlarge |
8 | 61 |
i3.4xlarge |
16 | 122 |
i3.8xlarge |
32 | 244 |
i3.16xlarge |
64 | 488 |
i3.metal |
72 | 512 |
i3en.large |
2 | 16 |
i3en.xlarge |
4 | 32 |
i3en.2xlarge |
8 | 64 |
i3en.3xlarge |
12 | 96 |
i3en.6xlarge |
24 | 192 |
i3en.12xlarge |
48 | 384 |
i3en.24xlarge |
96 | 768 |
i3en.metal |
96 | 768 |
Weitere Informationen zu den Hardware-Spezifikationen für jeden Amazon EC2-Instance-Typ
finden Sie unter Amazon EC2-Instance-Typen
Weitere Informationen zur Angabe von CPU-Optionen finden Sie unter CPU-Optionen optimieren.
Instance-Leistung
Um in Ihrer Linux-Instance die bestmögliche Leistung in Bezug auf den Datenträgerdurchsatz sicherzustellen, empfehlen wir, die neueste Version von Amazon Linux 2 oder des Amazon Linux AMI zu verwenden.
Für Instances mit NVMe-Instance-Speicher-Volumes müssen Sie ein Linux-AMI mit der Kernel-Version 4.4 oder höher verwenden. Andernfalls kann Ihre Instance die maximal verfügbare IOPS-Leistung nicht erreichen.
D2-Instances bieten die beste Datenträgerleistung, wenn Sie einen Linux-Kernel verwenden,
der persistente Gewährungen unterstützt – eine Erweiterung des Xen Block Ring-Protokolls,
die den Durchsatz und die Skalierbarkeit von Datenträgern erheblich verbessert. Weitere
Informationen über persistente Gewährungen finden Sie in diesem Artikel
EBS-optimierte Instances bieten die beste Leistung für Ihre EBS-Volumes, indem der Datenverkehr zwischen Amazon Amazon EBS-E/A und anderem Netzwerk-Datenverkehr von Ihrer Instance optimiert wird. Einige Instances, die für die Speicherung optimiert sind, sind standardmäßig und ohne zusätzliche Kosten EBS-optimiert. Weitere Informationen finden Sie unter Amazon EBS–optimierte Instances.
Bei einigen Instance-Typen, die für die Speicherung optimiert sind, ist es möglich, den C- und P-Zustand von Prozessoren unter Linux zu steuern. C-Zustände steuern den Ruhezustand eines Kerns im inaktiven Zustand. P-Zustände steuern die gewünschte Leistung (CPU-Frequenz) eines Kern. Weitere Informationen finden Sie unter Steuerung des Prozessorzustands für Ihre EC2-Instance.
Netzwerkleistung
Sie können erweiterte Netzwerke für unterstützte Instance-Typen aktivieren, um eine geringere Latenz, einen geringeren Netzwerkjitter und eine höhere PPS (Paket pro Sekunde)-Leistung zu erzielen. Die meisten Anwendungen brauchen kein gleichbleibend hohes Niveau an Netzwerkleistung, können aber vom Zugriff auf eine erhöhte Bandbreite profitieren, wenn sie Daten senden oder empfangen. Weitere Informationen finden Sie unter Enhanced Networking unter Linux.
Im Folgenden finden Sie eine Zusammenfassung der Netzwerkleistung für speicheroptimierte Instances, die Enhanced Networking unterstützen.
Instance-Typ | Netzwerkleistung | Enhanced Networking |
---|---|---|
d2.xlarge |
Mittel | Intel 82599 VF |
d2.2xlarge | d2.4xlarge |
Hoch | Intel 82599 VF |
d3.xlarge |
Bis zu 5 Gbit/s † | ENA |
d3.2xlarge |
5 Gbit/s | ENA |
i3.4xlarge und kleiner
|
Bis zu 10 Gbit/s † | ENA |
d2.8xlarge |
10 Gbit/s | Intel 82599 VF |
d3.4xlarge | i3.8xlarge | h1.8xlarge |
10 Gbit/s | ENA |
d3en.2xlarge und kleiner | i3en.3xlarge und kleiner
|
Bis zu 25 Gbit/s † | ENA |
d3.8xlarge | d3en.4xlarge | i3.16xlarge | i3.metal | i3en.6xlarge | h1.16xlarge
|
25 Gbit/s | ENA |
d3en.6xlarge |
40 GBit/s | ENA |
d3.8xlarge | d3en.8xlarge | i3en.12xlarge |
50 Gbit/s | ENA |
d3en.12xlarge |
75 Gbit/s | ENA |
i3en.24xlarge | i3en.metal |
100 Gbit/s | ENA |
† Diese Instances nutzen ein Netzwerk-E/A-Guthabensystem, mit dem Instances Netzwerkbandbreite basierend auf der durchschnittlichen Bandbreitennutzung zugewiesen wird. Sie sammeln Guthaben an, wenn ihre Bandbreite unter den Basisbandbreite liegt, und können diese Guthaben verwenden, wenn sie Netzwerk-Datenübertragungen durchführen. Um weitere Informationen zu erhalten, öffnen Sie einen Supportfall und bitten Sie um die Baseline-Bandbreite für die einzelnen Instance-Typen, an denen Sie interessiert sind.
E/A-Leistung von SSDs
Wenn Sie ein Linux-AMI mit der Kernel-Version 4.4 oder höher sowie alle in der Instance verfügbaren SSD-basierten Instance-Speicher-Volumes verwenden, können Sie (bei einer Blockgröße von 4 096 Byte) die in der folgende Tabelle aufgeführte IOPS-Leistung erreichen (bei Sättigung der Warteschlangentiefe). Andernfalls fällt die IOPS-Leistung niedriger aus.
Instance-Größe | 100 % wahlfreie Lese-IOPS | Schreib-IOPS |
---|---|---|
i3.large *
|
100 125 |
35 000 |
i3.xlarge *
|
206 250 |
70 000 |
i3.2xlarge |
412 500 |
180 000 |
i3.4xlarge |
825 000 |
360 000 |
i3.8xlarge |
1,65 Mio. |
720 000 |
i3.16xlarge |
3,3 Mio. |
1,4 Mio. |
i3.metal |
3,3 Mio. |
1,4 Mio. |
i3en.large *
|
42 500 |
32 500 |
i3en.xlarge *
|
85 000 |
65 000 |
i3en.2xlarge *
|
170 000 |
130 000 |
i3en.3xlarge |
250 000 |
200 000 |
i3en.6xlarge |
500 000 |
400 000 |
i3en.12xlarge |
1 Mio. |
800 000 |
i3en.24xlarge |
2 Mio. |
1,6 Mio. |
i3en.metal |
2 Mio. |
1,6 Mio. |
* Bei diesen Instances können Sie eine Leistung bis zu den angegebenen Werten erreichen.
Beim Ausfüllen Ihrer SSD-basierten Instance-Speicher-Volumes nimmt die E/A-Leistung, die Sie erhalten, ab. Der Grund dafür ist der zusätzliche Arbeitsaufwand für den SSD-Controller, der verfügbaren Speicherplatz suchen, vorhandene Daten neu schreiben und ungenutzten Speicherplatz löschen muss, sodass er neu beschrieben werden kann. Dieser Prozess der Speicherbereinigung führt zu einer internen Write Amplification in der SSD; diese wird im Verhältnis der SSD-Schreibvorgänge zu den Benutzer-Schreibvorgängen ausgedrückt. Dieser Leistungsabfall ist sogar noch größer, wenn die Schreibvorgänge nicht in Vielfachen von 4 096 Byte durchgeführt oder nicht auf eine 4 096 Byte-Grenze ausgerichtet werden. Wenn eine kleinere Anzahl von Bytes oder nicht ausgerichtete Bytes geschrieben werden, muss der SSD-Controller die Daten in der Umgebung auslesen und an einem neuen Ort speichern. Dieses Muster führt zu einer erheblich größeren Write Amplification, einer höheren Latenz und zu dramatischen E/A-Leistungseinbußen.
SSD-Controller können verschiedenen Strategien anwenden, um die Auswirkungen der Write Amplification zu verringern. Eine dieser Strategien besteht darin, Speicherplatz des SSD-Instance-Speichers zu reservieren, sodass der Controller den für Schreibvorgänge verfügbaren Speicherplatz effizienter verwalten kann. Diese Methode wird als Overprovisioning (übermäßige Bereitstellung) bezeichnet. Die SSD-basierten Instance-Speicher-Volumes haben keinen für das Overprovisioning reservierten Speicherplatz zur Verfügung. Zur Verringerung der Write Amplification empfehlen wir, 10 % eines Volumes nicht zu partitionieren, sodass der SSD-Controller diesen Speicherplatz für das Overprovisioning verwenden kann. Dadurch steht zwar weniger Speicherplatz zur Verfügung, aber die Leistung wird verbessert – auch wenn der Datenträger fast vollständig belegt ist.
Bei Instance-Speicher-Volumes, die TRIM unterstützen, können Sie den TRIM-Befehl dazu verwenden, dem SSD-Controller mitzuteilen, wann Sie Daten nicht mehr benötigen, die Sie geschrieben haben. Auf diese Weise hat der Controller mehr freien Speicherplatz zur Verfügung, wodurch die Write Amplification reduziert und die Leistung erhöht wird. Weitere Informationen finden Sie unter TRIM-Unterstützung für Instance-Speicher-Volumes.
Funktionen von Instances
Im Folgenden finden Sie eine Zusammenfassung der Funktionen von speicheroptimierten Instances:
Nur EBS | Instance-Speicher | Platzierungsgruppe | |
---|---|---|---|
D2 |
Nein |
HDD |
Ja |
D3 |
Nein |
HDD * |
Ja |
D3en |
Nein |
HDD * |
Ja |
H1 |
Nein |
HDD * |
Ja |
I3 |
Nein |
NVMe * |
Ja |
I3en |
Nein |
NVMe * |
Ja |
* Der Root-Gerät-Datenträger muss ein Amazon EBS-Volume sein.
Weitere Informationen finden Sie unter:
Unterstützung für vCPUs
Der d2.8xlarge
-Instance-Typ bietet 36 vCPUs, was zu Startproblemen bei bestimmten Linux-Betriebssystemen
mit einem vCPU-Limit von 32 führen kann. Es wird ausdrücklich empfohlen, beim Starten
von d2.8xlarge
-Instances aktuelle AMIs zu verwenden.
Die folgenden Linux-AMIs unterstützen den Start von d2.8xlarge
-Instances mit 36 vCPUs:
-
Amazon Linux 2 (HVM)
-
Amazon Linux AMI 2018.03 (HVM)
-
Ubuntu Server 14.04 LTS (HVM) oder höher
-
Red Hat Enterprise Linux 7.1 (HVM)
-
SUSE Linux Enterprise Server 12 (HVM)
Wenn ein anderes AMI für Ihre Anwendung erforderlich ist und der d2.8xlarge
-Instance-Start nicht abgeschlossen wird (z. B. wenn sich der Instance-Status zu stopped
während des Starts aufgrund eines Client.InstanceInitiatedShutdown
-Zustandübergangs ändert), ändern Sie die Instance wie im Folgenden beschrieben, damit
mehr 32 vCPUs unterstützt werden und Sie den d2.8xlarge
-Instance-Typ verwenden können.
Aktualisieren einer Instance zur Unterstützung von mehr als 32 vCPUs
-
Starten Sie eine D2-Instance mit Ihrer AMI. Wählen Sie einen anderen D2-Instance-Typ als
d2.8xlarge
. -
Aktualisieren Sie den Kernel auf die aktuelle Version. Befolgen Sie dabei die betriebssystemspezifischen Anweisungen. Verwenden Sie unter RHEL 6 z. B. den folgenden Befehl:
sudo yum update -y kernel
-
Halten Sie die Instance an.
-
(Optional) Erstellen Sie ein AMI aus der Instance, mit dem Sie zusätzliche
d2.8xlarge
-Instances für die zukünftige Verwendung starten können. -
Ändern Sie den Instance-Typ Ihrer angehaltenen Instance zu
d2.8xlarge
(wählen Sie Actions (Aktionen), Instance Settings, Change Instance Type aus und gehen Sie der Anleitung entsprechend vor). -
Starten Sie die Instance. Wenn die Instance ordnungsgemäß startet, ist der Vorgang abgeschlossen. Wenn die Instance noch immer nicht richtig startet, fahren Sie mit dem nächsten Schritt fort.
-
(Optional) Wenn die Instance noch immer nicht ordnungsgemäß startet, unterstützt der Kernel der Instance möglicherweise nicht mehr als 32 vCPUs. Möglicherweise können Sie die Instance starten, wenn Sie die Anzahl der vCPUs einschränken.
-
Ändern Sie den Instance-Typ Ihrer angehaltenen Instance zu einem anderen D2-Instance-Typ als
d2.8xlarge
(wählen Sie Actions (Aktionen), Instance Settings, Change Instance Type aus und gehen Sie der Anleitung entsprechend vor). -
Fügen Sie die
maxcpus=32
-Option den Boot-Kernel-Parametern hinzu. Befolgen Sie dabei die betriebssystemspezifischen Anweisungen. Beispiel: Bearbeiten Sie für RHEL 6 die/boot/grub/menu.lst
-Datei und fügen Sie die folgende Option dem aktuellen und aktivenkernel
-Eintrag hinzu:default=0 timeout=1 splashimage=(hd0,0)/boot/grub/splash.xpm.gz hiddenmenu title Red Hat Enterprise Linux Server (2.6.32-504.3.3.el6.x86_64) root (hd0,0) kernel /boot/vmlinuz-2.6.32-504.3.3.el6.x86_64
maxcpus=32
console=ttyS0 ro root=UUID=9996863e-b964-47d3-a33b-3920974fdbd9 rd_NO_LUKS KEYBOARDTYPE=pc KEYTABLE=us LANG=en_US.UTF-8 xen_blkfront.sda_is_xvda=1 console=ttyS0,115200n8 console=tty0 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_NO_LVM rd_NO_DM initrd /boot/initramfs-2.6.32-504.3.3.el6.x86_64.img -
Halten Sie die Instance an.
-
(Optional) Erstellen Sie ein AMI aus der Instance, mit dem Sie zusätzliche
d2.8xlarge
-Instances für die zukünftige Verwendung starten können. -
Ändern Sie den Instance-Typ Ihrer angehaltenen Instance zu
d2.8xlarge
(wählen Sie Actions (Aktionen), Instance Settings, Change Instance Type aus und gehen Sie der Anleitung entsprechend vor). -
Starten Sie die Instance.
-
Versionshinweise
-
Sie müssen speicheroptimierte Instances mit einem HVM-AMI starten. Weitere Informationen finden Sie unter Linux AMI-Virtualisierungstypen.
-
Für Instances, die auf dem Nitro-System basieren, gelten die folgenden Anforderungen:
-
NVMe-Treiber müssen installiert sein.
-
Elastic Network Adapter (ENA)-Treiber müssen installiert sein.
Die folgenden Linux-AMIs erfüllen diese Anforderungen:
-
Amazon Linux 2
-
Amazon Linux AMI 2018.03
-
Ubuntu 14.04 (mit
linux-aws
-Kernel) oder höher -
Red Hat Enterprise Linux 7.4 oder höher
-
SUSE Linux Enterprise Server 12 SP2 oder höher
-
CentOS 7.4.1708 oder höher
-
FreeBSD 11.1 oder höher
-
Debian GNU/Linux 9 oder höher
-
-
Wenn eine Bare-Metal-Instance gestartet wird, wird der zugrunde liegende Server gestartet, wobei alle Hardware- und Firmwarekomponenten überprüft werden. Dies bedeutet, dass es ab dem Zeitpunkt, an dem die Instance in den Betriebszustand übergeht, 20 Minuten dauern kann, bis sie über das Netzwerk verfügbar wird.
-
Zum Anfügen und Trennen von EBS-Volumes oder sekundären Netzwerkschnittstellen von einer Bare-Metal-Instance wird nativer PCIe-Hotplug-Support benötigt. Amazon Linux 2 und die neuesten Versionen von Amazon Linux AMI unterstützen im Gegensatz zu älteren Versionen native PCIe-Hotplugs. Sie müssen die folgenden Konfigurationsoptionen des Linux-Kernels aktivieren:
CONFIG_HOTPLUG_PCI_PCIE=y CONFIG_PCIEASPM=y
-
Bare-Metal-Instances nutzen anstelle eines auf dem E/A-Port basierenden seriellen Geräts ein PCI-basiertes serielles Gerät. Der Linux-Upstream-Kernel und die neuesten Amazon Linux AMIs unterstützen dieses Gerät. Bare-Metal-Instances ermöglichen dem System über eine ACPI SPCR-Tabelle zudem, das PCI-basierte serielle Gerät automatisch zu nutzen. Die neuesten Windows-AMIs nutzen automatisch das PCI-basierte serielle Gerät.
-
Mit FreeBSD AMIs brauchen Bare Metal-Instances zum Starten beinahe eine Stunde und E/A an den lokalen NVMe-Speicher werden nicht abgeschlossen. Um dieses Problem zu vermeiden, fügen Sie die folgende Zeile zu
/boot/loader.conf
hinzu und führen Sie einen Neustart durch:hw.nvme.per_cpu_io_queues="0"
-
Der
d2.8xlarge
-Instance-Typ bietet 36 vCPUs, was zu Startproblemen bei bestimmten Linux-Betriebssystemen mit einem vCPU-Limit von 32 führen kann. Weitere Informationen finden Sie unter Unterstützung für vCPUs. -
Die
d3.8xlarge
- undd3en.12xlarge
-Instances unterstützen maximal drei Anhänge, einschließlich des Root-Volumes. Wenn Sie das Anhangslimit überschreiten, wenn Sie eine Netzwerkschnittstelle oder ein EBS-Volume hinzufügen, führt dies zu Anhangsproblemen bei Ihrer Instance. -
Die Gesamtanzahl der Instances, die Sie in einer Region starten können, ist begrenzt. Für bestimmte Instance-Typen gelten zusätzliche Einschränkungen. Weitere Informationen finden Sie unter Wie viele Instances kann ich in Amazon EC2 ausführen?
in Amazon EC2 – Häufig gestellte Fragen.