Cloud Computing verstehen: Die AWS EC2-Instance
Die EC2-Instanz – Wie EC2-Instanzen erstellt werden – EC2-Instanzen und AWS-Regionen
Wenn Sie noch nie von AWS gehört haben, empfehle ich Ihnen, mit diesem Artikel zu beginnen , der die Grundlagen von Clients, Servern, Datenbanken und Cloud Computing behandelt. Dieser Artikel gibt einen Überblick über einige der wichtigen Konzepte, bietet jedoch keine grundlegenden Informationen über das Innenleben des Internets oder von Servern.
Kurz zusammengefasst ist Cloud Computing der Verkauf von Rechenressourcen – denken Sie an Datenbanken, Server und Software – über das Internet. Einzelpersonen wie Sie können Speicherplatz und Zeit auf Hardwareinfrastruktur mieten, die Cloud-Service-Anbieter auf der ganzen Welt aufgebaut haben. Dies vereinfacht den Softwarebereitstellungsprozess.
Vergessen Sie den kostspieligen Aufbau der Infrastruktur und die Verschwendung von Ressourcen. Kleine Unternehmen und Einzelpersonen haben jetzt Zugriff auf Ressourcen, die früher nur Fortune-500-Unternehmen zur Verfügung standen. Sie können Anwendungen mit wenigen Klicks auf der ganzen Welt bereitstellen und zahlen nur für die Ressourcen, die sie nutzen, wenn sie sie nutzen.
Die EC2-Instanz
EC2-Instances sind virtuelle Server, die auf der Cloud-Computing-Infrastruktur von Amazon ausgeführt werden. Ein physischer AWS-Server hostet mehrere virtuelle EC2-Gastserver. Lassen Sie uns das aufschlüsseln, indem wir uns Server in der Vergangenheit, virtuelle Maschinen und die Beziehung zwischen virtuellen Maschinen und EC2-Instanzen ansehen.
Server in der Vergangenheit
In der Vergangenheit waren Server nur riesige physische Computer. Je mehr Rechenleistung und Speicherplatz ein Unternehmen benötigte, desto mehr Hardware-Infrastruktur musste aufgebaut werden. Bei diesem Paradigma gab es ein großes Problem: Ressourcenverschwendung. Ein perfektes Beispiel ist eine Website, die nur zu bestimmten Jahreszeiten stark frequentiert wird. Nehmen wir an, ein Hochzeitsunternehmen in Sibirien hat eine Serverinfrastruktur aufgebaut und eine Website gestartet. Sie beschließen, im Juni zu starten.
Das Geschäft boomt. Hochzeiten finden links und rechts statt und ihre Website verzeichnet einen starken Benutzerverkehr. Glücklicherweise planten sie voraus und bauten Server, um die Last zu bewältigen. Dann kommt der Winter. Der Benutzerverkehr bricht ein. Wer plant mitten im Winter eine Hochzeit in Sibirien? Die im Sommer notwendige robuste Serverinfrastruktur ist im Winter eine Belastung. Dem Unternehmen entstehen die Kosten für die Wartung von Hardware, die nicht vollständig genutzt wird.
Virtuelle Maschinen verringern Ressourcenverschwendung
Die leisen Server dieses Hochzeitsunternehmens stellen das Problem der Ressourcenverschwendung dar. In der Vergangenheit hatten Unternehmen keine bequeme Möglichkeit, Ressourcen effizient für Zeiten mit hohem und niedrigem Benutzerverkehr aufzuteilen. Die Lösung war die virtuelle Maschine (VM).
VMs sind softwarebasierte Subcomputer, die innerhalb einer physischen Maschine ausgeführt werden. Eine physische Maschine kann mehrere VMs hosten. Die physische Maschine wird als Hostmaschine bezeichnet und die VMs werden als Gastmaschinen bezeichnet. Jeder VM werden ihre eigenen Rechenressourcen (Arbeitsspeicher, CPU, Speicher) zugewiesen und sie ist von anderen VMs getrennt und isoliert, die auf derselben Maschine ausgeführt werden. Dies ist ihrem separaten Kernel zu verdanken, der Software, die alle Grundfunktionen eines Computers unterstützt. Der Hostcomputer verwendet einen Hypervisor, eine Softwareschicht, die VMs erstellt und ausführt, indem sie die Ressourcen des Hosts teilt.
VMs virtualisieren Server. Sie ermöglichen die Aufteilung einer Maschine in mehrere isolierte Computerumgebungen. Auf diese Weise können Unternehmen Speicherplatz und Zeit auf ihrer Hardware verkaufen und Ressourcenverschwendung minimieren. Nehmen wir zum Beispiel an, ich bin der Präsident eines sibirischen Langlauf-Ausrüstungsgeschäfts. Ich möchte eine Website betreiben, aber ich möchte mich nicht mit dem Aufbau einer physischen Serverarchitektur befassen. Ich weiß, dass der Benutzerverkehr im Winter hoch und im Sommer niedrig sein wird, und ich möchte Ressourcenverschwendung vermeiden.
Ich beschließe, mich an die Hochzeitsgesellschaft zu wenden. Ich biete ihnen einen Deal an: Ich werde sie dafür bezahlen, dass sie meine Website auf ihrer physischen Hardware bereitstellen. Wir können unsere Anwendungen beide in virtuellen Maschinen ausführen, die rechnerisch vollständig voneinander isoliert sind. Es ist eine Win-Win-Situation. Sie warten die Hardware, ich bezahle für ihren Platz und ihre Zeit, wenn ich sie brauche, und wir beide verringern die Ressourcenverschwendung.
EC2-Instanzen sind virtuelle Server
Dies ist, was AWS EC2 bietet, aber in einem viel größeren Maßstab. EC2-Instanzen sind virtuelle Maschinen, die auf der Hardware von Amazon ausgeführt werden. Genauer gesagt handelt es sich um virtuelle Server. Genau wie eine virtuelle Maschine sind EC2-Instanzen Gastmaschinen, die von Hypervisoren auf Hostmaschinen ausgeführt werden. Diese Hostmaschinen sind große physische Server in AWS-Rechenzentren.
Jedes Unternehmen oder jede Einzelperson kann von ihrem Computer aus ein AWS-Konto erstellen und eine EC2-Instanz auf der Hardware von Amazon starten. Dies ist eine Form von Infrastructure as a Service (IaaS), eine der innovativen Technologien, die Cloud Computing bietet.
Wie EC2-Instances erstellt werden
Wir wissen also, was EC2-Instances sind, aber es gibt mehrere andere technische Komponenten, die in ihre Erstellung einfließen.
Amazon-Maschinen-Images (AMI)
Wenn ein Unternehmen wächst, müssen die Server normalerweise skaliert werden, um den Benutzerverkehr zu bewältigen. Dies kann vertikal erfolgen, indem einem vorhandenen Server Ressourcen hinzugefügt werden. Dies kann auch horizontal erfolgen, indem zusätzliche Server hinzugefügt werden. Eine Möglichkeit, wie AWS die Skalierung in der Cloud vereinfacht, ist das Amazon Machine Image (AMI).
AMIs sind anpassbare Vorlagen für EC2-Instances. Sie spezifizieren eine Konfiguration: ein Betriebssystem (Linux, Ubuntu, Windows usw.), einen Anwendungsserver und alle erforderlichen Softwareinstallationen. In nicht-technischer Hinsicht ist das AMI eine Blaupause und die EC2-Instance ist die Maschine, die aus der Blaupause erstellt wurde. Wenn Sie in einer objektorientierten Sprache programmiert haben, stellen Sie sich ein AMI als eine Klasse und EC2-Instanzen als ein daraus generiertes Objekt vor.
Anstatt jede EC2-Instance zu erstellen und zu konfigurieren, können Sie mehrere identisch konfigurierte EC2-Instances aus derselben AMI-Vorlage instanziieren. Das entspricht der horizontalen Skalierung Ihrer Architektur mit nur wenigen Klicks.
Instanztypen
Wenn Sie eine EC2-Instance aus einer AMI-Vorlage erstellen, müssen Sie auch einen Instance-Typ auswählen. Denken Sie daran, dass eine EC2-Instanz eine virtuelle Maschine ist. Virtuellen Maschinen werden über den Hypervisor Ressourcen von einem Host-Computer zugewiesen.
Der Instance-Typ beschreibt, wie viele Ressourcen Ihrer virtuellen EC2-Maschine zugewiesen werden. Eine größere Ebene weist einer EC2-Instance mehr Ressourcen vom Hostcomputer zu. Es wird auch mehr Kosten verursachen.
Typen werden basierend auf den Anforderungen ihrer Zielanwendungen in Familien gruppiert. Wenn eine Anwendung beispielsweise viel Rechenleistung für die Big-Data-Modellierung benötigt, sollte sie mit einem Instance-Typ aus der Compute-Optimized-Familie bereitgestellt werden. Grundlegendere Beispiele für Familien umfassen allgemeine Zwecke, speicheroptimierte und speicheroptimierte Familien.
AWS bietet Benutzern eine kostenlose Testversion. Dies ist die Stufe t2.micro. In Zonen (siehe nächster Abschnitt), in denen die t2.micro-Stufe nicht verfügbar ist, heißt die kostenlose Stufe t3.micro. In einem späteren Artikel werde ich eine Schritt-für-Schritt-Anleitung für die Bereitstellung von Anwendungen in AWS bereitstellen. Diese Anwendungen sollten nur in der t2.micro- oder t3.micro-Ebene bereitgestellt werden und müssen nach dem Tutorial heruntergefahren werden , um Gebühren zu vermeiden.
Von einem AMI aus können Sie mehrere verschiedene Instance-Typen für Ihren Server starten. Sie enthalten alle dieselbe Konfiguration, die Sie ursprünglich in Ihrem AMI angegeben haben, aber sie unterscheiden sich in der Menge an Ressourcen, die ihnen basierend auf den Ebenen zugewiesen werden, die Sie für den Instance-Typ angegeben haben.
Speicher, Sicherheit und mehr
Es ist wichtig zu beachten, dass mehrere andere Funktionen in die Erstellung von EC2-Instances integriert sind. Sie können beispielsweise Elastic Block Storage (EBS)-Volumes als Speicher für eine Datenbank erstellen. Sie können auch Konfigurationen für Sicherheitseinstellungen, Überwachung, Netzwerke und vieles mehr angeben. Ich werde diese Themen in späteren Artikeln ausführlich behandeln.
EC2-Instances und AWS-Regionen
Beim Erstellen von EC2-Instanzen ist eine nicht triviale Frage, wo sie erstellt werden sollen. Einer der größten Hemmnisse für die Netzwerkgeschwindigkeit ist die Entfernung. Das heißt, die Entfernung vom Client, der Informationen anfordert, bis zum Server, der eine Antwort ausgibt. Ein Netzwerk verfügbarer Ressourcen über Kontinente hinweg begrenzt die Entfernung von einer Anwendung zu ihrem Endbenutzer. Das korreliert mit schnelleren Ladezeiten für Endbenutzer. Glücklicherweise verfügt AWS über Rechenzentren auf der ganzen Welt.
Regionen und Verfügbarkeitszonen
AWS unterteilt große geografische Gebiete in isolierte Regionen, in denen Services verfügbar sind. Diese Regionen sind in isolierte Availability Zones unterteilt. Diese Zonen ermöglichen es Unternehmen, Server und andere Ressourcen so nah wie möglich an ihren Endbenutzern zu platzieren, um die Ladezeiten zu minimieren.
Regionen und Availability Zones sind voneinander isoliert
Regionen sind von anderen Regionen und Availability Zones von anderen Availability Zones isoliert. Dies ist eine technische Art zu sagen, dass eine EC2-Instance, die in einer Availability Zone bereitgestellt wird, nicht in einer anderen bereitgestellt wird. EC2-Instances, die von einem AMI über mehrere Availability Zones repliziert werden, sind unterschiedliche, separate virtuelle Maschinen. Fehler in einer Instanz wirken sich nicht auf Instanzen in einer anderen Zone aus.
Dies kann verwendet werden, um Single Points of Failure für Ihre Anwendung zu eliminieren. Noch besser: Wenn eine Instance in einer Zone ausfällt, können Sie den Datenverkehr von dieser Zone zu einer EC2-Instance umleiten, die in einer anderen Zone betrieben wird. Dadurch werden Ausfallzeiten bei Störungen begrenzt.
Beim Erstellen eines AMI können Unternehmen die Region angeben, in der sie es erstellen möchten. Sie können dieses AMI später auf Wunsch in andere Regionen kopieren. Beim Instanziieren einer EC2-Instance von einem AMI muss dieses AMI in derselben Region vorhanden sein, in der Sie versuchen, Ihre Instance bereitzustellen. Die EC2-Instance ist spezifisch für eine Availability Zone, die bei der Erstellung angegeben oder automatisch von Amazon ausgewählt wird.
Lassen Sie es uns zusammenbinden
EC2-Instances sind virtuelle Maschinen. Unternehmen können EC2-Instances verwenden, um Speicherplatz und Zeit auf der globalen Hardware-Infrastruktur von Amazon zu mieten. Sie werden aus Amazon Machine Images erstellt. AMIs sind wie Vorlagen, aus denen mehrere Instanzen mit denselben Konfigurationseinstellungen erstellt werden können. Jede dieser Instanzen hat einen bestimmten Typ, der die Menge an Ressourcen bestimmt, die für diese Instanz partitioniert sind. Instanzen können mit Speicher-, Sicherheits- und Netzwerkeinstellungen weiter konfiguriert werden.
AMIs sind an eine AWS-Region gebunden. EC2-Instances werden aus AMIs erstellt, die in derselben AWS-Region vorhanden sind, in der sie bereitgestellt werden. EC2-Instances sind an Availability Zones innerhalb größerer AWS-Regionen gebunden. Diese Regionen und Zonen sind isoliert und bieten Unternehmen die Möglichkeit, Single Points of Failure zu eliminieren.
Folgen Sie mir, wenn Sie weitere Artikel lesen möchten, die Webtechnologien auf Produktionsebene benutzerfreundlich und verständlich machen!
Weiterführende Lektüre
- https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html
- https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIs.html
- https://www.edureka.co/blog/ec2-instances-in-aws/
- https://www.techtarget.com/searchaws/definition/Amazon-EC2-instances#:~:text=An%20Amazon%20EC2%20instance%20is,Web%20Services%20(AWS)%20infrastructure.

![Was ist überhaupt eine verknüpfte Liste? [Teil 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































