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 Ihren Chatbot über CodeBuild und CodeDeploy in EC2 bereit und bereinigen die in diesem Modulen verwendeten AWS-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. Klicken Sie auf die Nummer eines jeweiligen Schritts, um den Bereich zu erweitern.

 Benötigte Zeit

30 Minuten

 Verwendete Services

CodeDeploy, CodeBuild, EC2

Implementierungsanweisungen

    • 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:
      i. git add .
      ii. git commit -m "adding Chatbot code"
      iii. git push
      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 "Step By Step Deployment of dotNet Chatbot - Linux.pdf", die sich im GitHub-Projekt im Ordner "Documentation" befindet.

      Skripte zur Bereitstellung

      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, indem Sie auf diese Vorlage klicken: <Link zur Vorlage als Schaltfläche>.
      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.
      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 "Step By Step Deployment of dotNet Chatbot - Windows.pdf", die sich im GitHub-Projekt im Ordner "Documentation" befindet.

    • a. Öffnen Sie die CodeStar-Seite in der Konsole.
      b. Wählen Sie "…" oben rechts in Ihrem Projekt aus.
      c. Wählen Sie "Löschen" aus.
      d. Geben Sie den Namen Ihres Projekts ein, um den Löschvorgang zu bestätigen, und entfernen Sie das Häkchen neben "Verknüpfte AWS-Ressourcen behalten, aber das Projekt in AWS CodeStar löschen. Weitere Informationen"
      e. Klicken Sie auf "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 Ihre 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 Ihren 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 Ihren 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 "Documentation" des GitHub-Projekts in der Datei "dotNet Chatbot CleanUp and Deletion Instructions.pdf".

Teilen Sie Ihren Chatbot mit Freunden und sagen Sie uns, was Sie als nächstes erstellen!