5

Cerco di spegnere/avviare i miei ambienti di test (elastico) durante la notte per salvare risorse quando i server non sono necessari. Sulla console Web di EB posso inserire ridimensionamenti basati sul tempo che vengono attivati.Ridimensionamento basato sul tempo sul beanle di elastico

Tuttavia, quando aggiungo un file di configurazione nella cartella .ebextensions che dovrebbe fare lo stesso, i server non vengono ridimensionati.

Secondo il documentation (ricerca di "Esempi di Scaling Opzione Tempo base-Impostazioni file") di Elastic Beanstalk, è possibile aggiungere un file .ebextension con la configurazione di scala basato sul tempo.

Così ho regolato l'esempio e ha aggiunto la definizione in base al progetto:

{ [ { "Namespace": "aws:autoscaling:scheduledaction", "ResourceName": "OvernightShutdown", "OptionName": "MinSize", "Value": "0" }, { "Namespace": "aws:autoscaling:scheduledaction", "ResourceName": "OvernightShutdown", "OptionName": "MaxSize", "Value": "0" }, { "Namespace": "aws:autoscaling:scheduledaction", "ResourceName": "OvernightShutdown", "OptionName": "DesiredCapacity", "Value": "0" }, { "Namespace": "aws:autoscaling:scheduledaction", "ResourceName": "OvernightShutdown", "OptionName": "StartTime", "Value": "2015-11-18T16:50:00Z" }, { "Namespace": "aws:autoscaling:scheduledaction", "ResourceName": "OvernightShutdown", "OptionName": "Recurrence", "Value": "00 21 * * 1-5" }, { "Namespace": "aws:autoscaling:scheduledaction", "ResourceName": "MorningStartup", "OptionName": "MinSize", "Value": "1" }, { "Namespace": "aws:autoscaling:scheduledaction", "ResourceName": "MorningStartup", "OptionName": "MaxSize", "Value": "1" }, { "Namespace": "aws:autoscaling:scheduledaction", "ResourceName": "MorningStartup", "OptionName": "DesiredCapacity", "Value": "1" }, { "Namespace": "aws:autoscaling:scheduledaction", "ResourceName": "MorningStartup", "OptionName": "StartTime", "Value": "2015-11-19T05:00:00Z" }, { "Namespace": "aws:autoscaling:scheduledaction", "ResourceName": "MorningStartup", "OptionName": "Recurrence", "Value": "00 07 * * 1-5" } ] }

Fondamentalmente questo è copia & incollato e leggermente regolata in base alle mie esigenze. L'ho inserito nel file .ebxtensions/autoscaling.config nel mio progetto e lo ho distribuito su EB.

Ora i server dovrebbero ridimensionare ("OvernightShutdown") a 0 alle 9pm UTC e dovrebbero scalare ("MorningStartup") alle 7am UTC.

Ma "OvernightShutdown" e "MorningStartup" non vengono attivati ​​quando dovrebbero.

Avevo anche un errore di battitura nel file, quindi EB mi ha detto che non è in grado di analizzarlo, quindi so che leggo il file, ma ovviamente non applica le configurazioni all'ambiente.

Qualcuno ha la minima idea di quale potrebbe essere il problema con questo? La mia configurazione è sbagliata? Dal momento che non ci sono molte esempi non mancano, come il file potrebbe apparire come non ho riferimenti appropriati ad eccezione di quello della EB documentation

+0

voglio averlo nella mia base di codice e riutilizzarlo per altri progetti se necessario. Ciò farà risparmiare un po 'di clic rispetto a farlo tramite il sito web (se funzionerebbe immediatamente) – kadoga

+0

0 è un valore valido per le dimensioni min e max? Penso che il valore minimo valido sia 1, a meno che qualcosa non sia cambiato dall'ultima volta che ho installato un'app Elastic Beanstalk. –

+0

Sì, 0 è un numero valido. Se eseguo la configurazione sul sito Web, EB ridimensiona le istanze min/max/desiderate su 0 e in pratica lo arresta. – kadoga

risposta

2

ho anche postato questa domanda nel quadro di AWS/EB, hanno risposto con una risposta utile per quanto riguarda questo problema:

Link to AWS board

La soluzione è quella di utilizzare la configurazione YAML al posto del JSON, perché EB sembra avere un problema con il json-config. Ma lo aggiustano secondo la risposta.

1

penso che si può essere affetti da clausole di precedenza: configuration options precedence. Questo mi ha catturato l'altro giorno. Se i valori sono stati configurati manualmente tramite l'interfaccia web, il file di configurazione non sostituirà tali valori.

Per correggere questo io:

  1. creato il file di configurazione .ebextensions come si deve, hanno fatto sì che si è schierato e pronto per l'ambiente.
  2. corse eb config per visualizzare la configurazione attuale (questo dovrebbe mostrare il vecchio config)
  3. cancellati i valori di configurazione che erano nel 'conflitto'
  4. uscita e salvare la configurazione

Questo innesca un ambiente aggiorna come se lo avessi cambiato nell'interfaccia web.

o come @mbaird detto nei commenti, 0 potrebbe non essere un valore minimo e massimo valido.

+0

Ho eliminato la configurazione a livello di sito Web prima di pubblicare la mia domanda su EB. Ho provato la tua soluzione ma non mostra nessuna delle mie configurazioni sopra né la configurazione dal livello del sito web appare (come previsto, dal momento che l'ho cancellato). Sembra che la mia configurazione non sia stata presa in considerazione da EB. – kadoga

Problemi correlati