Configurazione dell'interfaccia a riga di comando EB - 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à.

Configurazione dell'interfaccia a riga di comando EB

Dopo aver installato l'interfaccia a riga di comando EB, è possibile configurare la directory del progetto e l'interfaccia a riga di comando EB eseguendo eb init.

L'esempio seguente mostra le fasi della configurazione quando viene eseguito eb init per la prima volta in una cartella di progetto denominata eb.

Per inizializzare un progetto dell'interfaccia a riga di comando EB
  1. In primo luogo, l'interfaccia a riga di comando EB ti chiede di selezionare una regione. Digita il numero corrispondente alla regione da utilizzare e premi Enter (Invio).

    ~/eb $ eb init Select a default region 1) us-east-1 : US East (N. Virginia) 2) us-west-1 : US West (N. California) 3) us-west-2 : US West (Oregon) 4) eu-west-1 : Europe (Ireland) 5) eu-central-1 : Europe (Frankfurt) 6) ap-south-1 : Asia Pacific (Mumbai) 7) ap-southeast-1 : Asia Pacific (Singapore) ... (default is 3): 3
  2. Quindi, fornisci la tua chiave di accesso e la chiave segreta in modo che l'interfaccia a riga di comando EB sia in grado di gestire le risorse per te. Le chiavi di accesso vengono create nella console di AWS Identity and Access Management. Se non disponi delle chiavi, consulta l'argomento che descrive come ottenere le credenziali di sicurezza in Riferimenti generali di Amazon Web Services.

    You have not yet set up your credentials or your credentials are incorrect. You must provide your credentials. (aws-access-id): AKIAJOUAASEXAMPLE (aws-secret-key): 5ZRIrtTM4ciIAvd4EXAMPLEDtm+PiPSzpoK
  3. Un'applicazione in Elastic Beanstalk è una risorsa che contiene un set di versioni dell'applicazione (origine), ambienti e configurazioni salvate associati a una singola applicazione Web. Ogni volta che distribuisci il codice sorgente per Elastic Beanstalk utilizzando la CLI EB, una nuova versione dell'applicazione viene creata e aggiunta all'elenco.

    Select an application to use 1) [ Create new Application ] (default is 1): 1
  4. Il nome predefinito dell'applicazione è il nome della cartella in cui esegui eb init. Inserisci un nome che descrive il tuo progetto.

    Enter Application Name (default is "eb"): eb Application eb has been created.
  5. Seleziona una piattaforma che corrisponda al framework o al linguaggio con cui è stata sviluppata la tua applicazione Web. Se non hai iniziato a sviluppare un'applicazione, scegli una piattaforma che ti interessa. Visualizzerai come avviare un'applicazione di esempio a breve, e puoi sempre modificare questa impostazione in un secondo momento.

    Select a platform. 1) Node.js 2) PHP 3) Python 4) Ruby 5) Tomcat 6) IIS 7) Docker 8) Multi-container Docker 9) GlassFish 10) Go 11) Java (default is 1): 1
  6. Scegli yes (sì) per assegnare una coppia di chiavi SSH alle istanze nel tuo ambiente Elastic Beanstalk. In questo modo ci si connette direttamente per la risoluzione dei problemi.

    Do you want to set up SSH for your instances? (y/n): y
  7. Seleziona una coppia di chiavi esistente o creane una nuova. Per utilizzare eb init per creare una nuova coppia di chiavi, ssh-keygen deve essere installato nel computer locale e disponibile dalla riga di comando. La CLI EB registra automaticamente la nuova coppia di chiavi con Amazon EC2 e archivia la chiave privata in locale in una cartella denominata .ssh nella tua directory utente.

    Select a keypair. 1) [ Create new KeyPair ] (default is 1): 1

L'installazione dell'interfaccia a riga di comando EB è ora configurata e pronta all'uso. Consulta Gestione degli ambienti Elastic Beanstalk con l'interfaccia a riga di comando EB per istruzioni sulla creazione e l'utilizzo di un ambiente Elastic Beanstalk.

File ignorati con .ebignore

Puoi stabilire che l'interfaccia a riga di comando EB ignori alcuni file nella directory di progetto aggiungendo il file .ebignore alla directory. Questo file funziona come un file .gitignore. Quando distribuisci la directory del progetto in Elastic Beanstalk e crei una nuova versione dell'applicazione, la CLI EB non include i file specificati da .ebignore nel bundle di origine creato.

Se .ebignore non è presente ma è disponibile .gitignore, l'interfaccia a riga di comando EB ignora i file specificati in .gitignore. Se .ebignore è presente, l'interfaccia a riga di comando EB non legge .gitignore.

