Amazon ECS-Entwicklertools – Übersicht - Amazon ECS

Amazon ECS-Entwicklertools – Übersicht

Unabhängig davon, ob Sie Teil eines großen Unternehmens oder eines Startups sind, Amazon ECS bietet eine Vielzahl von Tools, mit denen Sie Ihre Container schnell in Betrieb nehmen können, unabhängig von Ihrem Fachwissen. Sie können Amazon ECS wie folgt nutzen:

  • Erfahren Sie mehr über Ihre Containeranwendungen und -dienste, entwickeln, verwalten und visualisieren Sie diese mithilfe von AWS Management Console.

  • Führen Sie bestimmte Aktionen für Amazon ECS-Ressourcen mit automatisierten Bereitstellungen durch Programmierung oder Skripts mithilfe von AWS Command Line Interface, AWS-SDKs oder der ECS-API aus.

  • Definieren und Verwalten von AWS-Ressourcen in Ihrer Umgebung mit automatisierter Bereitstellung mit AWS CloudFormation.

  • Verwenden Sie den vollständigen AWS-Copilot-CLI-End-to-End-Entwicklerworkflow zum Erstellen, Freigeben und Betrieb von Containeranwendungen, die den bewährten Methoden AWS für die Infrastruktur entsprechen.

  • Definieren Sie mithilfe Ihrer bevorzugten Programmiersprache Infrastruktur oder Architektur als Code mit AWS CDK.

  • Sie können Anwendungen, die lokal oder auf Amazon-EC2-Instances oder in beiden gehostet werden, mithilfe des AWS-App2Container-integriertes Portabilitäts- und Tooling-Ökosystem für Container verwenden.

  • Stellen Sie eine Docker Compose-Anwendung in Amazon ECS bereit, oder testen Sie mithilfe von Amazon ECS-CLI lokale Container mit Containern, die in ECS ausgeführt werden.

  • Starten von Containern aus Docker-Desktop-Integration mit Amazon ECS mithilfe von Amazon ECS in Docker Desktop.

AWS Management Console

AWS Management Console ist eine browserbasierte Schnittstelle zur Verwaltung Ihrer Amazon ECS-Ressourcen. Die Konsole bietet einen visuellen Überblick über den Service und erleichtert die Erkundung der Funktionen und Funktionen von Amazon ECS, ohne dass zusätzliche Tools verwendet werden müssen. Es stehen viele verwandte Tutorials und exemplarische Vorgehensweisen zur Verfügung, die Sie durch die Verwendung der Konsole führen können.

Ein Tutorial zur Verwendung der Konsole finden Sie unter Erste Schritte mit Amazon ECS.

Viele Kunden ziehen es vor, die Konsole zu verwenden, da sie sofortiges visuelles Feedback darüber liefert, ob die von ihnen durchgeführten Aktionen erfolgreich sind. AWS-Kunden, die mit AWS Management Console vertraut sind, können ganz einfach zugehörige Ressourcen wie Load Balancer und Amazon-EC2-Instances verwalten.

Beginnen Sie mit AWS Management Console.

AWS Command Line Interface

AWS Command Line Interface (AWS CLI) ist ein vereinheitlichtes Tool, das Sie zur Verwaltung Ihrer AWS-Services nutzen können. Mit diesem Werkzeug allein können Sie beide mehrere AWS-Dienste steuern und diese durch Skripte automatisieren. Die Amazon ECS-Befehle AWS CLI sind eine Spiegelung der Amazon ECS-API.

AWS bietet zwei Sätze an Befehlszeilen-Tools: AWS Command Line Interface (AWS CLI) und AWS Tools for Windows PowerShell. Weitere Informationen finden Sie im AWS Command Line Interface-Benutzerhandbuch und im AWS Tools for Windows PowerShell-Benutzerhandbuch.

AWS CLI eignet sich für Kunden, die Skripterstellung und Schnittstelle mit einem Befehlszeilentool bevorzugen und genau wissen, welche Aktionen sie auf ihren Amazon ECS-Ressourcen ausführen möchten. AWS CLI ist auch hilfreich für Kunden, die sich mit den Amazon ECS-APIs vertraut machen möchten. Kunden können AWS CLI nutzen, um eine Reihe von Vorgängen auf Amazon ECS-Ressourcen direkt über die Befehlszeilenschnittstelle durchzuführen, einschließlich der Vorgänge Erstellen, Lesen, Aktualisieren und Löschen.

