Progetti in AWS

I bot migliori di sempre

con .NET e AWS Toolkit for Visual Studio

Modulo 5: Distribuzione e pulizia

In questo modulo, distribuirai Chatbot in EC2 utilizzando AWS CodeBuild e AWS CodeDeploy, oltre a pulire le risorse AWS utilizzate per evitare addebiti.

Panoramica

Segui le istruzioni dettagliate riportate di seguito per distribuire l'applicazione Chatbot e pulire successivamente le risorse. Fai clic sul numero di ciascuna fase per espandere la sezione.

 Tempo richiesto per il completamento

30 minuti

 Servizi utilizzati

CodeDeploy, CodeBuild, EC2, AWS CodeStar

Istruzioni per l'implementazione

    • a. Nella console AWS, fai clic su Servizi e seleziona CodeStar nella sezione Strumenti per sviluppatori.
      b. Fai clic su Create a new project (Crea un nuovo progetto) e scegli il modello ASP.NET Core Web Application.
      c. Immetti il "Project Name" (nome del progetto), scegli CodeCommit come repository e fai clic su Next (Avanti).
      d. Assicurati di selezionare "AWS CodeStar would like permission to administer AWS resources on your behalf" (AWS CodeStar desidera la tua autorizzazione a gestire le risorse AWS per tuo conto) e fai clic su Create Project (Crea progetto).
      e. Seleziona una coppia di chiavi e verifica che la casella di controllo accanto al testo "I acknowledge..." ("Confermo di avere accesso al file di chiavi private per questa coppia di chiavi (mytestkeypair.pem) e sono consapevole che senza questo file non sarò in grado di accedere alla mia istanza."). sia selezionata.
      f. Ora puoi scegliere come modificare il codice del tuo progetto. Hai la possibilità di modificare questa scelta in qualsiasi momento, ma per ora fai clic su "Command Line Tools" (Strumenti a riga di comando) e segui le istruzioni di configurazione per il sistema operativo scelto.
      g. Nella riga di comando, se hai seguito le istruzioni, dovresti avere clonato il repository di progetto da CodeCommit.
      h. Puoi utilizzare diversi prodotti e importatori Git, tuttavia, se non ne disponi, puoi seguire la veloce procedura manuale che ti illustreremo. Prendi il codice che hai clonato dal repository github nel Modulo 4 e sostituiscilo interamente con il codice nel tuo repository Code Commit appena clonato (assicurati di eliminare tutto il vecchio codice prima di incollare il codice del chatbot .NET).
      i. Nella riga di comando, entra nella directory clonata ed esegui i seguenti comandi:

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

      j. Fai clic su "Skip" (Salta) e visualizzerai un pannello di controllo che presenta il tuo codice in fase di distribuzione continua (tra le tante altre opzioni, che ti consigliamo di esplorare).
      k. Nella directory dei progetti che ospita il file Visual Studio Solution, copia il file appspec.yml e buildspec.yml.
      l. Nella directory dei progetti che ospita il file Visual Studio Solution, crea una cartella e nominala "scripts".
      m. Copia tutti i file dalla directory Linux Deployment del tuo repository clonato nella directory scripts che hai creato nella fase precedente.
      n. Fai clic sul collegamento degli endpoint dell'applicazione per visualizzare e testare l'applicazione Chatbot.

      ⚐ NOTA: per ulteriori informazioni, consulta la documentazione disponibile all’interno del progetto github.

      ec2 keypair
    • a. Accedi al tuo account AWS, assicurati di essere nella regione us-east-1 (N. Virginia) o eu-west-1 (Irlanda).
      b. Accedi al tuo account GitHub usando le tue credenziali GitHub.
      c. Usa AWS CloudFormation per creare lo stack della tua infrastruttura in us-east-1 facendo clic sul modello. Puoi anche scaricare il modello CloudFormation qui ed eseguire il modello CloudFormation nel servizio AWS CloudFormation nella regione che preferisci.
      d. Verrai indirizzato alla pagina web della console AWS CloudFormation e visualizzerai una schermata dove potrai fornire i parametri necessari per creare le risorse della tua infrastruttura. Inserisci i valori desiderati per i parametri Stack Name (Nome stack) e Application (Applicazione).
      e. Apri un'altra finestra del browser e torna al tuo account Github, fai clic su Settings (Impostazioni) nell'account GitHub, quindi fai clic su Personal Access Tokens (Token di accesso personale) e crea un nuovo token con il repository scope e admin:repo_hook. Assicurati di selezionare TUTTE le opzioni secondarie per entrambi i suddetti script.
      f. Torna alla pagina web di AWS CloudFormation e compila il parametro GitHubOAuthToken con il valore di GitHub generato nella fase precedente.
      g. Seleziona il VPC dove desideri distribuire la soluzione e la Public Subnet (sottorete pubblica a cui è collegato un gateway Internet) che appartiene a tale VPC.
      h. Seleziona keypair name (nome coppia di chiavi). Per ulteriori informazioni sui nomi coppia di chiavi, fai clic qui.
      i. Se vuoi, modifica il tipo di istanza, altrimenti lascia il valore predefinito fornito.
      j. Nel campo OSTtype seleziona il sistema operativo desiderato per l'istanza EC2 di destinazione come Windows e fai clic sul pulsante Next (Avanti).
      k. Lascia le opzioni predefinite per la sezione Options (Opzioni) e Advanced (Avanzate) e fai clic sul pulsante Next (Avanti).
      l. Nella schermata di revisione assicurati di fare clic sulla casella accanto a: "I acknowledge...("Riconosco che AWS CloudFormation potrebbe creare risorse IAM con nomi personalizzati").
      m. Utilizza Create Stack (Crea stack) e vedrai che lo stack completo e tutte le risorse necessarie vengono creati nella scheda "Events" (Eventi) fino a quando lo stato non indica CREATE_COMPLETE.
      n. Controlla CodePipeline e osserva la tua applicazione mentre supera l'intero processo CD/CI da GitHub a CodeBuild a CodeDeploy che lo distribuisce su EC2 alla fine 1.
      o. Una volta distribuito correttamente, vai alla scheda degli output in CloudFormation e fai clic sul valore dell'URL e vedi l'applicazione Chatbot in esecuzione nel tuo ambiente.

      ⚐ NOTA: per ulteriori informazioni, consulta la documentazione disponibile all’interno del progetto GitHub.

    • a. Vai alla pagina CodeStar nella console.
      b. Seleziona i tre puntini nell'angolo in alto a destra del tuo progetto. Vedi la schermata di seguito.
      c. Seleziona l'opzione "Delete" (Elimina).
      d. Digita il nome del tuo progetto per confermare l’eliminazione. Lascia la casella accanto a “Delete” (Elimina) associata alle risorse AWS insieme al progetto CodeStar. Ulteriori informazioni selezionato.
      e. Seleziona il pulsante "Delete" (Elimina).

      elimina progetto codestar
    • a. Vai alla pagina CloudFormation nella console.
      b. Seleziona il tuo stack.
      c. Vai su "Actions" (Azioni) nel menu a discesa.
      d. Seleziona l'opzione "Delete Stack" (Elimina stack).
      e. Seleziona il pulsante "Yes, Delete" (Sì, elimina).

  • Lambda
    a. Vai alla pagina Lambda nella console.
    b. Seleziona la funzione nell'elenco facendo clic sulla nuvola sul lato sinistro del titolo di tale funzione.
    c. Seleziona Actions (Azioni) e fai clic su Delete (Elimina).

    Lex
    a. Vai alla pagina Lex nella console.
    b. Seleziona il bot nell'elenco facendo clic sulla nuvola sul lato sinistro del titolo di tale funzione.
    c. Seleziona Actions (Azioni) e fai clic su Delete (Elimina).

    Cognito
    a. Vai alla pagina Cognito nella console.
    b. Fai clic su Manage Federated Identities (Gestisci identità federate).
    c. Fai clic sull’identità federata.
    d. Fai clic su Edit Identity Pool (Modifica pool di identità) nell’angolo superiore destro.
    e. Scorri in basso e fai clic sul pulsante Delete Identity Pool (Elimina pool di identità). Quindi conferma facendo clic sul pulsante rosso Delete (Elimina).

    ⚐ NOTA: queste istruzioni sono anche disponibili nella cartella della documentazione all’interno del progetto GitHub.

Complimenti!

Hai creato un Chatbot Amazon Lex su .net utilizzando Amazon Web Services.

saluti dai robot

Condividi la tua Chatbot con gli amici. Non stiamo più nella pelle per scoprire quale sarà la prossima cosa che crei!