[AWS] RDS スナップショットからDBをリストア(コピー)
RDS にすでに作ってある DB をリストアする方法。
テストやステージング環境を新たに作る場合や、バージョンアップテストを行いたいときにも簡単に同じ DB をつくることができる。
手順
スナップショットから DB をリストアする工程は、
- スナップショットを作成する。
- DB インスタンスの復元
1. スナップショットを作成する
(スナップショットがすでにある場合は次へ。)
RDS コンソール画面 -> データベース を選択
対象の DB をチェックし、 アクション -> スナップショットの取得 を選択
スナップショット名を入力し、「スナップショットの取得」をクリック
2. DB インスタンスの復元
RDS コンソール画面 -> スナップショット
対象のスナップショットをチェックし、 アクション -> スナップショットの復元 を選択
必要事項を入力
インスタンスの仕様
「DB インスタンスのクラス」は元の DB インスタンスが引き継がれていなかったので、必要なのを選択する ( t2.micro でいいのに、m4.xlarge が選択状態だった。うっかりサイズでかいので作成しないよう気をつけよう。)
設定
「DB インスタンス識別子」に新しく作る DB インスタンスの名前を入力
ネットワーク & セキュリティ
完全コピーなら、各項目でコピー元と同じものを選択。
何かを変更したい場合は、別のを選択する。( VPC と VPC セキュリティグループは新規作成を選択することもできる。)※ スナップショットの復元によって、 VPC 、サブネットグループ、パブリックアクセシビリティ、アベイラビリティーゾーン、VPC セキュリティグループは、変更することが可能。
( 1 度 DB を作成するとアベイラビリティーゾーンとかは変えられないので、復元とかで変更する。)※ ここで選択するセキュリティグループは、セキュリティグループのインバウドに EC2 のセキュリティグループを登録し、 3306 ポートを解放しておく。( VPC 内の DB インスタンスに同じ VPC 内の EC2 インスタンスがアクセスする。 VPC 内の DB インスタンスに同じ VPC 内の EC2 インスタンスがアクセスする
データベースの設定
「DB パラメータグループ」は、コピー元の情報が引き継がれていないので、必要に応じてコピー元と同じパラメータグループを選択。
パラメータグループとは、DB の設定をまとめたもの。 ( my.cnf 的なものらしい。)
パラメータグループは各 DB のバージョンごとに作成する。
入力が完了したら「DB インスタンスの復元」をクリック
作った DB インスタンスの詳細ページで、「概要」セクションの「情報」が「利用可能」になったら完成。
(完コピの場合は、下の情報がコピー元と同じになっていることを確認する。)
補足
EC2 インスタンスもコピーを使っている場合、 DB 設定と、使っていれば phpMyAdmin の接続先情報を修正
phpMyAdmin のホスト情報変更方法$ vi 〜/phpmyadmin/config.inc.php
$cfg['Servers'][$i]['host'] = '作成した DB インスタンスのエンドポイント';