CloudWatchを使っていて、データが2週間分しか保存されない仕様を不便に感じたので、データを2週間以上保存する方法はないか調べてみました。
結論としては、APIを使ってローカルにデータを落とし、そのデータを自分で加工する方法しかないようです。
プログラムを組んでcronで定期実行できれば、手軽にデータ保存はできそうです。
メトリクスデータ取得用コマンド:http://docs.aws.amazon.com/cli/latest/reference/cloudwatch/get-metric-statistics.html
少し話が逸れますが、調べているうちにAWSからカスタムメトリクスを送信するスクリプトが提供されていることが分かったので、これを使えばメトリクスの数が増やせます。
Windows用:http://aws.amazon.com/code/7932034889155460
Linux用:http://aws.amazon.com/code/8720044071969977
#参考ページ
コマンドラインからの実行サンプル。スクリプトにするなら、CLI利用の環境変数をセットする処理が必要。
http://d.hatena.ne.jp/NowTom/20131122/1385050337
バッチのメトリクス取得サンプル。レポート生成するサンプルも用意されています。
http://a-auto50.blogspot.jp/2015/06/aws.html
Javaのメトリクス取得サンプル。APIは他にRubyやnode.jsが用意されているので、やろうと思えば言語はある程度選べます。
http://dev.classmethod.jp/server-side/java/aws-sdk_cloudwatch_get_ec2_disk_usage/