QuickStart: distribuisci un'applicazione Python su Elastic Beanstalk - AWS Elastic Beanstalk

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

QuickStart: distribuisci un'applicazione Python su Elastic Beanstalk

Questo QuickStart tutorial illustra il processo di creazione di un'applicazione Python e la sua distribuzione in un ambiente. AWS Elastic Beanstalk

Nota

Questo QuickStart tutorial è destinato a scopi dimostrativi. Non utilizzate l'applicazione creata in questo tutorial per il traffico di produzione.

Il tuo AWS account

Se non sei già AWS cliente, devi creare un AWS account. La registrazione ti consente di accedere a Elastic Beanstalk AWS e ad altri servizi di cui hai bisogno.

Se hai già un AWS account, puoi passare a. Prerequisiti

Registrati per un Account AWS

Se non ne hai uno Account AWS, completa i seguenti passaggi per crearne uno.

Per iscriverti a un Account AWS
  1. Apri la https://portal.aws.amazon.com/billing/registrazione.

  2. Segui le istruzioni online.

    Nel corso della procedura di registrazione riceverai una telefonata, durante la quale sarà necessario inserire un codice di verifica attraverso la tastiera del telefono.

    Quando ti iscrivi a un Account AWS, Utente root dell'account AWSviene creato un. L'utente root dispone dell'accesso a tutte le risorse e tutti i Servizi AWS nell'account. Come best practice di sicurezza, assegna l'accesso amministrativo a un utente e utilizza solo l'utente root per eseguire attività che richiedono l'accesso di un utente root.

AWS ti invia un'email di conferma dopo il completamento della procedura di registrazione. In qualsiasi momento, puoi visualizzare l'attività corrente del tuo account e gestirlo accedendo a https://aws.amazon.com/e scegliendo Il mio account.

Crea un utente con accesso amministrativo

Dopo esserti registrato Account AWS, proteggi Utente root dell'account AWS AWS IAM Identity Center, abilita e crea un utente amministrativo in modo da non utilizzare l'utente root per le attività quotidiane.

Proteggi i tuoi Utente root dell'account AWS
  1. Accedi AWS Management Consolecome proprietario dell'account scegliendo Utente root e inserendo il tuo indirizzo Account AWS email. Nella pagina successiva, inserisci la password.

    Per informazioni sull'accesso utilizzando un utente root, consulta la pagina Signing in as the root user della Guida per l'utente di Accedi ad AWS .

  2. Attiva l'autenticazione a più fattori (MFA) per il tuo utente root.

    Per istruzioni, consulta Abilitare un MFA dispositivo virtuale per l'utente Account AWS root (console) nella Guida per l'IAMutente.

Crea un utente con accesso amministrativo
  1. Abilita IAM Identity Center.

    Per istruzioni, consulta Abilitazione di AWS IAM Identity Center nella Guida per l'utente di AWS IAM Identity Center .

  2. In IAM Identity Center, concedi l'accesso amministrativo a un utente.

    Per un tutorial sull'utilizzo di IAM Identity Center directory come fonte di identità, consulta Configurare l'accesso utente con i valori predefiniti IAM Identity Center directory nella Guida per l'AWS IAM Identity Center utente.

Accesso come utente amministratore
  • Per accedere con l'utente dell'IAMIdentity Center, utilizza l'accesso URL che è stato inviato al tuo indirizzo e-mail quando hai creato l'utente IAM Identity Center.

    Per informazioni sull'accesso con un utente di IAM Identity Center, consulta Accesso al portale di AWS accesso nella Guida per l'Accedi ad AWS utente.

Assegna l'accesso a ulteriori utenti
  1. In IAM Identity Center, crea un set di autorizzazioni che segua la migliore pratica di applicazione delle autorizzazioni con privilegi minimi.

    Segui le istruzioni riportate nella pagina Creazione di un set di autorizzazioni nella Guida per l'utente di AWS IAM Identity Center .

  2. Assegna al gruppo prima gli utenti e poi l'accesso con autenticazione unica (Single Sign-On).

    Per istruzioni, consulta Aggiungere gruppi nella Guida per l'utente di AWS IAM Identity Center .

Prerequisiti

Nota

AWS gli account creati dopo il 1° ottobre 2024 dovranno temporaneamente impostare un'opzione per creare correttamente un nuovo ambiente. Come per i nuovi account, ma solo per le regioni in cui l'account non dispone già di un ambiente, gli account esistenti dovranno intraprendere la stessa azione. Per ulteriori informazioni, consulta Modelli di avvio.

