Einführung in AWS Container
Container sind standardisierte Softwareentwicklungseinheiten, mit denen Sie den Code, die Konfigurationen und die Abhängigkeiten Ihrer Anwendung in einem einzigen Objekt zusammenfassen können. Container werden von den Prinzipien der Virtualisierung auf Betriebssystemebene abgeleitet. Sie können die Anwendung und ihre Abhängigkeiten in ressourcenisolierten Prozessen ausführen, wodurch eine schnelle, zuverlässige und konsistente Bereitstellung in jeder Umgebung gewährleistet wird.
Arten von Containern
Container-Management-Tools können in drei Typen unterteilt werden: Registrierung, Orchestrierung und Berechnung. Mithilfe von Registrierungsdiensten können Sie Ihre Containerabbilder sicher speichern und verwalten. Orchestrierung verwaltet, wann und wo Ihre Container ausgeführt werden. Und Compute-Engines treiben Ihre Container an. Alle zugrunde liegenden Infrastrukturen werden von AWS verwaltet. Container machen Entwicklungen und Bereitstellungen einfach und effizient.
1. Registrierung
Amazon Elastic Container Registry (ECR)
Es handelt sich um eine hoch skalierbare, hoch verfügbare, hoch sichere und vollständig verwaltete Docker-Containerregistrierung. Es hilft den Entwicklern, Docker-Container-Images effizient zu speichern, zu verwalten und bereitzustellen. Amazon ECR ist in Amazon Elastic Container Service (ECS) integriert, wodurch die Bereitstellung vereinfacht wird. Amazon ECR ist nur für die Datenmenge zahlbar, die Sie in Ihren Repositorys speichern, und für die im Internet übertragenen Daten.
Beispiel für die Docker-Image-Erstellung einer einfachen Webanwendung und deren Übertragung in Amazon ECR:
- Erstellen Sie eine Datei, Dockerfile.
- Bearbeiten Sie die Docker-Datei.
- Erstellen Sie ein Docker-Image.
- Überprüfen Sie das Docker-Image, indem Sie es ausführen.
Ausgabe:
- Führen Sie das neu erstellte Image aus.
- Rufen Sie mit Ihrem Browser http://locallhost.com/ auf. Die Ausgabe erfolgt wie folgt:
- Stoppen Sie den Docker-Container, indem Sie Strg + c eingeben.
- Schieben Sie Ihr Bild zu Amazon ECR. Erstellen Sie ein Amazon ECR-Repository, um das Image zu speichern.
Ausgabe:
- Kennzeichnen Sie das Beispielbild mit dem Uri-Wert.
- Führen Sie den Docker-Anmeldungsauthentifizierungsbefehl für Ihre Registrierung aus.
- Führen Sie den Docker-Anmeldebefehl aus.
- Übertragen Sie das Bild mit dem Repository Uri an Amazon ECR
2. Orchestrierung
Amazon Elastic Container Service (ECS)
Es ist ein vollständig verwalteter, hoch skalierbarer und leistungsstarker Container-Verwaltungsdienst. Es unterstützt Docker-Container und ermöglicht es Benutzern, die Anwendung auf einem verwalteten Cluster von EC2-Instanzen effizient auszuführen. Die Installationen und Vorgänge von Container Orchestration werden von AWS verwaltet.
Beispiel für die Bereitstellung von Docker-Containern unter Amazon ECS:
- Amazon ECS - First Run Setup : Hiermit können Sie Cluster erstellen und Beispiel-Webanwendungen starten. Sie rufen die Amazon ECS-Konsole auf und starten den Assistenten. Sie können auch Amazon ECR verwenden, um ein Image-Repository zu erstellen und das Image dorthin zu verschieben.
Wählen Sie die Option und anschließend Weiter.
- Erstellung der Aufgabendefinition: Dies ist die Blaupause Ihrer Anwendung. Überprüfen Sie die Standardwerte und wählen Sie den nächsten Schritt aus.
- Dienstkonfiguration : Der Dienst startet und verwaltet Kopien der Aufgabendefinition in Ihrem Cluster.
- Servicename: AWS bietet standardmäßig eine webbasierte Beispiel-Web-App für die Anwendung „Hello World“ an.
- Gewünschte Anzahl von Aufgaben: Der Standardwert ist 1 für die kostenlose Stufe von AWS.
- Elastic Load Balancing: Sie können einen Load Balancer für Ihren Service verwenden.
- Containername: Host-Port: Wählen Sie Simple-App : 80 aus und füllen Sie die restlichen Felder standardmäßig aus.
Wählen Sie Service IAM Role (Service-IAM-Rolle), wenn Sie bereits eine aus der Dropdown-Liste haben, oder Amazon ECS erstellt standardmäßig eine ECS-Servicerolle.
Überprüfen Sie Ihre Eingaben und wählen Sie den nächsten Schritt.
- Cluster-Konfiguration
- Clustername : Der Standardname ist sample-cluster .
- EC2- Instanztyp : Der Standardtyp ist t2.micro für die kostenlose Stufe von AWS.
- Anzahl der Instanzen: Der Standardwert für die kostenlose Stufe von AWS ist 1.
- Schlüsselpaar: Sie können fortfahren, indem Sie eines auswählen - SSH nicht möglich .
- Sicherheitsgruppe: Standardmäßig überall. Es ermöglicht den Zugriff aus dem gesamten Internet.
- IAM-Rolle für Containerinstanz: Wählen Sie eine aus, wenn Sie bereits eine aus der Dropdown-Liste oder haben
Amazon ECS erstellt standardmäßig eine.
Wählen Sie Überprüfen und starten.
- Ressourcen starten und anzeigen
Sie können Ihre Taskdefinition, Taskkonfiguration und Clusterkonfigurationen vor dem Start überprüfen.
Wählen Sie Instanz starten und Dienst ausführen.
Nachdem der Start abgeschlossen ist, wählen Sie Dienst anzeigen.
- Öffnen Sie die Beispielanwendung: Sie können Ihre Beispielanwendung überprüfen und ausführen, indem Sie Ihren Browser auf den DNS-Namen des Lastenausgleichs verweisen.
Öffnen Sie die Beispiel-Web-App-Seite und wählen Sie Ihren Load-Balancer-Namen aus.
Kopieren Sie den ELB-DNS-Namen, fügen Sie ihn in einen neuen Browser ein und drücken Sie die Eingabetaste auf Ihrer Tastatur.
Sie können Ihre Beispielanwendung anzeigen.
Sie können Ihre Ressourcen auch jederzeit bereinigen, um unnötige Kosten zu vermeiden.
Amazon Elastic Kubernetes Service (EKS)
Mithilfe von Kubernetes in AWS können Sie containerisierte Anwendungen einfach verwalten, bereitstellen und skalieren. Der Kubernetes-Dienst wird in mehreren AWS-Zonen ausgeführt, um eine einzige Fehlerquelle zu beseitigen. Amazon EKS ist eine zertifizierte Kubernetes-Integration. Sie können Anwendungen, die in einer beliebigen Standard-Kubernetes-Umgebung ausgeführt werden, problemlos zu AWS EKS migrieren.
3. Berechnen
Amazon Elastic Compute Cloud (Amazon EC2)
Es handelt sich um eine sichere und skalierbare Rechenkapazität in der Cloud, die Container auf Infrastrukturen virtueller Maschinen ausführt und die Skalierung und Konfiguration vollständig kontrolliert. Sie haben die vollständige Kontrolle über Ihre Computerressourcen. Dadurch wird die Zeit zum Abrufen und Starten neuer Serverinstanzen auf wenige Minuten reduziert. Amazon EC2 bietet Entwicklern die Tools zum Erstellen ausfallsicherer Anwendungen.
Beispiel: Installieren Sie einen LAMP-Webserver mit Amazon Linux AMI.
Dieses Beispiel hilft Ihnen bei der Installation eines Apache-Webservers mit PHP- und MySQL-Unterstützung auf Ihrer Amazon Linux-Instanz (auch als LAMP-Webserver bezeichnet).
- Stellen Sie eine Verbindung zur Linux-Instanz her.
- Aktualisieren Sie ggf. die Softwarepakete.
- Installieren Sie die Apache-Webserver-, MySQL- und PHP-Softwarepakete mit dem Befehl yum install.
- Starten Sie den Apache-Webserver.
- Konfigurieren Sie den Apache-Webserver so, dass er bei jedem Systemstart gestartet wird.
- Stellen Sie sicher, dass httpd aktiviert ist.
- Fügen Sie eine neue eingehende Sicherheitsregel mit den folgenden Werten hinzu:
- Typ: HTTP
- Protokoll: TCP
- Port-Bereich: 80
- Quelle: Benutzerdefiniert
- Testen Sie den Webserver, indem Sie die DNS-Adresse in einen Webbrowser eingeben.
- Legen Sie bei Bedarf die erforderlichen Dateiberechtigungen fest.
- Testen Sie Ihren LAMP-Server.
- Sichern Sie den Datenbankserver.
AWS Fargate
Es ist eine serverlose Rechenmaschine für Amazon ECS, mit der Sie Container ausführen können, ohne Server verwalten zu müssen. Amazon kümmert sich um alle zugrunde liegenden Serververwaltungen, sodass Sie sich auf das Entwerfen und Erstellen Ihrer Anwendungen konzentrieren können
Es gibt zwei Modi:
Fargate-Starttyp: Packen Sie Ihre Anwendung in Container, geben Sie die CPU- und Speicheranforderungen an, definieren Sie Netzwerk- und IAM-Richtlinien und starten Sie die Anwendung.
EC2-Starttyp: Ermöglicht die Steuerung einer Einrichtung, in der Ihre Containeranwendungen ausgeführt werden, auf Serverebene.
Vorteile von AWS Containern
- Überall lauffähig : Container packen Ihren Code mit den Konfigurationsdateien und Abhängigkeiten, die für eine konsistente Ausführung in jeder Umgebung erforderlich sind.
- Verbesserte Ressourcennutzung: Container bieten eine Prozessisolierung, mit der Sie die CPU- und Speicherauslastung festlegen können, um die Rechenressourcen besser zu nutzen.
- Schnelle Skalierung: Jeder Container wird als separater Prozess ausgeführt, der die Ressourcen des zugrunde liegenden Betriebssystems gemeinsam nutzt. Dadurch können Container schnell gestartet und gestoppt werden.
Wie funktioniert es?
- Erstellen Sie ein Container-Image: Packen Sie Ihren Code und alle Abhängigkeiten in einen Container.
- Test und Bereitstellung automatisieren: Standardisierte Codeeinheit, der Container fungiert als konsistentes Gebäude
- Überall ausführen : Ihr Container wird in jeder Umgebung konsistent ausgeführt.
- Schnelle Skalierung: Container werden schnell gestartet und beendet, sodass Ihre Anwendung auf und ab skaliert werden kann
Fazit - AWS Container
Amazon bietet eine breite Palette von Diensten zum Speichern, Verwalten und Ausführen von Containern. Container erleichtern Entwicklern die Entwicklung und Bereitstellung, da alle zugrunde liegenden Infrastrukturen, einschließlich der Serververwaltung, von Amazon verwaltet werden, sodass sich Entwickler auf ihre Entwicklung konzentrieren können. Wählen Sie den richtigen AWS-Service für Ihre Workload.
Empfohlene Artikel
Dies ist eine Anleitung zu AWS Containern. Hier diskutieren wir die Einführung, Containertypen, einschließlich Registrierung, Orchestrierung und Computing, sowie die Vorteile von AWS-Containern. Weitere Informationen finden Sie auch in den folgenden Artikeln.
- AWS-Dienste
- AWS Kinesis
- AWS-Architektur
- Was ist AWS RedShift?
- Vollständiger Leitfaden für AWS-Wettbewerber
- Erfahren Sie mehr über die Liste der Amazon Web Services-Funktionen