Quando .ebignore è presente, l'interfaccia a riga di comando EB non utilizza i comandi git per creare il bundle di origine. Questo significa che la CLI EB ignora i file specificati in .ebignore e include tutti gli altri file. In particolare, include i file sorgente non eseguiti.

Nota

In Windows, se aggiungi .ebignore, l'interfaccia a riga di comando EB segue i collegamenti simbolici e include il file collegato durante la creazione di un bundle di origine. Si tratta di un problema noto e verrà risolto in un aggiornamento futuro.

Utilizzo di profili denominati

Se archivi le credenziali come un profilo denominato in un file credentials o config, puoi utilizzare l'opzione --profile per specificare un profilo in modo esplicito. Ad esempio, il comando seguente crea una nuova applicazione utilizzando il profilo user2.

$ eb init --profile user2

Puoi inoltre modificare il profilo predefinito impostando la variabile di ambiente AWS_EB_PROFILE. Quando questa variabile è impostata, l'interfaccia a riga di comando EB legge le credenziali del profilo specificato anziché default o eb-cli.

Linux, macOS o Unix

$ export AWS_EB_PROFILE=user2

Windows

> set AWS_EB_PROFILE=user2

Distribuzione di artifact invece della cartella del progetto

Puoi chiedere all'interfaccia a riga di comando EB di distribuire un file WAR o ZIP generato come parte di un processo di creazione separato aggiungendo le seguenti righe .elasticbeanstalk/config.yml alla cartella del tuo progetto.

deploy: artifact: path/to/buildartifact.zip

Se configuri l'interfaccia a riga di comando EB nel tuo archivio Git e non esegui il commit dell'artefatto all'origine, utilizza l'opzione --staged per distribuire la compilazione più recente.

~/eb$ eb deploy --staged

Impostazioni di configurazione e precedenza

La CLI EB utilizza una catena di provider per cercare le credenziali AWS in luoghi diversi, tra cui le variabili di ambiente utente o di sistema e i file di configurazione AWS locali.

L'interfaccia a riga di comando EB cerca le credenziali e le impostazioni di configurazione nell'ordine seguente:

  1. Opzioni della riga di comando: specifica un profilo denominato utilizzando --profile per sovrascrivere le impostazioni predefinite.

  2. Variabili di ambiente: AWS_ACCESS_KEY_ID e AWS_SECRET_ACCESS_KEY.

  3. File delle credenziali AWS: disponibile nei ~/.aws/credentials sistemi Linux e OS X o nei C:\Users\USERNAME\.aws\credentials sistemi Windows. Questo file può contenere più profili denominati in aggiunta a un profilo predefinito.

  4. File di configurazione della AWS CLI: disponibile nei ~/.aws/config sistemi Linux e OS X o nei C:\Users\USERNAME\.aws\config sistemi Windows. Questo file può contenere un profilo di default, profili denominati e parametri di configurazione specifici della AWS CLI per ciascuno di essi.

  5. File di configurazione legacy della CLI EB: disponibile in ~/.elasticbeanstalk/config nei sistemi Linux e OS X o in C:\Users\USERNAME\.elasticbeanstalk\config nei sistemi Windows.

  6. Credenziali del profilo di istanza: queste credenziali possono essere utilizzate sulle istanze Amazon EC2 con un ruolo di istanza assegnato e vengono fornite mediante il servizio di metadati Amazon EC2. Il profilo dell'istanza deve disporre delle autorizzazioni per utilizzare Elastic Beanstalk.

Se il file delle credenziali contiene un profilo denominato con il nome "eb-cli", l'interfaccia a riga di comando EB preferirà quel profilo al profilo predefinito. Se non vengono trovati profili o viene trovato un profilo che non dispone delle autorizzazioni per utilizzare Elastic Beanstalk, la CLI EB richiede di immettere le chiavi.

Metadati delle istanze

Per utilizzare la CLI EB da un'istanza Amazon EC2, è necessario creare un ruolo che dispone dell'accesso alle risorse necessarie e assegnare tale ruolo all'istanza quando viene avviata. Avvia l'istanza e installa l'interfaccia a riga di comando di EB utilizzando pip.

~$ sudo pip install awsebcli

pip è preinstallato su Amazon Linux.

L'interfaccia a riga di comando di EB legge le credenziali dai metadata dell'istanza. Per ulteriori informazioni, consulta l'argomento relativo alla concessione dell'accesso alle risorse AWS alle applicazioni in esecuzione su istanze Amazon EC2 nella Guida per l'utente di IAM.