Azure Database for MySQL フレキシブルサーバーのバックアップリストアについて

Azure,Database For MySQL

Azure Database for MySQL フレキシブルサーバー(Azure Database for MySQL flexible server)のバックアップ、リストア(復元)の概要から作業手順について纏めてみました。

    • 主な内容
      • バックアップリストア方法の種類、出来ない事、バックアップ容量の確認方法
      • オンデマンドバックアップ手順
      • 復元ポイントの整理、リストア手順

スポンサーリンク

Azure Database for MySQL フレキシブルサーバーのバックアップ、リストアについて

バックアップは2種類

バックアップは自動バックアップとオンデマンドバックアップの2種類になります。
共にスナップショットベースでの取得になります。

Backup の概要(Azure Database for MySQL フレキシブル サーバーでのバックアップと復元)

    • 自動バックアップ
      • Azureプラットフォーム側で自動的に1日1度取得される
      • バックアップ保管期間は1日~35日で選択(デフォルトは7日間)
      • バックアップ時間は選択できない
    • オンデマンドバックアップ
      • ユーザー自身が実行して取得
      • バックアップ保管期間は自動バックアップと同じ期間(1日~35日)
      • バックアップ時間は任意
      • 最大50個まで取得可能

トランザクションログのバックアップは5分間隔でプラットフォーム側で自動バックアップとして実施されます。

初回バックアップはサーバー作成直後に自動的に取得される

サーバー作成直後に自動バックアップが実行されます。
リストア直後にも自動バックアップが実行されます。

リストア方法は大きく分けて2種類

リストア方法はトランザクションログを適用するかしないかによって分かれます。

    • 最速の復元ポイント
      • 1日1度取得される完全バックアップを利用してリストア
    • 最新の復元ポイント (カスタム復元ポイントも含む)
      • 最新の復元はトランザクションログをすべて適用して一番近い時間までにリストア
      • カスタム復元ポイントは指定した日時までトランザクションログを適用してリストア

リストアは同じサーバー名で実施出来ない

リストアは同じサーバーにデータを戻す形ではありません。
バックアップデータをもとに新規Azure Database for MySQL フレキシブルサーバーのリソースを作成します。
新規サーバーをデプロイする形になる為、同じサーバー名でのリストアは出来ません。

リストア時に変更できないものや引き継がれない設定がある

リストア時にはンピューティングとストレージで設定される内容(Geo冗長バックアップ設定を除く)については変更できません。
管理者アカウントも引き継がれリストア時には変更できません。
ネットワークやセキュリティ設定変更出来ます。

ポイントインタイム リストア

一部のサーバーパラメータ(time_zone、event_schedule)はリストア時にデフォルト値に戻ります。
HA構成は無効化されてリストアされます。

リストアは同じリージョンかペアリングされたリージョンにしか出来ない

バックアップをローカル冗長、Geo冗長どちらを設定した場合でも、同じリージョン(ローカル冗長、Geo冗長)かペアリングされたリージョン(Geo冗長)にしかできません。
別のリージョンへリストアはサポートされていません。

サーバー停止時のバックアップリストア

サーバ停止時はバックアップが取得されません。
サーバ停止時はAzure CLIを使ってリストアします。

Azure CLI を使用した Azure Database for MySQL フレキシブル サーバーのポイントインタイム リストア

※今回Azure CLIを使ったリストアは実施していません。機会があれば追記したいと思います。

RTO

RTOは適用するログ量やデータベースの量により異なる為規定されていません。
HA構成を組んでおくとフェイルオーバー可能な場合は60秒から120秒になります。

復元(Azure Database for MySQL フレキシブル サーバーでのバックアップと復元)

RPO

RPOはローカル冗長の場合は0分、Geo冗長の場合は60分になります。

計画外のダウンタイム: 障害シナリオとサービス復旧

※5分以内にリストアする場合ですが、5分間待つとトランザクションログのバックアップが取得される為直前までリストアが可能になります。

バックアップ使用量の確認

バックアップ使用量はメトリックのBackup Storage Usedで確認出来ます。

バックアップ使用量
メトリックでBackup Storage Usedを選択します。
バックアップ使用量の遷移が確認出来ます。

Azure Database for MySQLフレキシブル サーバーをオンデマンドバックアップ

公式サイトを参考にオンデマンドバックアップしてみます。

Azure portal を使用して Azure Database for MySQL フレキシブル サーバーのオンデマンド バックアップをトリガーする

設定内容はバックアップ名だけです。
保管期間は自動バックアップのバックアップ保有期間と同じになります。

