AWS EC2 と RDS のオンデマンド料金行を console.log に吐き出すスクリプト
何に使うの?
Reserved の Blended rate で計算されてしまった料金をオンデマンドレートに計算し直す際に使うためだよ。
なんでそんなことするの?
リザーブドを買っていない案件がリザーブドの恩恵を最も享受してしまって、リザーブドを買った案件のPMさんとかが怖い顔をするからだよ。
子アカウントの総額だけなら必要ないんだけど、エンドユーザに提出する明細が無駄に子細に書かれているためだよ。
なんでわざわざ Javascript で書いたの?
Excel から実行するためだよ。
あと Pricing API の JSON が扱いにくいからだよ。
あと公式から情報を拾いたいからだよ。
どうやって使うの?
EC2料金: https://aws.amazon.com/jp/ec2/pricing/on-demand/
とか
RDS料金: https://aws.amazon.com/jp/rds/pricing/
を開いて
下記のスクリプトを開発者ツールのコンソールに貼り付けて実行するだけだよ。
(function() {
var trClass = '.sizes';
if(String(location).match(/rds/i)){ var trClass = '.tiers'; }
var idList = [];
var idTabs = $('.tabs.tab-default .a-tabs:eq(0) li a').each(function(){
idList.push(String(this.href).replace(/^https?.*\#/,'') + ', ' + this.textContent)
});
for( var i=0, l=idList.length; i<l; i++) {
var osArr = String(idList[i]).split(', ');
$('#' + osArr[0] + ' .pricing-table.section:eq(0) .puretmpl .content').each(function(){
var t = $(this);
var reg = String(t.prop('class')).replace(/content reg\-/,'');
var list = t.find(trClass)
console.log(osArr[1] + " : " + reg);
console.log('-=-=-=-=-=-');
console.log(list);
console.log('-=-=-=-=-=-');
console.log('');
});
}
})();
console で出力しているところを適宜変更すればいいと思うよ。
上記のページで async で読み込まれる json を拾うという方法もあるよ。
※ただ、そのURLを集めるのが億劫だったので、私はsetTimeoutで間を置いてからスクリプトが実行される様にしました。タイミングによっては要素を拾い損ねるので、拾った要素を確認して undefined の場合は再帰する様にしました。収集した要素は一つのtableにしてからExcelのgetElementでシートに落とし込みます。
実行結果イメージ
なんでかなしいかおをしているの?
多くのエンジニアが事務作業とかに忙殺されているからだよ。
※ 半分くらい冗談です。苦笑いでも笑っていただけると幸いです。
Author And Source
この問題について(AWS EC2 と RDS のオンデマンド料金行を console.log に吐き出すスクリプト), 我々は、より多くの情報をここで見つけました https://qiita.com/to_su/items/cfb8b4db27cc2e32c6de著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .