EC2 Reserved Instanceの有効期限をAPIで管理する
EC2 Reserved Instanceの有効期限が切れた通知って僕の知る限りはメールで来ないんですよね。カレンダーに登録しとくとかタスク管理ツールに入れとくとかすればいいんですがAPIを使ってcronで毎日確認する方法もあるので軽く書いてみた。引っかかったインスタンスの情報をタスク管理ツールのAPI叩いて登録するのが一番スマートですかね。
rubyでの例。
$ gem install aws-sdk
#!/usr/bin/env ruby require 'aws-sdk' Aws.config.update({ region: 'ap-northeast-1', credentials: Aws::Credentials.new( 'your_key', 'your_secret' ) }) # activeなReserved Instanceを取得 ec2_client = Aws::EC2::Client.new resp = ec2_client.describe_reserved_instances({ filters: [{ name:'state', values:['active'] }] }) # 有効期限が1ヶ月以内だったらアラート resp.reserved_instances.each do |instance| if instance.end < Time.now + 60 * 60 * 24 * 30 puts "リザーブドインスタンス:#{instance.reserved_instance_id} は1ヶ月以内に有効期限切れますよー" end end