[AWS][db] AWSとTapsを活用したPostgreSQLからMySQLへのデータマイグレーション

先日ブログで Taps というDBのデータ移行ツールを紹介しました。
http://d.hatena.ne.jp/mat_aki/20100625/1277462239

昨日実際にこのツールを利用して、PostgreSQLからMySQLへのデータマイグレーションを youRoom に対して行ったのですが、その際にAWSを活用してマイグレーションを行ったので紹介します。

このマイグレーションを行った背景は、前回のブログを見てください。

今回は、実際にどのような構成をとったのか紹介します。以下の図を御覧ください。

本番サーバと別にTapsサーバを用意してマイグレーションを行ないました。何故このようにしたかというと、youRoomでは添付ファイルもDBに入れているため非常に大容量のレコードが存在しますので、本番サーバでTapsを起動すると、Rubyのオブジェクトに変換する際などにメモリが不足し途中でabortしてしまうためです。
なので、新規に用意した大容量メモリを積んだサーバでTapsのサーバとクライアントを起動すると、安定して高速にデータ変換が行われます。こうしてマイグレーションを正常に行うことができました。

AWSを利用すると、このような環境を必要なときにすぐに調達できたり、テスト用にも簡単に本番環境をコピーして事前にテストを行ったりすることができました。AWSは非常に便利ですね。
セキュリティー面でもFWで内部アカウントのサーバ同士のみでの接続に限定したりすることができるので、とても安心です。

あまりいないとは思いますが、DBの種類を超えてデータ移行を行う際には参考になるかと思います。