Verwenden Sie AWS CLI, wenn Sie sich mit den Amazon ECS-APIs und den entsprechenden CLI-Befehlen vertraut machen möchten und automatisierte Skripte schreiben und bestimmte Aktionen auf Amazon ECS-Ressourcen ausführen möchten.

AWS CloudFormation

AWS CloudFormation und Terraform für Amazon ECS bieten Ihnen leistungsstarke Möglichkeiten, Ihre Infrastruktur als Code zu definieren. Sie können ganz einfach verfolgen, welche Version Ihrer Vorlage oder Ihres AWS CloudFormation-Stacks zu jeder Zeit ausgeführt wird und bei Bedarf auf eine vorherige Version zurückgesetzt wird. Sie können Infrastruktur- und Anwendungsbereitstellungen auf die gleiche automatisierte Weise durchführen. Diese Flexibilität und Automatisierung macht AWS CloudFormation und Terraform zu zwei gängigen Formaten für die Bereitstellung von Workloads auf Amazon ECS aus Continuous Delivery Pipelines.

Mehr über AWS CloudFormation erfahren Sie unter Erstellen von Amazon ECS-Ressourcen mit AWS CloudFormation.

Verwenden Sie AWS CloudFormation oder Terraform, wenn Sie Infrastrukturbereitstellungen und -anwendungen auf Amazon ECS automatisieren und alle AWS-Ressourcen in Ihrer Umgebung explizit definieren und verwalten möchten.

AWS-Copilot-CLI

Die AWS-Copilot-CLI (Command Line Interface) ist ein umfassendes Tool, mit dem Kunden Anwendungen, die in Containern und Umgebungen auf Amazon ECS verpackt sind, direkt aus ihrem Quellcode bereitstellen und betreiben können. Bei Verwendung von AWS-Copilot können Sie diese Operationen durchführen, ohne AWS und Amazon ECS-Elemente wie Application Load Balancers, öffentliche Subnetze, Aufgaben, Services und Cluster zu verstehen. AWS Copilot erstellt AWS-Ressourcen in Ihrem Namen aus eigenwilligen Service-Mustern, wie z. B. einem Lastenausgleich Webservice oder Backend-Service, die eine unmittelbare Produktionsumgebung für containerisierte Anwendungen bieten. Sie können die Bereitstellung über eine AWS CodePipeline-Pipeline über mehrere Umgebungen, Konten oder Regionen hinweg durchführen, die alle innerhalb der CLI verwaltet werden können. Durch Verwendung von AWS-Copilot können Sie auch Bedieneraufgaben durchführen, wie zum Beispiel das Anzeigen von Protokollen und den Zustand Ihres Dienstes. AWS Copilot ist ein All-in-One-Tool, mit dem Sie Ihre Cloud-Ressourcen einfacher verwalten können, sodass Sie sich auf die Entwicklung und Verwaltung Ihrer Anwendungen konzentrieren können.

Weitere Informationen finden Sie unter Verwenden der AWS-Copilot-Befehlszeilenschnittstelle.

Verwenden des kompletten AWS-Copilot End-to-End-Entwickler-Workflow, um Container-Anwendungen zu erstellen, freizugeben und zu betreiben, die den bewährten Methoden AWS für die Infrastruktur entsprechen.

AWS CDK

AWS Cloud Development Kit (AWS CDK) ist ein Open-Source-Softwareentwicklungs-Framework, mit dem Sie Ihre Cloud-Anwendungsressourcen mithilfe vertrauter Programmiersprachen modellieren und bereitstellen können. AWS CDK stellt Ihre Ressourcen in einer sicheren, wiederholbaren Art und Weise durch AWS CloudFormation bereit. Mit dem CDK können Kunden ihre Umgebung mit weniger Codezeilen in derselben Sprache generieren, die sie zum Erstellen ihrer Anwendung verwendet haben. Amazon ECS stellt ein Modul im CDK bereit, das ecs-patterns benannt ist und gemeinsame Architekturen erstellt. Ein verfügbares Muster ist ApplicationLoadBalancedFargateService(). Dieses Muster erstellt einen Cluster, eine Aufgabendefinition und zusätzliche Ressourcen, um einen Amazon ECS-Dienst mit Lastenausgleich auf AWS Fargate auszuführen.

