AWS

CDataを使って、月3000円位でkintoneのデータBackupを実現する

トライステージのエンジニアのマネージャーをしている高山です。

トライステージではkintoneを利用していますが
kintoneデータのバックアップ方法について
少々工夫をしていますのでご紹介です。

kintoneのバックアップ機能はありません。
https://faq.cybozu.info/alphascope/cybozu/web/kintone/Detail.aspx?id=1853&isCrawler=1
バックアップしたい場合は、

  • cli-kintone を使う
  • 専用の有料プラグイン を使う

当たりの対応でバックアップが可能になりますが
トライステージではCDATAを利用してバックアップを実現します。

少々話が長くなりますので、以下要約です。
・AWSマーケットプレースからCDataSyncを利用する
・CloudWatchで1時間だけインスタンスを起動させて、同期をする
・CDataの設定をする
の対応で、約3000円/月くらいでkintoneのデータBackupが実現可能です。

ちなみに、バックアップ先をDBにした場合
kintoneのレコードがテーブルデータなので
SQLでゴリゴリ利用できて、1石2鳥です!!

それでは、以下設定の詳細です。

CData syncを利用したデータバックアップ

CData syncはETL/ELTツールで
kintoneも対応しているためレコードのバックアップ用として
利用しております。

kintoneのデータを読み取るには、Professionalライセンスが必要です。
※2021年5月時点


サイトの下ほうにはライセンス代(価格)も記載されております。
年間ライセンスの料金が記載されており、結構高額なものになります。

そこで気が重くなりながら、そのもう少しの下の方を見てみると
Amazon AMIの記載があります。


AmazonAMIの詳細の赤いボタンを押すとさらに下に
インスタンごとの価格が表示されます。

一番左のMediumのタイプが$0.77 per hourと記載されており
Professionalとも書いてあります。

10接続まで&Professionalなので、Mediumで十分ということです。
1時間0.77ドルなので、行けそうな気がしてきます!

早速、利用するしかありません!!

ちなみに同期先は、以下のアイコンのものが選べます。
なので、トライステージではMysqlを利用しております。

AWSマーケットプレースからのCData sync利用

赤いボタンのGET STARTEDをクリックするとAWSのサイトに遷移します。


AWSのマーケットプレースのページでContinue to Subscribeのボタンで
契約に進みます。


そしてリージョンをTokyoを選び

EC2のインスタンスを選び、Launchします。
(弊社の環境では、t3.mediumで十分動いてくれてます。)

CData Syncの設定

無事にインスタンスが立ち上がったら、httpsでインスタンスにアクセスをします。

インスタンス立ち上げ後の画面ログインについては、
マーケットプレースのUsage Informationに記載されてます。

https://<instance_public_DNS>

default username is “admin”
and the password is the instance’s randomly generated Instance-ID
とのことで、ユーザ名がadminでパスワードがインスタンスIDになります。

ログイン画面が出てログインすると、同期の設定ができます。

参考までに、立ち上げたインスタンスへログインしたい人は
以下を参考にログインができます。

<Launch the CData Sync AMI on Amazon Web Services>
https://www.cdata.com/kb/articles/sync-ami.rst

CData コネクションの追加(kintoneからmysqlへ)

Web画面より、ログインすると以下の様なメニューが見えるため
CONNECTIONSのメニューよりAdd Moreの「+」アイコンを選択

そこでkintoneを検索する

kintoneが出てくるのでダウンロード&インストールする。

進めると、kintoneが選べるようになっている

そして、Mysqlにバックアップをするのであれば
バックアップ先のDBに対してDBを作成して準備しておきます。
DB名は何でも良いです。

DBが作成できたら、Sourceをkintoneを指定して
Destnationをmysqlにしたら設定が完了です。
JOBSでデータの同期を実行して下さい。

CloudWatchでEC2の自動起動・停止をスケジュール

CDataのマーケットプレースの課金は、1時間単位で課金がされてしまうので、利用するときだけEC2が起動するように、オンデマンド利用の設定を行います。

設定はCloudWatchで設定を行います。
詳細はこちらでは割愛させていただきますので
「CloudWatch  EC2 起動」で検索をして、設定をして下さい。
CloudWatch Eventsをつかって起動・停止する内容になります。

一緒に働くエンジニアを募集してます
少数で開発するトライステージでは、開発とともにSREを実施するエンジニアを募集致しております。
https://www.tri-stage.jp/recruit/680/

ABOUT ME
高山 和芳
高山 和芳
トライステージのシステム部門のマネージャー。 仕様検討とか調整事項を業務とすることが多い。 趣味は釣り。