EC2を使っていて、EC2のサーバに直接MySQLのDBを入れている状態から、AmazonRDSに移管します。自動でバックアップとかしてくれるので便利だからです。
Amazon RDSのインスタンスを作成する
まず、RDSのインスタンスを作成します。https://aws.amazon.com/jp/rds/getting-started/インスタンスを作る時に、データベースのID、パスワード、データベース名等を登録しました。エンジンはAurora 5.6.10aというやつです。
Amazon Aurora は、MySQL と互換性のあるリレーショナルデータベースエンジンで、高性能の商業用データベースの可用性およびスピードと、オープンソースデータベースのコスト効率性および簡素性を併せ持っています。Amazon Aurora は、MySQL の 5 倍の性能を持ち、同様の機能や可用性を提供している商用データベースの 10 分の 1 の価格です。
RDSにも、セキュリティグループがあります。このセキュリティグループの設定を変更して、EC2からアクセスできるようにします。
EC2のMySQLのデータを取り出す
sudo mysqldump --databases <database_name> --single-transaction --order-by-primary -r backup.sql -u <local_user> -p
RDSにデータをインポートする
参考:MySQL DB または MariaDB DB から Amazon RDS MySQL または MariaDB DB インスタンスへのデータのインポート
上記によると、下記コマンドで、取り出してインポートするが一緒にできるらしい。
sudo mysqldump -u <local_user> --databases world --single-transaction --compress --order-by-primary -p<local_password> | mysql -u <RDS_user_name> --port=3306 --host=hostname -p<RDS_password>
できた。便利だ。
あとは、アプリケーションのデータベースの設定を変更すれば完了します。