Bereitstellung einer ASP.NET Core 2.0-App für Amazon ECS (EC2) - AWS Toolkit for Visual Studio

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Bereitstellung einer ASP.NET Core 2.0-App für Amazon ECS (EC2)

In diesem Abschnitt wird die Verwendung vonPublish Container inAWSAssistent, der im Toolkit for Visual Studio bereitgestellt wird, eine auf Container ausgelegte ASP.NET-Core 2.0-Anwendung für Linux über Amazon ECS unter Verwendung des EC2-Starttyps bereitstellen. Da eine Webanwendung kontinuierlich ausgeführt werden soll, wird sie als Service bereitgestellt.

Bevor Sie Ihren Container veröffentlichen

Bevor Sie dasPublish Container inAWSUm Ihre ASP.NET Core 2.0-Anwendung bereitzustellen:

Zugriff auf den Publish Container toAWSWizard

Um eine auf Container ausgelegte ASP.NET Core 2.0 Anwendung für Linux bereitzustellen, klicken Sie mit der rechten Maustaste im Projektmappen-Explorer auf das Projekt und wählenPublish Container inAWSaus.

Sie können auch auswählenPublish Container inAWSim Visual Studio Build-Menü.

Publish Container inAWSAssistent

Account profile to use – Wählen Sie ein zu verwendendes Kontoprofil aus.

Region – Wählen Sie eine Bereitstellungsregion aus. Profil und Region werden verwendet, um Ihre Deployment-Umgebungsressourcen einzurichten und die Docker-Standardregistry auszuwählen.

Configuration – Wählen Sie die Docker-Image-Build-Konfiguration aus.

Docker Repository – Wählen Sie ein vorhandenes Docker-Repository aus, oder geben Sie den Namen eines neuen Repositorys ein, das dann erstellt wird. Dies ist das Repository, in das das erstellte Container-Image verschoben wird.

Tag – Wählen Sie ein vorhandenes Tag aus, oder geben Sie den Namen eines neuen Tags ein. Tags können wichtige Details nachverfolgen, wie Version, Optionen oder andere eindeutige Elemente des Docker-Containers.

Deployment – Wählen Sie Service on an ECS Cluster (Service auf einem ECS-Cluster). Verwenden Sie diese Bereitstellungsoption, wenn Ihre Anwendung sehr lange ausgeführt werden soll (z. B. eine ASP.NET Core 2.0-Webanwendung).

Einstellungen in aws-docker-tools-defaults.json speichern und für Befehlszeilenbereitstellung konfigurieren:Aktivieren Sie diese Option, wenn Sie die Flexibilität genießen möchten, eine Bereitstellung über die Befehlszeile durchzuführen. Verwenden Sie dotnet ecs deploy aus Ihrem Projektverzeichnis, das bereitgestellt werden soll, und veröffentlichen Sie den Container mit dotnet ecs publish.

Seite Launch Configuration

ECS Cluster – Wählen Sie den Cluster, der Ihr Docker-Image ausführt. Sie haben folgende OptionenErstellen eines ECS-ClustersVerwendung desAWS-Managementkonsole.

Launch Type – Wählen Sie EC2. Um den Fargate-Starttyp zu verwenden, lesen Sie nach unter Deploying an ASP.NET Core 2.0 Application to Amazon ECS (Fargate).

Seite Service Configuration

Service – Wählen Sie einen der Services in der Dropdown-Liste, um Ihren Container in einem vorhandenen Service bereitzustellen. Oder wählen Sie Create New (Neu erstellen), um einen neuen Service zu erstellen. Servicenamen in einem Cluster müssen eindeutig sein. Sie können jedoch ähnlich benannte Services in mehreren Clustern innerhalb einer Region oder in mehreren Regionen haben.

Number of tasks – Die Anzahl der Aufgaben an, die bereitgestellt und auf Ihrem Cluster ausgeführt werden sollen. Jede Aufgabe ist eine Instance Ihres Containers.

Minimum Healthy Percent – Der Prozentsatz der Aufgaben, die während einer Bereitstellung im Status RUNNING bleiben müssen, aufgerundet auf die nächste ganze Zahl.

Maximum Percent – Der Prozentsatz der Aufgaben, die während einer Bereitstellung im Status RUNNING oder PENDING bleiben dürfen, aufgerundet auf die nächste ganze Zahl.

Placement Templates – Wählen Sie eine Vorlage für eine Aufgabenplatzierung

Wenn Sie eine Aufgabe in einem Cluster starten, muss Amazon ECS bestimmen, wo die Aufgabe basierend auf den in der Aufgabendefinition angegebenen Anforderungen, beispielsweise CPU und Arbeitsspeicher, platziert werden soll. Wenn Sie die Anzahl der Aufgaben herunterskalieren, muss Amazon ECS auf ähnliche Weise bestimmen, welche Aufgaben beendet werden sollen.

