今回は、AmazonのクラウドサービスAWS(Amazon Web Services)のデータベースサーバーRDS(Relational Database Service)についてです。
AWSのEC2(Elastic Compute Cloud)でWebサーバーなどを立ち上げている場合、一緒にデータベースサーバーとしてRDSを利用するケースが多いと思います。
EC2ではインスタンスをいつでも停止・再開することができるため、使うときだけ立ち上げれば時間課金の料金を抑えることができます。
しかし、RDSはインスタンスを停止・再開する機能が基本的にはありません。一度、インスタンスを生成したらずっと稼働しっぱなし。開発中のサイトなど常時サーバーを稼働させる必要がない場合、使っていなくても時間課金されていきますのでもったいないですよね。
スナップショットを利用すれば、いちおうRDSでもインスタンスを停止させることはできます。
EC2と比べるとやや手間と時間がかかりますが、長期間使用しないときは停止しておくと割と大きな節約になると思います。
- RDSインスタンスを停止するときの手順
- RDSインスタンスのスナップショットを保存する
- RDSインスタンスを削除する
- RDSインスタンスを復帰させるときの手順
- 保存しておいたスナップショットからRDSインスタンスをリストアする
停止というより「一時的にインスタンス削除する」と言った方がよいかもしれませんね。
では、具体的なやり方を。
RDSインスタンスを停止するときの手順
1. RDSインスタンスのスナップショットを保存する
次のステップ「2. RDSインスタンスを削除する」の段階でもスナップショットを保存することができるので、このステップは省略しても構いません。
スナップショット保存の基本方法として参考までに載せておきます。
稼働中のRDSインスタンスを選択し、「Instance Actions」→「Take DB Snapshot」をクリックしてスナップショットを保存します。
保存するスナップショットに名前を付けます。
これでスナップショットが作成されました。
2. RDSインスタンスを削除する
稼働中のRDSインスタンスを選択し、「Instance Actions」→「Delete」をクリックしてRDSインスタンスを削除します。
下記の画面が表示されます。
「Create Final Snapshot?」で「Yes」を選択すると、削除する前にスナップショットが保存されます。
「1. RDSインスタンスのスナップショットを保存する」のステップを行っていない場合は、必ず「Yes」を選択してください。
DBインスタンス名(DB Instance Identifier)はリストア時に必要なのでメモしておくと良いです。
「Yes, Delete」をクリックするとRDSインスタンスが削除されます。この時点で時間課金がされなくなります。
RDSインスタンスを復帰させるときの手順
1. 保存しておいたスナップショットからRDSインスタンスをリストアする
保存しておいたスナップショットを選択し、「Restore Snapshot」をクリックします。
RDSインスタンスに関する設定画面が表示されます。
「DB Instance Identifier」にはRDSインスタンスを削除する際にメモしたインスタンス名を入力してください。
「Database Name」は空のままで良いです。スナップショットの情報から自動的に復元してくれます。
あとは適宜、入力してください。
「Launch DB Instance」ボタンをクリックするとRDSインスタンスが作成されます。
RDSインスタンスの作成にはしばらく時間がかかります。作成中のときはStatusがcreatingになります。
RDSインスタンスの作成が完了するとStatusがavailableに。これでRDSインスタンスのリストアが完了しました!
若干、手間と時間はかかりますが、RDSも課金を止められることを頭の片隅にいれておくと、無駄な出費を抑えられるかと思います。