先月、700時間もインスタンス上げちゃいましたよー
ねえ聞いてくださいよー
AWSの支払額は従量課金制なので、現時点でいくらのお金が
発生しているか気になりますよね?
ec2ツールにそれらしいのが見つからなかったので、自力でとってくるしかなさそうです。
現時点の使用料金はログイン⇒Activity Reportで見れるので、
perlで同じことをさせればOKです
以下の$E_MAIL
と$PASSWD
を正しく変更して下さい
#!/usr/bin/perl
######################################
my $E_MAIL='hoge@yourdomain.jp';
my $PASSWD='hogehoge';
######################################
use warnings;
use strict;
use feature qw(say);
use utf8;
use Encode;
use WWW::Mechanize;
use HTML::TreeBuilder;
my $mech = new WWW::Mechanize (autocheck => 1);
$mech->agent_alias("Linux Mozilla");
$mech->get("https://aws-portal.amazon.com/gp/aws/developer/registration/index.html");
$mech->field(email => $E_MAIL);
$mech->field(create => '0');
$mech->field(password => $PASSWD);
$mech->submit_form();
$mech->follow_link(text => "Account Activity");
my $tree = HTML::TreeBuilder->new;
$tree->parse(decode("UTF-8",$mech->content));
$tree->eof();
my ($PLAN,$USD);
format =
@<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<@<<<<<<<<<
$PLAN,$USD
.
$PLAN="Total";
$USD = $tree->look_down(class => "taupeHeader bordgreybot bordgreytop")->find('span')->as_text;
$USD=~s/^/ /;
write;
my @plan;
for ($tree->look_down(class => 'bordgreybot padbot2')){
push (@plan,$_->find('span')->as_text);
}
my @charge;
for ($tree->look_down(class => 'bold bordgreybot alignrt')){
push (@charge,$_->as_text);
}
for (0..$#plan){
$PLAN=$plan[$_];
$USD=$charge[$_];
write;
}
$tree = $tree->delete;
上記のスクリプトをamazon.plとして保存し、以下のコマンドでメール送信します(root@localhost宛て)
$ amazon.pl | mail -s `date +%Y/%m/%d`" AWS Activity Report" root@localhost
こんな感じでメールがくればOK
あとはcronとかに登録しておくと良いんじゃないでしょうか
利用料金が一定額を超えたらアラートを出すなどの監視については
billing alertをお使い下さい