CloudwatchからAWSの請求情報を取得してグラフ表示できるようにするソフトェア
{
"Statement": [
{
"Action": [
"sns:Get*",
"sns:List*",
"autoscaling:Describe*",
"cloudwatch:Describe*",
"cloudwatch:List*",
"cloudwatch:Get*"
],
"Effect": "Allow",
"Resource": "*"
}
]
}
AMI | Type | EBS Size |
---|---|---|
Amazon Linux AMI 64bit | T1.micro | 8GB |
インスタンスのパッケージを最新版にする
$ sudo yum -y update
aws-my-billingに必要なパッケージをインストールする
$ sudo yum -y install git httpd24 rrdtool php54 php54-cli rrdtool-php54
タイムゾーンをJSTにする
$ sudo cp /usr/share/zoneinfo/Japan /etc/localtime
AWS SDK for PHPをインストールして設定ファイルを配置する
$ sudo mkdir /opt/AWSSDKforPHP
$ cd /opt/AWSSDKforPHP
$ sudo sh -c 'cat > composer.json << EOT
{
"require": {
"aws/aws-sdk-php": "2.*"
}
}
EOT'
$ sudo curl -s http://getcomposer.org/installer | sudo php
$ sudo php composer.phar install
PHPのインクルードディレクトリにAWSSDKforPHPのシンボリックリンクを作成する
$ cd /usr/share/php/
$ sudo ln -s /opt/AWSSDKforPHP AWSSDKforPHP
aws-my-billing をダウンロードして設置する
$ cd /var/www
$ sudo git clone https://github.com/kurimon/aws-my-billing.git
aws-my-billing の設定 config.iniから監視不要なサービスを削除する
$ cd /var/www/aws-my-billing
$ sudo vim config.ini
[service_names]
service_names = AmazonEC2,AmazonCloudFront,AmazonElastiCache,AmazonRDS,AmazonRoute53,AmazonS3,AmazonSNS,AWSDataTransfer,AWSSupportBusiness,total
rrdファイル保存用のディレクトリを作成する
$ sudo mkdir rrd
aws-my-billing の初期化 initファイルを実行する
$ sudo chmod 700 init update
$ sudo ./init
cronの設定
$ sudo crontab -e
0 * * * * /var/www/aws-my-billing/update
httpd用設定ファイルをコピーする
$ cd /var/www/aws-my-billing
$ sudo cp conf.d/aws-my-billing.conf /etc/httpd/conf.d/
httpdを起動する
$ sudo service httpd start
以上でセットアップは完了。
http://ホスト名/aws-my-billing/ でアクセスできる事を確認する。