はじめに
はじめまして!
テテマーチ株式会社のProductUnitでSINIS for Instagram開発チームに所属しています、tenshin_yです。
背景
この度テテマーチでは、コスト削減の一環として使われていない環境のDBを止めようという動きがありました。
その時必要に応じてDBを戻せるようにしたいという条件があり、業務上でRDSを削除して戻すことはそう頻繁に無いためまとめました。
使用環境
RDSのスナップショットを作成
戻せるように、ということでスナップショットを作成します。
1. RDSのダッシュボードより対象を選択して「アクション」をクリックする
表示されたメニューより「スナップショットの取得」を選びます。
2. スナップショット名を入れて「スナップショットの取得」をクリックする。
この時スナップショットのタイプはクラスターで問題ありません。
3. RDSのスナップショット取得一覧に移動する
完了の表示が出たら、スナップショット作成は完了です。
RDSクラスター、インスタンスの削除
復元にあたっては接続情報や認証情報を新しく設定することになるため、設定を控えておきましょう
1. クラスターはそのまま消せないためインスタンスから削除する
この時保護がかかっていたら、クラスター側の変更をして削除保護を剥がす必要があります。
また、インスタンスを削除してもクラスターにデータは残ります。
2. インスタンス削除後、クラスターを削除する
(この段階でもスナップショット作成はできます)
自動バックアップに関しては
ここで選択しない場合は復元後、自動バックアップの復旧はできません。
また、自動バックアップ保持の場合は追加料金がかかります。
スナップショットからの復旧
ここができるかが鬼門です。
1. RDS=>スナップショットから最後に取ったスナップショットを選択する
2. アクション>スナップショットを復元を選択する
ここで、DBのセキュリティやネットワーク関連(VPC, セキュリティグループ)の設定、インスタンスサイズの設定ができます。
3. 設定を入力したらDBクラスターを復元する
4.データベース一覧の画面に移動して、新しく設定した識別子で作られていれば成功!
この時、元のインスタンスと同じ識別子で復元すると、エンドポイントが復元前と同じにできるというのが少し面白いです。
元のインスタンスを先に削除していたことで、識別子の衝突がないからできる芸当かなと思います。
まとめ
一時的に立ち上げたいといった要望にシュッと立ち上げて応えられるので、コンソールもまだまだ捨てたものじゃないですね! 現在ではIaCで管理する物がほとんどだと思いますが、管理する手間を天秤にかけて今だけ必要なものは手動マニュアルで対応するのも良いのかなと思いました。
テテマーチでは、一緒にサービスを作り上げてくれる仲間を募集中です。ご興味のある方は、以下のリンクからぜひご応募ください! herp.careers
エンジニアチームガイドはこちら! tetemarche01.notion.site