Weitere Informationen finden Sie unter Erste Schritte mit Amazon ECS mit AWS CDK.

Verwenden Sie AWS CDK, wenn Sie Infrastruktur oder Architektur als Code in Ihrer bevorzugten Programmiersprache definieren möchten. Sie können z. B. die gleiche Sprache verwenden, die Sie zum Schreiben Ihrer Anwendungen verwenden.

AWS-App2Container

Manchmal verfügen Unternehmenskunden möglicherweise bereits über Anwendungen, die lokal oder auf EC2-Instances oder beidem gehostet werden. Sie interessieren sich für das Portabilitäts- und Tooling-Ökosystem von Containern speziell auf Amazon ECS und müssen zuerst Containerisierung durchführen. AWS App2Container ermöglicht es Ihnen, genau das zu tun. App2Container (A2C) ist ein Befehlszeilentool zur Modernisierung von .NET- und Java-Anwendungen in containerisierte Anwendungen. A2C analysiert und erstellt eine Bestandsaufnahme aller Anwendungen, die in virtuellen Maschinen, lokal oder in der Cloud ausgeführt werden. Nachdem Sie die Anwendung ausgewählt haben, die Sie containerisieren möchten, packt A2C das Anwendungsartefakt und identifizierte Abhängigkeiten in Container-Images. Anschließend werden die Netzwerkports konfiguriert und die Amazon ECS-Aufgabe generiert. Zuletzt wird eine CloudFormation Vorlage erstellt, die Sie bei Bedarf bereitstellen oder ändern können.

Weitere Informationen finden Sie unter Erste Schritte mit AWS-App2Container.

Verwenden Sie App2Container, wenn Sie Anwendungen haben, die lokal oder auf Amazon-EC2-Instances oder beidem gehostet werden.

Amazon ECS-CLI

Mit der Amazon ECS-CLI können Sie Ihre Anwendungen mithilfe des Docker Compose-Dateiformats auf Amazon ECS und AWS Fargate verwenden. Sie können Ressourcen schnell bereitstellen, Images mithilfe von Amazon ECR pushen und pullen und ausgeführte Anwendungen auf Amazon ECS oder AWS Fargate überwachen. Sie können auch Container testen, die lokal zusammen mit Containern in der Cloud innerhalb der CLI ausgeführt werden.

Weitere Informationen finden Sie unter Verwenden der Amazon ECS-Befehlszeilenschnittstelle.

Verwenden Sie die ECS-CLI, wenn Sie über eine Compose Anwendung verfügen und diese auf Amazon ECS bereitstellen möchten, oder testen Sie lokale Container mit Containern, die in Amazon ECS in der Cloud ausgeführt werden.

Docker-Desktop-Integration mit Amazon ECS

AWS und Docker haben zusammengearbeitet, um ein vereinfachtes Entwicklererlebnis zu ermöglichen, mit dem Sie Container in Amazon ECS direkt mithilfe von Docker-Tools bereitstellen und verwalten können. Sie können Ihre Container jetzt lokal mit Docker Desktop und Docker Compose erstellen und testen und sie dann in Amazon ECS on Fargate bereitstellen. Laden Sie Docker Desktop herunter und registrieren Sie sich optional für eine Docker-ID, um mit der Amazon ECS und Docker-Integration zu beginnen. Weitere Informationen finden Sie unter Docker-Desktop und Docker-ID-Anmeldung.

Anfänger von Containern lernen oft Container mithilfe von Docker-Tools wie Docker CLI und Docker Compose kennen. Dies macht die Verwendung des Docker Compose CLI-Plugins für Amazon ECS zu einem natürlichen nächsten Schritt beim Ausführen von Containern auf AWS nachdem Sie lokal getestet haben. Docker bietet eine exemplarische Vorgehensweise zum Bereitstellen von Containern auf Amazon ECS. Weitere Informationen finden Sie unter Bereitstellen von Docker-Containern auf Amazon ECS.

Sie können zusätzliche Amazon ECS-Funktionen wie Service-Ermittlung, Lastenausgleich und andere AWS-Ressourcen für die Verwendung mit ihren Anwendungen mit Docker Desktop nutzen.

