Projekte in AWS

Bots sind jetzt besser als jemals zuvor

mit .NET und dem AWS Toolkit for Visual Studio

Modul 5: Bereitstellung und Bereinigung

In diesem Modul stellen Sie den Chatbot über AWS CodeBuild und AWS CodeDeploy in EC2 bereit und bereinigen die Ressourcen, um Gebühren zu vermeiden.

Übersicht

Befolgen Sie die nachfolgende Schritt-für-Schritt-Anweisung, um die Chatbot-Anwendung bereitzustellen und danach die Ressourcen zu bereinigen. Um den Abschnitt zu erweitern, klicken Sie auf jede Schrittnummer.

 Benötigte Zeit

30 Minuten

 Verwendete Services

CodeDeploy, CodeBuild, EC2, AWS CodeStar

Anleitung für die Implementierung

    • a. Klicken Sie in der AWS-Konsole auf "Services" und wählen Sie dann unter "Entwicklertools" die Option "CodeStar" aus.
      b. Klicken Sie auf "Neues Projekt erstellen" und wählen Sie die Vorlage "ASP.NET Core Web Application" aus.
      c. Geben Sie in das Feld "Projektname" einen Namen ein. Wählen Sie als Repository "CodeCommit" aus und klicken Sie auf "Weiter".
      d. Stellen Sie sicher, dass das Kontrollkästchen "AWS CodeStar fordert die Berechtigung zur Verwaltung von AWS-Ressourcen in Ihrem Namen an" aktiviert ist, und klicken Sie auf "Projekt erstellen".
      e. Wählen Sie ein Schlüsselpaar aus und vergewissern Sie sich, dass die Option "Ich bestätige, dass ich Zugriff auf die Datei mit dem privaten Schlüssel für dieses Schlüsselpaar (mytestkeypair.pem) habe, und verstehe, dass ich mich ohne diese Datei nicht bei meiner Instance anmelden kann." aktiviert ist.
      f. Sie können nun festlegen, wie Sie Ihren Projektcode bearbeiten möchten. Sie können Ihre Auswahl jederzeit ändern. Klicken Sie jedoch für dieses Tutorial auf "Befehlszeilentools" und befolgen Sie die Konfigurationsanweisungen für das von Ihnen verwendete Betriebssystem.
      g. Wenn Sie die Anweisungen für die Befehlszeilenschnittstelle befolgt haben, haben Sie das Projektrepository aus CodeCommit geklont.
      h. Sie können verschiedene Produkte und Git-Importprogramme verwenden. Falls Ihnen jedoch keins davon zur Verfügung steht, haben wir Ihnen im Folgenden eine Kurzanleitung zusammengestellt. Ersetzen Sie den gesamten Code in Ihrem neu geklonten CodeCommit-Repository durch den Code, den Sie in Modul 4 aus dem GitHub-Repository geklont haben. Achten Sie darauf, den alten Code komplett zu löschen, bevor Sie den Code für den .NET-Chatbot einfügen.
      i. Rufen Sie in der Befehlszeilenschnittstelle das geklonte Verzeichnis auf und führen Sie die folgenden Befehle aus:

      1. git add -A
      2. git commit -m "adding Chatbot code"
      3. git push origin master

      j. Klicken Sie auf "Überspringen". Nun wird ein Dashboard angezeigt, auf dem Sie verfolgen können, wie Ihr Code den Continuous-Deployment-Prozess durchläuft (zusätzlich zu vielen weiteren Optionen, die Sie sich ebenfalls ansehen sollten).
      k. Kopieren Sie in dem Projektverzeichnis, in dem sich die Datei mit der Visual Studio-Lösung befindet, die Dateien "appspec.yml" und "buildspec.yml".
      l. Erstellen Sie in dem Projektverzeichnis, in dem sich die Datei mit der Visual Studio-Lösung befindet, einen Ordner mit dem Namen "Scripts".
      m. Kopieren Sie alle Dateien aus dem Verzeichnis "Linux Deployment" Ihres geklonten Repositorys in das Verzeichnis "Scripts", das Sie im vorherigen Schritt erstellt haben.
      n. Klicken Sie auf den Link "Anwendungsendpunkte", um die Chatbot-Anwendung anzuzeigen und zu testen.

      ⚐ HINWEIS: Weitere Informationen finden Sie in der Dokumentation im GitHub-Projekt.

      ec2 keypair
    • a. Melden Sie sich bei Ihrem AWS-Konto an und vergewissern Sie sich, dass Sie sich in der Region us-east-1 (Nord-Virginia) oder eu-west-1 (Irland) befinden.
      b. Melden Sie sich mit Ihren GitHub-Anmeldedaten bei Ihrem GitHub-Konto an.
      c. Erstellen Sie mit AWS CloudFormation Ihren Infrastruktur-Stack in der Region us-east-1, indem Sie auf die Vorlage klicken. Sie können alternativ die CloudFormation-Vorlage hier herunterladen und im AWS CloudFormation-Service in einer Region Ihrer Wahl ausführen.
      d. Sie werden zur Website der AWS CloudFormation-Konsole weitergeleitet. Dort müssen Sie die Parameter zur Erstellung Ihrer Infrastrukturressourcen angeben. Geben Sie die gewünschten Werte für die Parameter "Stack-Name" und "Anwendung" ein.
      e. Öffnen Sie ein weiteres Browserfenster und navigieren Sie zu Ihrem GitHub-Konto, klicken Sie dort auf "Settings" und auf "Personal Access Tokens". Erstellen Sie ein neues Token mit den Scopes repo und admin:repo_hook. Wählen Sie ALLE Unteroptionen für die zuvor erwähnten Skripts aus.
      f. Kehren Sie zur Website von AWS CloudFormation zurück und tragen Sie für den Parameter GitHubOAuthToken den von GitHub im vorherigen Schritt erzeugten Wert ein.
      g. Wählen Sie die VPC aus, in der die Lösung bereitgestellt werden soll, sowie das öffentliche Subnetz (das mit dem Internet-Gateway verbunden ist), das zu dieser VPC gehört.
      h. Wählen Sie "Namen des Schlüsselpaars" aus. Weitere Informationen zu den Namen von Schlüsselpaaren erhalten Sie hier.
      i. Wählen Sie ggf. den Instance-Typ oder verwenden Sie den Standardwert.
      j. Wählen Sie im Feld "OS-Typ" Windows als das gewünschte Betriebssystem für die EC2-Ziel-Instance aus und klicken Sie auf "Weiter".
      k. Ändern Sie keine der Standardeinstellungen unter "Optionen" und "Fortgeschritten" und klicken Sie auf "Weiter".
      l. Markieren Sie bei der Überprüfung das Kästchen neben "Ich nehme zur Kenntnis, dass AWS CloudFormation IAM-Ressourcen mit benutzerdefinierten Namen erstellen kann".
      m. Erstellen Sie den Stack und verfolgen Sie in der Registerkarte "Ereignisse" die Erstellung des gesamten Stack sowie aller nötigen Ressourcen, bis der Status "CREATE_COMPLETE" angezeigt wird.
      n. In CodePipeline können Sie den gesamte CD-/CI-Vorgang Ihrer Anwendung nachverfolgen: von GitHub zu CodeBuild zu CodeDeploy, wo sie letztendlich auf EC2 bereitgestellt wird 1
      o. Öffnen Sie nach der erfolgreichen Bereitstellung die Registerkarte "Outputs" in CloudFormation und klicken Sie auf den URL-Wert. Dort sehen Sie, wie die Chatbot-Anwendung in Ihrer Umgebung ausgeführt wird.

      ⚐ HINWEIS: Weitere Informationen finden Sie in der Dokumentation im GitHub-Projekt.

    • a. Öffnen Sie die CodeStar-Seite in der Konsole.
      b. Wählen Sie die Ellipse oben rechts in Ihrem Projekt aus. Siehe nachfolgender Screenshot.
      c. Wählen Sie "Löschen" aus.
      d. Geben Sie den Namen Ihres Projekts ein, um den Löschvorgang zu bestätigen. Lassen Sie das Kontrollkästchen neben "Verknüpfte AWS-Ressourcen zusammen mit CodeStar-Projekt löschen. Weitere Informationen" aktiviert.
      e. Klicken Sie auf "Löschen".

      CodeStar-Projekt löschen
    • a. Öffnen Sie die CloudFormation-Seite in der Konsole.
      b. Wählen Sie Ihren Stack aus.
      c. Öffnen Sie das Dropdown-Menü "Aktionen".
      d. Wählen Sie "Stack löschen" aus.
      e. Klicken Sie auf "Ja, löschen".

  • Lambda
    a. Öffnen Sie die Lambda-Seite in der Konsole.
    b. Wählen Sie die Funktion aus, indem Sie auf die Blase links neben ihrem Namen klicken.
    c. Klicken Sie auf "Aktionen" und auf "Löschen".

    Lex
    a. Öffnen Sie die Lex-Seite in der Konsole.
    b. Wählen Sie den Bot aus, indem Sie auf die Blase links neben seinem Namen klicken.
    c. Klicken Sie auf "Aktionen" und auf "Löschen".

    Cognito
    a. Öffnen Sie die Cognito-Seite in der Konsole.
    b. Klicken Sie auf "Identitätsverbünde verwalten".
    c. Klicken Sie auf den Identitätsverbund.
    d. Klicken Sie oben rechts auf "Identitätspool bearbeiten".
    e. Scrollen Sie nach unten zu "Identitätspool löschen" und klicken Sie auf die Schaltfläche. Bestätigen Sie den Vorgang durch einen Klick auf die rote Schaltfläche "Löschen".

    ⚐ HINWEIS: Diese Anleitung finden Sie auch im Ordner mit der Dokumentation im GitHub-Projekt.

Herzlichen Glückwunsch!

Sie haben einen Amazon Lex-Chatbot mit Amazon Web Services auf .NET erstellt.

Grüße von den Robotern

Teilen Sie Ihren Chatbot mit Freunden. Wir sind gespannt darauf, was Sie als nächstes entwickeln!