Per seguire le procedure in questa guida, devi usare un terminale a riga di comando o una shell per eseguire i comandi. I comandi vengono visualizzati in elenchi preceduti da un simbolo di prompt ($) e dal nome della directory corrente, se appropriato.

~/eb-project$ this is a command this is output

Su Linux e macOS usa la tua shell e il tuo programma di gestione dei pacchetti preferiti. Su Windows puoi installare il sottosistema Windows per Linux per ottenere una versione integrata con Windows di Ubuntu e Bash.

EB CLI

Questo tutorial utilizza l'Elastic Beanstalk Command Line Interface (EB). CLI Per i dettagli sull'installazione e la configurazione dell'EBCLI, consulta e. Installazione dell'interfaccia a riga di comando di Elastic Beanstalk Configurazione dell'interfaccia a riga di comando EB

Framework Python e Flask

Conferma di avere una versione di Python funzionante con pip installata eseguendo i seguenti comandi.

~$ python3 --version Python 3.N.N >~$ python3 -m pip --version pip X.Y.Z from ... (python 3.N.N)

Se uno dei comandi precedenti restituisce «Python was not found «, esegui i seguenti comandi che use python invece di. python3 La configurazione degli alias e dei collegamenti simbolici può variare in base al sistema operativo e alle singole personalizzazioni, pertanto il python3 comando potrebbe non funzionare sul computer.

~$ python --version Python 3.N.N >~$ python -m pip --version pip X.Y.Z from ... (python 3.N.N)

Se non hai Python installato sul tuo computer locale, puoi scaricarlo dalla pagina dei download di Python sul sito Web di Python. Per un elenco delle versioni del linguaggio Python supportate da Elastic Beanstalk, consulta Piattaforme Python supportate nella guida Piattaforme.AWS Elastic Beanstalk Il sito Web per i download di Python fornisce un collegamento alla Python Developer's Guide, dove troverai le istruzioni di installazione e configurazione.

Nota

Il pip pacchetto Python è incluso di default in Python 3.4 o versioni successive.

Se l'output indica che disponi di una versione supportata di Python, ma non lo èpip, consulta la pagina di installazione sul sito Web pip.pypa.io. Fornisce indicazioni per installare pip in un ambiente Python che non lo dispone.

Conferma se Flask è installato eseguendo il seguente comando:

~$ pip list | grep Flask

Se Flask non è installato, puoi installarlo con il seguente comando:

~$ pip install Flask

Fase 1: Creare un'applicazione Python

Crea una directory di progetto.

~$ mkdir eb-python ~$ cd eb-python

Crea un esempio di «Hello Elastic Beanstalk!» Applicazione Python che distribuirai utilizzando Elastic Beanstalk.

Crea un file di testo denominato application.py nella directory appena creata con i seguenti contenuti.

Esempio ~/eb-python/application.py
from flask import Flask application = Flask(__name__) @application.route('/') def hello_elastic_beanstalk(): return 'Hello Elastic Beanstalk!'

Create un file di testo denominato requirements.txt con la riga seguente. Questo file contiene i pip pacchetti necessari per l'esecuzione dell'applicazione.

Esempio ~/eb-python/requirements.txt
Flask

Passaggio 2: Esegui l'applicazione localmente

Esegui il comando seguente per eseguire l'applicazione localmente.

~/eb-python$ export FLASK_APP=application.py && flask run --port 5000

Dovresti vedere un output simile al seguente

Serving Flask app 'application.py'
Debug mode: off
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
Running on http://127.0.0.1:5000
Press CTRL+C to quit
127.0.0.1 - - [01/Jan/1970 00:00:00] "GET / HTTP/1.1" 200 -

Accedi a http://localhost:5000 nel tuo browser web. Il browser Web dovrebbe visualizzare «Hello Elastic Beanstalk!».

Fase 3: Implementa la tua applicazione Python con l'EB CLI

Esegui i seguenti comandi per creare un ambiente Elastic Beanstalk per questa applicazione.

Per creare un ambiente e distribuire la tua applicazione Python
  1. Inizializza il tuo CLI repository EB con il comando. eb init

    ~/eb-python$ eb init -p python-3.9 python-tutorial --region us-east-2

    Questo comando crea un'applicazione denominata python-tutorial e configura il repository locale per creare ambienti con la versione della piattaforma Python fornita.

  2. (Facoltativo) Esegui eb init nuovamente per configurare una coppia di key pair predefinita SSH da utilizzare per connetterti all'EC2istanza che esegue l'applicazione.

    ~/eb-python$ eb init Do you want to set up SSH for your instances? (y/n): y Select a keypair. 1) my-keypair 2) [ Create new KeyPair ]

    Seleziona una coppia di chiavi se ne hai già una, oppure segui le istruzioni per creare una nuova. Se il prompt non è visualizzato o devi modificare le impostazioni in seguito, esegui eb init -i.

  3. Crea un ambiente e distribuisci in esso l'applicazione con eb create: Elastic Beanstalk crea automaticamente un file zip per l'applicazione e lo avvia sulla porta 5000.

    ~/eb-python$ eb create python-env

    Elastic Beanstalk impiega circa cinque minuti per creare l'ambiente.