Sie können das Docker Compose-KLI-Plugin für Amazon ECS auch direkt von GitHub herunterladen. Weitere Informationen finden Sie unter Docker Compose CLI-Plugin für Amazon ECS auf GitHub:

AWS-SDKs

Sie können auch AWS-SDKs zur Verwaltung Ihrer Amazon ECS-Ressourcen und -Vorgänge über eine Vielzahl von Programmiersprachen verwenden. Die SDKs stellen Module bereit, um Aufgaben zu erledigen, einschließlich Aufgaben in der folgenden Liste.

  • Kryptographisches Signieren Ihrer Serviceanfragen

  • Wiederholen von Anfragen

  • Umgang mit Fehlerreaktionen

Weitere Informationen über verfügbare SDKs finden Sie unter Tools für Amazon Web Services.

Übersicht

Mit den vielen Optionen zur Auswahl können Sie die Optionen auswählen, die am besten für Sie geeignet sind. Berücksichtigen Sie dabei die folgenden Optionen.

  • Wenn Sie visuell orientiert sind, können Sie Container visuell erstellen und bedienen, indem Sie die AWS Management Console verwenden.

  • Wenn Sie CLIs bevorzugen, sollten Sie AWS-Copilot oder AWS CLI verwenden. Wenn Sie das Docker-Ökosystem bevorzugen, können Sie auch die Funktionen von ECS innerhalb der Docker-CLI nutzen, um zu AWS bereitzustellen. Nachdem diese Ressourcen bereitgestellt wurden, können Sie sie über die CLI oder visuell über die Konsole verwalten.

  • Wenn Sie ein Entwickler sind, können Sie AWS CDK nutzen, um Ihre Infrastruktur in derselben Sprache wie Ihre Anwendung zu definieren. Sie können das CDK und AWS-Copilot zum Exportieren in CloudFormation-Vorlagen verwenden, wo Sie granulare Einstellungen ändern können, weitere AWS-Ressourcen hinzufügen können und Bereitstellungen über Skripterstellung oder eine CI/CD-Pipeline wie AWS-CodePipeline automatisieren können.

AWS CLI, SDKs oder ECS-API sind nützliche Tools zur Automatisierung von Aktionen auf ECS-Ressourcen, wodurch sie ideal für die Bereitstellung sind. Um Anwendungen mit AWS CloudFormation bereitzustellen, können Sie eine Vielzahl von Programmiersprachen oder eine einfache Textdatei verwenden, um alle Ressourcen zu modellieren und bereitzustellen, die für Ihre Anwendungen benötigt werden. Anschließend können Sie Ihre Anwendung in mehreren Regionen und Konten automatisiert und sicher bereitstellen. Beispielsweise können Sie Ihren ECS-Cluster, Services, Aufgabendefinitionen oder Kapazitätsanbieter als Code in einer Datei definieren und über die AWS CLI-CloudFormation-Befehle bereitstellen.

Zum Ausführen von Vorgangsaufgaben können Sie Ressourcen programmgesteuert anzeigen und verwalten, indem Sie die AWS CLI-, SDK- oder ECS-API verwenden. Befehle wie describe-tasks oder list-services zeigen die neuesten Metadaten oder eine Liste aller Ressourcen an. Ähnlich wie bei Bereitstellungen können Kunden eine Automatisierung schreiben, die Befehle wie update-service enthalten, um Korrekturmaßnahmen bei der Erkennung einer Ressource bereitzustellen, die unerwartet gestoppt wurde. Sie können Ihre Dienste auch mit AWS-Copilot durchführen. Befehle wie copilot svc logs oder copilot app show bieten Details zu jedem Ihrer Microservices oder zu Ihrer Anwendung als Ganzes an.

Kunden können alle verfügbaren Werkzeuge verwenden, die in diesem Dokument erwähnt werden und sie in verschiedenen Kombinationen verwenden. ECS Tooling bietet verschiedene Wege, um bestimmte Tools zu absolvieren, um andere zu verwenden, die Ihren sich ändernden Anforderungen entsprechen. Beispielsweise können Sie sich für eine detailliertere Steuerung von Ressourcen entscheiden oder bei Bedarf mehr Automatisierung entscheiden. Darüber hinaus bietet ECS eine große Auswahl an Tools für eine breite Palette von Anforderungen und Fachkenntnissen.