6

Stiamo utilizzando S3, SimpleDB e SQS in un progetto abbastanza complicato.Come posso scrivere un avviso per quando l'utilizzo del mio Amazon Web Service supera un determinato importo?

Mi piacerebbe essere in grado di tracciare automaticamente il loro utilizzo, per essere sicuri di non spendere improvvisamente grandi quantità di denaro quando non lo intendevamo (forse a causa di un bug).

Esiste un modo per leggere le cifre di utilizzo di tutti i servizi Web Amazon e/o l'attuale costo in dollari in tempo reale di un account da uno script?

O qualsiasi servizio o script che fornisce avvisi basati su tale?

+0

Buona domanda: amo EC2, ma ho sempre trovato fastidiosamente difficile calcolare i costi di utilizzo. –

+1

Potresti avere più fortuna a chiedere questo sul forum di supporto EC2; per favore posta la risposta qui se ne prendi una. –

+0

Grazie Gareth - Ho postato la domanda qui http://developer.amazonwebservices.com/connect/thread.jspa?threadID=45165 – frabcus

risposta

1

Mi sono imbattuto nello stesso problema con le istanze EC2, ma l'ho indirizzato in un modo diverso - invece di monitorare le istanze, mi sono fatto uccidere automaticamente da sole dopo un certo lasso di tempo. Dalla tua descrizione, sembra che questo potrebbe non essere pratico nel tuo ambiente, ma ho pensato di condividerlo solo nel caso in cui fosse d'aiuto. La mia era AMI-based Fedora, così ho creato il seguente script bash, è registrato come un servizio, e aveva funzionare in fase di avvio:

#!/bin/bash 
# chkconfig: 2345 68 20 
# description: 50 Minute Kill 
# Source Functions 
. /etc/rc.d/init.d/functions 

start() 
{ 
    # Shut down 50 minutes after starting up 
    at now + 50 minutes < /root/atshutdown 
} 

stop() 
{ 
    # Remove all jobs from the at queue because I'm not using at for anything else 
    for job in $(atq | awk '{print $1}') 
    do 
     atrm $job 
    done 
} 

case "$1" in 
    start) 
     start && success || failure 
     echo 
     ;; 
    stop) 
     stop && success || failure 
     echo 
     ;; 
    restart) 
     stop && start && success || failure 
     echo 
     ;; 
    status) 
     echo $"`atq`" 
     ;; 
    *) 
     echo $"Usage: $0 {start | stop | restart}" 
     RETVAL=1 
esac  

exit $RETVAL 

si potrebbe considerare di fare qualcosa di simile per soddisfare le vostre esigenze. Se si esegue questa operazione, prestare particolare attenzione a interrompere il servizio prima di modificare l'immagine in modo che l'istanza non venga arrestata prima di avere la possibilità di re-raggruppare.

Se si volesse, si potrebbe avere l'arresto casi in un tempo fisso (dopo che tutti lascia il lavoro?), O si poteva passare in un tempo di lunghezza/spegnimento keep-alive tramite i -d o -f parametri per ec2-run-instances e analizzare fuori nella sceneggiatura.

+0

Grazie - e stiamo pianificando di far morire tutti i nostri casi dopo un po '. Tuttavia, ciò non impedisce comunque che un bug effettui 10.000 istanze e che vengano caricate per un'ora. E non blocca altri bug in uso di SQS o S3 che causano pesanti addebiti. – frabcus

2

Abbiamo appena rilasciato un servizio di gestione lab che aggiunge policy all'utilizzo di AWS: limiti di tempo, numero massimo di istanze, dimensioni massime della macchina ecc. Si consiglia di provare e vedere se è utile: http://LabSlice.com. Poiché si tratta di una startup, apprezzeremmo davvero il feedback su come risolvere problemi come il tuo (ad esempio, inviami un'e-mail se pensi che l'app possa essere meglio modificata per soddisfare le tue esigenze).

Non credo che ci sia un modo diretto per controllare i costi di AWS per il dollaro. Dubito che Amazon fornisca un'API per ottenere metriche approfondite sull'utilizzo, poiché ovviamente non sarà nel loro interesse aiutarti a ridurre i costi. In realtà mi sono imbattuto in due casi in cui i costi di sorpresa sono sorti in un'azienda (banca) a causa di script mal configurati, quindi so che può essere un problema.

3

Amazon ha appena annunciato che è ora possibile "impostare allarmi per qualsiasi metrica che i monitor Amazon CloudWatch" (utilizzo CPU, letture e scritture su disco e traffico di rete, ecc.). Inoltre, tutte le istanze ora vengono fornite gratuitamente con il monitoraggio di base.

Problemi correlati