Fase 4: Esegui l'applicazione su Elastic Beanstalk

Una volta completato il processo di creazione dell'ambiente, apri il sito Web con. eb open

~/eb-python$ eb open

Complimenti! Hai distribuito un'applicazione Python con Elastic Beanstalk! Si aprirà una finestra del browser che utilizza il nome di dominio creato per l'applicazione.

Fase 5: rimozione

Puoi chiudere il tuo ambiente quando finisci di lavorare con l'applicazione. Elastic Beanstalk AWS interrompe tutte le risorse associate all'ambiente.

Per terminare l'ambiente Elastic Beanstalk con CLI EB, esegui il comando seguente.

~/eb-python$ eb terminate

AWS risorse per la tua applicazione

Hai appena creato un'applicazione a istanza singola. Funge da semplice applicazione di esempio con una singola EC2 istanza, quindi non richiede il bilanciamento del carico o la scalabilità automatica. Per le applicazioni a istanza singola Elastic Beanstalk crea le seguenti risorse: AWS

  • EC2istanza: una macchina EC2 virtuale Amazon configurata per eseguire app Web sulla piattaforma scelta.

    Ogni piattaforma esegue un insieme diverso di software, file di configurazione e script per supportare una versione della lingua, un framework, un container Web specifici o una determinata combinazione di tutti questi elementi. La maggior parte delle piattaforme utilizza Apache o nginx come proxy inverso che elabora il traffico web su cui viene eseguita l'app Web, inoltra le richieste all'app, fornisce asset statici e genera log degli accessi e di errore.

  • Gruppo di sicurezza dell'istanza: un gruppo EC2 di sicurezza Amazon configurato per consentire il traffico in entrata sulla porta 80. Questa risorsa consente al HTTP traffico proveniente dal sistema di bilanciamento del carico di raggiungere l'EC2istanza su cui è in esecuzione la tua app web. Per impostazione predefinita, il traffico non è consentito su altre porte.

  • Bucket Amazon S3: posizione di storage per il codice sorgente, i log e altri artefatti creati quando si utilizza Elastic Beanstalk.

  • CloudWatch Allarmi Amazon: due CloudWatch allarmi che monitorano il carico sulle istanze nel tuo ambiente e vengono attivati se il carico è troppo alto o troppo basso. Quando viene attivato un allarme, il gruppo Auto Scaling aumenta o diminuisce di conseguenza.

  • AWS CloudFormation stack: Elastic AWS CloudFormation Beanstalk utilizza per avviare le risorse nell'ambiente e propagare le modifiche alla configurazione. Le risorse sono definite in un modello, visualizzabile nella console AWS CloudFormation.

  • Nome di dominio: un nome di dominio che indirizza alla tua app Web nel modulo subdomain.region.elasticbeanstalk.com.

Elastic Beanstalk gestisce tutte queste risorse. Quando arresti l'ambiente, Elastic Beanstalk termina tutte le risorse che contiene.

Passaggi successivi

Quando disponi di un'applicazione in esecuzione in un ambiente, puoi distribuire una nuova versione dell'applicazione o un'applicazione diversa in qualsiasi momento. La distribuzione di una nuova versione dell'applicazione è molto rapida perché non richiede il provisioning o il riavvio delle istanze. EC2 Puoi anche esplorare il tuo nuovo ambiente utilizzando la console Elastic Beanstalk. Per i passaggi dettagliati, consulta Esplora il tuo ambiente nel capitolo Guida introduttiva di questa guida.

Prova altri tutorial

Se desideri provare altri tutorial con diverse applicazioni di esempio, consulta i seguenti tutorial:

Dopo aver distribuito una o due applicazioni di esempio e essere pronti per iniziare a sviluppare ed eseguire applicazioni Python localmente, vedi. Configurazione dell'ambiente di sviluppo Python per Elastic Beanstalk

Esegui la distribuzione con la console Elastic Beanstalk

Puoi anche utilizzare la console Elastic Beanstalk per avviare l'applicazione di esempio. Per i passaggi dettagliati, consulta Creare un'applicazione di esempio nel capitolo Guida introduttiva di questa guida.