RDS または Aurora でスナップショット作成方法、DB 復元方法
こんにちは、クラスメソッドタイランドのPOPです。
Amazon RDSとAmazon Auroraでは同じ手順でスナップショット作成、DB復元ができます。
RDS、AuroraのすべてのDBの種類に対応しているので、以下で動作できます。
Aurora MySQL、Aurora PostgreSQL、RDS for MySQL、RDS for MariaDB、RDS for PostgreSQL、RDS for SQL Server、RDS for Oracle、RDS for Db2
前提条件
※利用可能な RDS for MySQL
RDS for MySQL の作成方法については、以下のリンクを参照してください。
毎日のスナップショットを設定
毎日のスナップショット設定では、必要に応じてバックアップの保持期間を選択できます。
作成済みの Amazon RDS のデータベース (バックアップ保持期間で毎日のスナップショットを設定したいもの) 画面に移動します。この例としては、RDS for MySQL です。そして、「変更」をクリックします。
「追加設定」セクションまで下にスクロールし、「バックアップ保持期間」(この例では 2 日間) を選択し、1 番下に「続行」をクリックします。
「変更のサマリー」で変更を確認し、「変更のスケジュール」セクションで「すぐに適用」を選択して、「DB インスタンスを変更」をクリックします。
スナップショットを作成
作成済みの Amazon RDS のデータベース画面に移動します。この例としては、RDS for MySQL です。
「アクション」をクリックし、「スナップショットの取得」を選択します。
「DB スナップショットの取得」画面に移動後、「スナップショット名」フィールドに好きな名前を入力し (わかりやすい名前にすることをお勧めします)、「スナップショットの取得」をクリックします。
※スナップショットのタイプ
・DB インスタンス: RDS 用 (今回は RDS 用です)
・DB クラスター: Aurora 用
次に、「スナップショット」画面に自動的に移動されます。処理が完了するまで少々お待ちください。
スナップショットを確認
作成されると、このような通知が表示されます。
次に、各タブを見てみましょう。
タブ | 説明 |
---|---|
手動 | 手動で作成したスナップショット |
システム | 日次などのスケジュールで作成したスナップショット |
自分と共有 | 他の AWS アカウントから共有されたスナップショット |
パブリック | 公開したスナップショット |
バックアップサービス | サードパーティのバックアップサービスを利用したスナップショット |
Amazon S3 へエクスポート | S3による RDS のスナップショットを操作 |
※以前に作成したスナップショットは「手動」タブにあります。
復元方法
「手動」タブで「スナップショット名」をクリックします。
「アクション」をクリックし、「スナップショットを復元」を選択します。
以下のように設定します。(※これらの設定は単なる例です。)
可用性と耐久性
・デプロイオプション:「単一の DB インスタンス」
設定
・DB インスタンス識別子:「pop-rds-mysql-2」
インスタンスの設定
・DB インスタンスクラス:「バースト可能クラス (t クラスを含む)」
「db.t3.micro」
次は、以下のように設定します。(※これらの設定は単なる例です。)
接続
・既存の VPC セキュリティグループ:「pop-rds-mysql」(今回は、最初にスナップショットを作成した RDS と同じ VPC セキュリティグループを使用します。)
設定が完了したら、一番下までスクロールし、「DB インスタンスを復元」をクリックします。
次に、自動的に「データベース」画面に移動されます。「利用可能」まで少々お待ちください。
※新しく作成された DB 識別子のみを表示するフィルター条件を追加します。
完了するとこのように「利用可能」と表示されます。
・pop-rds-mysql: スナップショットを作成する RDS です。
・pop-rds-mysql-2: "pop-rds-mysql" のスナップショットから復元した RDS です。
※両方 DB 識別子のみを表示するフィルター条件を追加します。
まとめ
今回は RDS for MySQL を使用してスナップショットを作成し、「手動」タブで作成したスナップショットから新しい RDS for MySQL を復元する方法をご紹介しました。
この記事がどなたかのお役に立てば幸いです。
以上、クラスメソッドタイランドのPOP(Tinnakorn Maneewong)でしたっ!