オンデマンドバックアップ
バックアップと復元で今すぐバックアップを選択します。
バックアップ名を設定してトリガーを選択します。
オンデマンドバックアップが開始されます。
バックアップ取得が完了するとバックアップ一覧に表示されます。
種類にオンデマンドバックアップと表示されます。

Azure Database for MySQLフレキシブル サーバーをリストア

公式サイトを参考にリストアしてみます。
今回は最新の復元ポイントへリストアします。

Azure portal を使用した Azure Database for MySQL フレキシブル サーバーのポイントインタイム リストア

バックアップ元サーバー

バックアップ元は事前に作成したサーバーを利用します。

リストア開始

リストア作業の実行は概要とバックアップ復元のリソースメニューから可能です。

リストア開始
概要にある復元ボタンを選択するとリストア作業を開始出来ます。
バックアップと復元で表示されている復元を選択するとリストア作業を開始出来ます。

復元ポイントの選択

復元ポイントは最新の復元ポイント、カスタム復元ポイント、最速の復元ポイントの3つから選択します。

ポイントインタイム リストア

復元ポイントの選択

ソースの詳細でリストア方法やポイントを選択します。
Geo冗長からの復旧や復元ポイントを選択します。

※リソースグループやサブスクリプションは変更できません。
※最初の復元ポイントは一番古い復旧データポイントを表示しています。これ以上前に復旧する事は出来ません。

最新の復元ポイントは最新(一番現在に近い時間)に復旧する方法です。
すべてトランザクションログを適用してリストアを実行します。

カスタムの復元ポイントは任意の時間に復旧する方法です。
この日時に戻したいと言った場合に利用します。
カスタム復元ポイントの日時までのトランザクションログを適用してリストアを実行します。
最速の復元ポイントは完全バックアップを利用して最短の時間でリストアを実行します。
自動バックアップ、オンデマンドバックアップの取得データから復元ポイントを選択します。
geo冗長を選択した場合は復元ポイントが選択できません。
最新の復元ポイントにリストアされます。

※公式サイトに記載がありますがgeo冗長を使ったリストアの場合プライマリリージョンが復旧している必要があります。プライマリリージョンの状態に関わらずリストアする場合はサーバーの構成でGeo冗長バックアップ設定を無効にする必要があります。

geo リストア

サーバーの詳細や構成

サーバー名、可用性ゾーンを選択します。
サーバーの構成の設定はGeo冗長設定以外は変更できません。

サーバーの構成
サーバーの詳細で名前や可用性ゾーンを設定します。
場所(リージョン)やMySQLのバージョンは変更できません。

サーバーの構成の内容はGeo冗長バックアップ設定以外変更できません。

復元ポイントや名前を設定します。

※サーバー名は同じ名前を指定する事は出来ません。今回はrestore-test-mysql-flexible-serverとしています。

リストア実行

リストアを実行します。

リストアの開始
設定内容を確認し問題が無ければ作成を選択します。

ネットワーク設定やセキュリティ設定は変更可能

ネットワーク設定やセキュリティ設定は変更可能です。

ネットワーク設定

ネットワーク設定やセキュリティ設定は変更可能です。
パブリックアクセスからプライベートアクセスへの変更も可能です。

※ファイアウォール規則の設定は引き継がれます。ソースサーバーで現在のクライアントIPアドレスを追加した規則を作成している為グレーアウトしています。

サーバーリストア(作成)後の確認

作成されたAzure Database for MySQLフレキシブル サーバーのリソースを確認します。

リストア後の確認
リソース作成が完了するとソースサーバーとリストアサーバーが一覧に表示されます。
データベースを確認すると復元されている事が確認出来ます。

コンピューティングとストレージのリソースメニューを確認します。
ソースサーバーと同じ設定でリストアされている事が確認出来ます。
高可用性が無効(ソースサーバーは有効)なっている事も確認出来ます。

※リストア時に高可用性は無効になります。リストア後に設定変更が必要となります。

ネットワーク設定画面です。
既存のファイアウォール規則が引き継がれている事が確認出来ます。

新規サーバー作成時と同様に、リストアされたサーバーでもバックアップが取得されている事が確認出来ます。

最後に

Azure Database for MySQLフレキシブル サーバーのバックアップリストアについて概要から実際の手順まで纏めてみました。
リストアと言うと同じサーバーに戻すイメージですが、バックアップデータを元に別のサーバー名でリソースを新規作成する形になる事が確認出来ました。
HA構成などリストア後に必要な設定もあり、リストア時に出来ない事やリストア後に必要な作業内容は把握しておく必要があると思いました。

Azure Database for MySQLフレキシブル サーバーのバックアップリストアについてはこちらに纏めています。
併せて見て頂けると有難いです。

スポンサーリンク