elasticsearchの複製を自動化した話
Published in
Dec 9, 2021
アソビュー Advent Calendar 2021の10日目です🎄
アソビューで情シスをしている@zurausaです。
面白そうなネタが思いつかなかったので、
過去に作ったツールのことを供養代わりに書きます。
これ自体を作成したのは2年ほど前なので、もしかしたら今ではもっと楽にできるかもしれないことはあしからず。
何を作ったのか
掲題の通り、既存のelasticsearchドメインの内容をコピーして、別ドメインを作成するツールです。
どういうフロー?
- コピー元となる環境でsnapshotを作成して、s3に配置します。
2. 指定した名前で新規ドメインを作成する。
インスタンスの情報などは基本的にコピー元の環境情報から引っこ抜いて、そのまま使うようにしています。
boto3 clientから作成したり、作成状況を確認できたりするので、
上手く扱えば、特に困ることはないはず。。。
4. コピー先の環境でsnapshotからデータをリストアする。
/_cat/recoveryからrestore状況の確認ができるので、そちらを定期的に叩きつつ、完了するまで待ちます。
まとめ
- コピー元の環境でelasticsearchでsnapshotを取得する
- 1.で取得したsnapshotをs3にあげる
- 指定した名前で新規ドメインを作成する。
- 新しく作成されたドメインにs3のスナップショットを共有するための設定をする。
- コピー先の環境でsnapshotからデータをリストアする。
簡潔に記載すると上記の様になります。
検証用環境のために手で一々やっているのが面倒だっていう方の、
一助になれば幸いです。
最後に
「生きるに、遊びを。」をミッションに掲げるアソビューでは、一緒に働く仲間を募集中です!
ご興味ある方は是非ご応募ください。