2011年11月30日水曜日

RDSの自動停止、自動起動スクリプト(right_aws)を作る











前回から一ヶ月以上経過していて相変わらずブログの更新が滞り気味ですが、引っ越しなどをしていた訳です。
ちなみに、引越で一番大事にしたポイントはPC作業を行うための机と椅子これに限ります!

3月11日から数日は自宅でお仕事をしていたのですが、ちゃぶ台にPCとか腰が爆発しちゃいます(汗)
家で仕事したいわけじゃないですが、ブログ書いたり勉強したりする時には重宝しますよねー。
こうしてブログを書いている今も机と椅子のありがたさを実感しております。
そんな訳でこれからはブログの更新頻度がアップしないとかしないとか(汗)

今回もAWSネタなのですがRDSを使っているとどうしても一時停止が出来ない事に不便さを感じますよね。
RDSを使ってる方は既に同様の事をしているかと思いますが、私もスナップショットとリストアを組み合わせた停止/起動スクリプトを作ってみました。
パッと思いつく自動化したいポイントは以下のとおりです
  • RDSのスナップショットを作成した上での停止
  • 最新のスナップショットからの起動
  • スナップショットからRDSをリストアした時にセキュリティグループを割り当て
  • スナップショットからRDSをリストアした時にパラーメタグループを割り当て

※cronとかに登録すれば起動中、停止中を判断して自動で起動したり停止したりします。
※AWSSDK for Rubyを使いたかったのですが、RDSに未対応なのでright_awsを使っています


指定するパラーメタグループはMySQLのバージョンと合わせないとエラーになってしまいます。
また、現状ではスナップショットを削除する処理が入っていません。
入れた方が便利かなと思いつつ、どんな条件で削除するか悩み中。
スナップショットが特定の数以上になったら余分な数を消すって感じが一番事故がなさそうか。。。

ただ作っておいてなんですが、
そのうちRDSで停止がサポートされてこんなスクリプト必要なくなるんだろうなー。