Die Platzierungsvorlage steuert, wie Aufgaben in einem Cluster gestartet werden:

  • AZ Balanced Spread: Verteilt Aufgaben über Availability Zones und über Container-Instances in der Availability Zone.

  • AZ Balanced BinPack: Verteilt Aufgaben über Availability Zones und über Container-Instances mit der geringsten verfügbaren Menge an Arbeitsspeicher.

  • BinPack: Verteilt Aufgaben basierend auf der geringsten verfügbaren Menge von CPU oder Arbeitsspeicher.

  • One Task Per Host: Platziert höchstens eine Aufgabe vom Service auf jeder Container-Instance.

Weitere Informationen finden Sie unter Amazon ECS-Aufgabenplatzierung.

Seite Application Load Balancer

Configure Application Load Balancer – Markieren, um einen Application Load Balancer zu konfigurieren.

Select IAM role for service – Wählen Sie eine vorhandene Rolle oder wählen Sie Create New (Neu erstellen), sodass eine neue Rolle erstellt wird.

Load Balancer – Wählen Sie einen vorhandenen Load Balancer aus, oder wählen Sie Create New (Neu erstellen), und geben Sie den Namen für den neuen Load Balancer ein.

Listener Port – Wählen Sie einen vorhandenen Listener Port aus, oder wählen Sie Create New (Neu erstellen), und geben Sie eine Portnummer ein. Für die meisten Webanwendungen ist der Standardport geeignet, 80.

Target Group – Der Load Balancer sendet standardmäßig Anfragen an registrierte Ziele mithilfe des Ports und des Protokolls, den bzw. das Sie für die Zielgruppe angegeben haben. Sie können diesen Port überschreiben, wenn Sie jedes Ziel bei der Zielgruppe registrieren.

Path Pattern – Der Load Balancer verwendet ein auf dem Pfad basierendes Routing. Übernehmen Sie den Standard / oder geben Sie ein anderes Muster ein. Beim Pfadmuster wird die Groß-/Kleinschreibung berücksichtigt, es kann maximal 128 Zeichen lang sein und es enthält einen ausgewählten Zeichensatz.

Health Check Path – Der Ping-Pfad, der als Zielpfad für die Ziele der Zustandsprüfungen gilt. Für die meisten Webanwendungen ist dies standardmäßig /, ein geeigneter Wert. Geben Sie gegebenenfalls einen anderen Pfad ein. Wenn der von Ihnen eingegebene Pfad ungültig ist, schlägt die Zustandsprüfung fehl und er wird als fehlerhaft betrachtet.

Wenn Sie mehrere Services bereitstellen und jeder Service auf einen anderen Pfad oder Standort bereitgestellt wird, müssen Sie möglicherweise benutzerdefinierte Pfade überprüfen.

Seite ECS Task Definition

Task Definition – Wählen Sie eine vorhandene Aufgabendefinition aus, oder wählen Sie Create New (Neu erstellen), und geben Sie den Namen für eine neue Aufgabendefinition ein.

Container – Wählen Sie einen vorhandenen Container aus, oder wählen Sie Create New (Neu erstellen), und geben Sie den Namen für einen neuen Container ein.

Memory (MiB) – Geben Sie Werte für Soft Limit oder Hard Limit oder beides an.

Die Soft-Limit-Arbeitsspeichergrenze (in MiB) für die Reservierung für den Container. Docker versucht, den Container-Arbeitsspeicher unter dem Soft Limit zu halten. Der Container mehr Speicher verbrauchen, bis zu dem mit dem Speicherparameter (gegebenenfalls) angegebenen Hard Limit, oder den gesamten verfügbaren Speicher auf der Container-Instance, je nachdem, welcher Wert zuerst erreicht wird.

Die Hard-Limit-Arbeitsspeichergrenze (in MiB), die dem Container bereitgestellt wird. Wenn Ihr Container versucht, das hier angegebene Limit zu überschreiten, wird der Container beendet.

Aufgabenrolle- Wählen Sie eine Task-Rolle für eine IAM-Rolle, die dem Container gestattet,AWSAPIs, die in den zugehörigen Richtlinien in Ihrem Namen angegeben sind. So werden Ihrer Anwendung Anmeldeinformationen übergeben. Siehe .AngebenAWSSicherheitsanmeldeinformationen für Ihre Anwendungaus.

Port-Mapping – Port-Zuordnungen für den Container hinzufügen, ändern oder löschen. Wenn ein Load Balancer aktiviert ist, ist der Host-Port standardmäßig 0, und die Port-Zuordnung erfolgt dynamisch.

Environment Variables – Umgebungsvariablen für den Container hinzufügen, ändern oder löschen.

Wenn Sie mit der Konfiguration zufrieden sind, klicken Sie auf Publish (Veröffentlichen), um mit dem Bereitstellungsprozess zu beginnen.

Publish Container inAWS

Ereignisse werden während der Bereitstellung angezeigt. Der Assistent wird automatisch geschlossen, wenn sie erfolgreich ausgeführt wurde. Sie können diese Einstellung überschreiben, indem Sie die Markierung im Feld unten auf der Seite entfernen.

Sie finden die URL Ihrer neuen Instances in derAWSExplorer. Erweitern Sie Amazon ECS und Cluster und klicken Sie dann auf Ihren Cluster.