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à.
Personalizzazione di software su server Windows
È possibile che tu voglia personalizzare e configurare il software da cui dipende la tua applicazione. Questi file potrebbero essere dipendenze richieste dall'applicazione, ad esempio servizi o pacchetti aggiuntivi che devono essere eseguiti. Per informazioni generali sulla personalizzazione e sulla configurazione degli ambienti Elastic Beanstalk, consulta Configurazione degli ambienti Elastic Beanstalk.
Nota
YAMLsi basa su un'indentazione coerente. Utilizza lo stesso livello di rientro quando sostituisci del contenuto in un file di configurazione di esempio e assicurati che il tuo editor di testo utilizzi gli spazi e non le tabulazioni per il rientro.
I file di configurazione supportano le seguenti chiavi utilizzabili con il server Windows in cui è in esecuzione l'applicazione.
Le chiavi sono elaborate nell'ordine in cui sono elencate qui.
Nota
Più vecchio (senza versioni). NETle versioni della piattaforma non elaborano i file di configurazione nell'ordine corretto. Ulteriori informazioni sono disponibili in Migrazione tra le versioni principali della piattaforma server Windows di Elastic Beanstalk.
Controlla gli eventi del tuo ambiente durante lo sviluppo e il test dei file di configurazione. Elastic Beanstalk ignora un file di configurazione contenente errori di convalida, ad esempio una chiave non valida, e non elabora le altre chiavi contenute nello stesso file. In questi casi, Elastic Beanstalk aggiunge un avviso nel log degli eventi.
Pacchetti
Utilizza la chiave packages
per scaricare e installare pacchetti di componenti e applicazioni.
Negli ambienti Windows, Elastic Beanstalk supporta il download e l'installazione di pacchetti. MSI Gli ambienti Linux supportano programmi di gestione dei pacchetti aggiuntivi. Per maggiori dettagli, consultare Pacchetti nella pagina Personalizzazione di software su server Linux.
Puoi fare riferimento a qualsiasi posizione esterna, ad esempio un oggetto Amazon Simple Storage Service (Amazon S3), purché sia accessibile pubblicamenteURL.
Se si specificano diversi msi:
pacchetti, il loro ordine di installazione non è garantito.
Sintassi
Specificate un nome a vostra scelta come nome del pacchetto e un nome URL a una posizione MSI del file come valore. È possibile specificare più pacchetti nella chiave msi:
.
packages:
msi:
package name
: package url
...
Esempi
L'esempio seguente specifica URL a da cui scaricare mysql. https://dev.mysql.com/
packages:
msi:
mysql: https://dev.mysql.com/get/Downloads/Connector-Net/mysql-connector-net-8.0.11.msi
L'esempio seguente specifica un oggetto Amazon S3 come posizione MSI del file.
packages:
msi:
mymsi: https://amzn-s3-demo-bucket
.s3.amazonaws.com/myobject
.msi
Origini
Usa la sources
chiave per scaricare un file di archivio da un archivio pubblico URL e decomprimerlo in una directory di destinazione sull'istanza. EC2
Sintassi
sources:
target directory
: location of archive file
Formati supportati
In ambienti Windows, Elastic Beanstalk supporta il formato ZIP. Gli ambienti Linux supportano formati aggiuntivi. Per maggiori dettagli, consultare Origini nella pagina Personalizzazione di software su server Linux.
Puoi fare riferimento a qualsiasi posizione esterna, ad esempio un oggetto Amazon Simple Storage Service (Amazon S3), purché sia accessibile pubblicamenteURL.
Esempio
L'esempio seguente scarica un file.zip pubblico da Amazon S3 e lo decomprime. c:/myproject/myapp
sources:
"c:/myproject/myapp": https://amzn-s3-demo-bucket
.s3.amazonaws.com/myobject
.zip
File
Usa la files
chiave per creare file sull'istanza. EC2 Il contenuto può essere incorporato nel file di configurazione o proveniente da unURL. I file sono scritti su disco in ordine lessicografico. Per scaricare file privati da Amazon S3, fornisci un profilo dell'istanza per l'autorizzazione.
Sintassi
files:
"target file location on disk
":
source: URL
authentication: authentication name
:
"target file location on disk
":
content: |
this is my content
encoding: encoding format
Opzioni
content
-
(Facoltativa) Una stringa.
source
-
(Facoltativo) Il file URL da cui viene caricato il file. Questa opzione non può essere specificata con la chiave contenuto.
encoding
-
(Facoltativa) Il formato di codifica. Questa opzione è utilizzata solo per un valore di chiave contenuto fornito. Il valore predefinito è
plain
.Valori validi:
plain
|base64
authentication
-
(Facoltativo) Il nome di un metodo di autenticazione AWS CloudFormation da utilizzare. Puoi aggiungere metodi di autenticazione ai metadati del gruppo Auto Scaling con la chiave Resources.
Esempi
L'esempio seguente mostra i due modi per fornire il contenuto del file: da un URL file o in linea nel file di configurazione.
files:
"c:\\targetdirectory\\targetfile.txt
":
source: http://foo.bar/myfile
"c:/targetdirectory/targetfile.txt
":
content: |
# this is my file
# with content
Nota
Se utilizzi una barra rovesciata (\) nel percorso di file, devi anteporvi un'altra barra rovesciata (il carattere escape) come mostrato nell'esempio precedente.
L'esempio seguente utilizza la chiave Resources per aggiungere un metodo di autenticazione denominato S3Auth e lo utilizza per scaricare un file privato da Amazon S3:
files:
"c:\\targetdirectory\\targetfile.zip":
source: https://elasticbeanstalk-us-east-2-123456789012.s3.amazonaws.com/prefix/myfile.zip
authentication: S3Auth
Resources:
AWSEBAutoScalingGroup:
Metadata:
AWS::CloudFormation::Authentication:
S3Auth
:
type: "s3"
s: ["amzn-s3-demo-bucket
"]
roleName:
"Fn::GetOptionSetting":
Namespace: "aws:autoscaling:launchconfiguration"
OptionName: "IamInstanceProfile"
DefaultValue: "aws-elasticbeanstalk-ec2-role"
Comandi
Usa la commands
chiave per eseguire comandi sull'istanza. EC2 I comandi vengono elaborati in ordine alfabetico per nome e vengono eseguiti prima della configurazione dell'applicazione e del server Web e prima che il file della versione dell'applicazione venga estratto.
I comandi specificati sono eseguiti come utente amministratore.
Per risolvere i problemi emersi con i comandi, è possibile trovare il relativo output nei log delle istanze.
Sintassi
commands:
command name
:
command: command to run
Opzioni
command
-
Una matrice o una stringa che specifica il comando da eseguire. Se utilizzi una matrice, non è necessario utilizzare un carattere di escape negli spazi o racchiudere i parametri di comando tra virgolette.
cwd
-
(Facoltativa) La directory di lavoro. Per impostazione predefinita, Elastic Beanstalk tenta di trovare la posizione della directory del tuo progetto. Se non la trova, utilizza
c:\Windows\System32
come percorso di default. env
-
(Facoltativa) Imposta variabili di ambiente per il comando. Questa proprietà non aggiunge l'ambiente esistente ma lo sovrascrive.
ignoreErrors
-
(Facoltativa) Un valore booleano che determina se altri comandi devono essere eseguiti nel caso in cui il comando nella chiave
command
non riesca (restituisce un valore diverso da zero). Imposta questo valore sutrue
per continuare a eseguire i comandi anche se il comando non riesce. Impostalo sufalse
per interrompere l'esecuzione dei comandi se il comando non riesce. Il valore predefinito èfalse
. test
-
(Facoltativo) Un comando che deve restituire il valore
true
(codice di uscita 0) per consentire a Elastic Beanstalk di elaborare il comando contenuto nella chiavecommand
. waitAfterCompletion
-
(Facoltativa) L'intervallo in secondi tra il completamento del comando e l'esecuzione del comando successivo. Se il sistema richiede un riavvio dopo il completamento del comando, il riavvio viene eseguito al termine dell'intervallo specificato. Se il riavvio del sistema è dovuto a un comando, Elastic Beanstalk esegue il recupero fino al punto successivo al comando nel file di configurazione. Il valore predefinito è
60
secondi. Puoi anche specificareforever
, ma è necessario riavviare il sistema prima di eseguire un altro comando.
Esempio
L'esempio seguente salva l'output del comando set
nel file specificato. Se c'è un comando successivo, viene eseguito da Elastic Beanstalk subito dopo il completamento di questo comando. Se tale comando richiede un riavvio, Elastic Beanstalk riavvia l'istanza subito dopo il completamento del comando.
commands:
test:
command: set > c:\\myapp\\set.txt
waitAfterCompletion: 0
Servizi
Utilizza la chiave services
per definire i servizi che devono essere avviati o arrestati all'avvio dell'istanza. La chiave services
consente inoltre di specificare le dipendenze in origini, pacchetti e file, di modo che se è necessario un riavvio a seguito dell'installazione dei file, Elastic Beanstalk esegue il riavvio del servizio.
Sintassi
services:
windows:
name of service
:
files:
- "file name
"
sources:
- "directory
"
packages:
name of package manager
:
"package name
[: version
]"
commands:
- "name of command
"
Opzioni
ensureRunning
-
(Facoltativo) Imposta su
true
per continuare a eseguire il servizio dopo la chiusura di Elastic Beanstalk.Imposta su
false
per continuare a eseguire il servizio dopo la chiusura di Elastic Beanstalk.Ometti la chiave per non apportare modifiche allo stato del servizio.
enabled
-
(Facoltativa) Imposta su
true
per eseguire automaticamente il servizio all'avvio.Imposta su
false
per non eseguire automaticamente il servizio all'avvio.Ometti la chiave per non apportare modifiche a questa proprietà.
files
-
Un elenco di file. Se Elastic Beanstalk ne modifica uno direttamente tramite il blocco di file, il servizio viene riavviato.
sources
-
Un elenco di directory. Se Elastic Beanstalk espande un archivio in una di queste directory, il servizio viene riavviato.
packages
-
La mappatura del programma di gestione dei pacchetti a un elenco di nomi di pacchetto. Se Elastic Beanstalk installa o aggiorna uno di questi pacchetti, il servizio viene riavviato.
commands
-
Un elenco di nomi di comando. Se Elastic Beanstalk esegue il comando specificato, il servizio viene riavviato.
Esempio
services:
windows:
myservice:
enabled: true
ensureRunning: true
Comandi del container
Utilizza la chiave container_commands
per eseguire comandi che modificano il codice sorgente dell'applicazione. I comandi di contenitore vengono eseguiti dopo la configurazione dell'applicazione e del server Web e l'estrazione dell'archivio delle versioni dell'applicazione, ma prima della distribuzione della versione dell'applicazione. I comandi non di contenitore e altre operazioni di personalizzazione vengono eseguiti prima dell'estrazione del codice sorgente dell'applicazione.
I comandi di contenitore vengono eseguiti a partire dalla directory di gestione temporanea, dove viene estratto il codice sorgente prima di essere distribuito al server di applicazioni. Qualsiasi modifica apportata al codice sorgente nella directory di gestione temporanea con un comando di contenitore verrà inclusa al momento della distribuzione del codice sorgente nella posizione finale.
Per risolvere i problemi emersi con i comandi del container, è possibile trovare il relativo output nei log delle istanze.
Utilizza l'opzione leader_only
per eseguire il comando solo su una singola istanza oppure configura un oggetto test
per eseguire il comando esclusivamente quando un comando di test restituisce true
. I comandi di contenitore "leader-only" vengono eseguiti solo durante la creazione dell'ambiente e le distribuzioni, mentre altri comandi e operazioni di personalizzazione di server sono eseguiti a ogni provisioning o aggiornamento di un'istanza. I comandi del contenitore solo per i leader non vengono eseguiti a causa di modifiche alla configurazione di avvio, ad esempio una modifica dell'AMIID o del tipo di istanza.
Sintassi
container_commands:
name of container_command
:
command: command to run
Opzioni
command
-
Una stringa o una matrice di stringhe da eseguire.
env
-
(Facoltativa) Imposta le variabili di ambiente prima di eseguire il comando, ignorando qualsiasi valore esistente.
cwd
-
(Facoltativa) La directory di lavoro. Per impostazione predefinita, questa è la directory di gestione temporanea dell'applicazione decompressa.
leader_only
-
(Facoltativa) Esegui il comando solo su una singola istanza scelta da Elastic Beanstalk. I comandi di contenitore "leader-only" vengono eseguiti prima di altri comandi di contenitore. Un comando può essere "leader-only" o avere un oggetto
test
, ma non entrambe le cose (leader_only
è prioritario). test
-
(Facoltativa) Esegui un comando di test che deve restituire
true
per eseguire il comando di contenitore. Un comando può essere "leader-only" o avere un oggettotest
, ma non entrambe le cose (leader_only
è prioritario). ignoreErrors
-
(Facoltativa) Esegui correttamente le distribuzioni se il comando di container restituisce un valore diverso da 0 (riuscito). Imposta su
true
per attivarla. waitAfterCompletion
-
(Facoltativa) L'intervallo in secondi tra il completamento del comando e l'esecuzione del comando successivo. Se il sistema richiede un riavvio dopo il completamento del comando, il riavvio viene eseguito al termine dell'intervallo specificato. Se il riavvio del sistema è dovuto a un comando, Elastic Beanstalk esegue il recupero fino al punto successivo al comando nel file di configurazione. Il valore predefinito è
60
secondi. Puoi anche specificareforever
, ma è necessario riavviare il sistema prima di eseguire un altro comando.
Esempio
L'esempio seguente salva l'output del comando set
nel file specificato. Elastic Beanstalk esegue il comando su un'istanza e riavvia l'istanza subito dopo il completamento del comando.
container_commands:
foo:
command: set > c:\\myapp\\set.txt
leader_only: true
waitAfterCompletion: 0