Azure Database for PostgreSQL フレキシブルサーバーのバックアップリストア手順

Azure,Database for PostgreSQL

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

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

Azure Database for PostgreSQL単一サーバのバックアップリストアはこちら。

スポンサーリンク

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

バックアップは自動実行

Azure Database for PostgreSQLフレキシブルサーバーのバックアップは自動バックアップのみになります。
スナップショットベースのバックアップとWALファイル(トランザクションログ)の取得になります。

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

    • Azureプラットフォーム側で自動的に1日1度取得される
    • バックアップ時間は選択できない
    • バックアップ保管期間は1日~35日で選択(デフォルトは7日間)
    • トランザクションログはワークロードやWALファイル(トランザクションログ)が一杯になりアーカイブの準備ができるタイミングなどで実行される
    • WALファイル(トランザクションログ)のバックアップ間隔は最大 15 分になる可能性がある

※Azure Database for PostgreSQLフレキシブルサーバーにはオンデマンドバックアップがありません。MySQLフレキシブルサーバーのみで提供されています。
※Backup Vaultを利用したデータベースのバックアップはAzure Database for PostgreSQL単一サーバーのみで利用可能です。

ゾーン冗長 or ローカル冗長かGeo冗長を選択

バックアップはゾーン冗長かGeo冗長から選択になります。
可用性ゾーンがまだサポートされていないリージョンではゾーン冗長ではなくローカル冗長になります。

バックアップ冗長オプション(Azure Database for PostgreSQL (フレキシブル サーバー) でのバックアップと復元)

サーバ作成後にGeo冗長に変更する事は出来ません。
Geo冗長を利用した場合は、バックアップストレージのコストは2倍になります。

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

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

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

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

ポイントインタイム リストア(Azure Database for PostgreSQL (フレキシブル サーバー) でのバックアップと復元)

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

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

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

リストアするリージョンは選べない

別のリージョンへリストアはサポートされていません。

    • ゾーン冗長、ローカル冗長
      • バックアップ元サーバと同じリージョンにリストア
    • Geo冗長
      • ペアリングされたリージョンへリストア

ゾーン冗長(もしくはローカル冗長)、Geo冗長どちらのバックアップデータを利用するかを選択する事はありません。
リストア先に合せて自動的選択されます。
ペアリングされたリージョンへリストアする場合は、自動的にGeo冗長のバックアップデータが選択されます。

RTO

RTOは適用するログ量やデータベースの量により異なる為規定されていません。最大で12時間程度となっています。
HA構成を利用している環境でフェイルオーバーさせる場合は60秒から120秒になります。

Azure Database for PostgreSQL – フレキシブル サーバーでのビジネス継続性の概要

RPO

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

geo 冗長バックアップと復元(Azure Database for PostgreSQL フレキシブル サーバーでのバックアップと復元)
バックアップ頻度(Azure Database for PostgreSQL (フレキシブル サーバー) でのバックアップと復元)

※ローカル冗長のRPOがAzure Database for MySQL フレキシブル サーバーと違います。

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

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

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

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

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

フレキシブル サーバーのポイントインタイム リストア

バックアップ元サーバー

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

リストア開始

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

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

復元ポイントの選択

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

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

復元ポイントの選択

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

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

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

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

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

geo 冗長バックアップと復元

サーバーの詳細

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

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

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

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

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

リストア実行

リストアを実行します。

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

ネットワーク設定は変更できない

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

ネットワーク設定

ネットワーク設定は変更できません。

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

セキュリティ設定は変更可能です。
作成時と同様にGeo冗長性を有効にした場合はサービスマネージドキーしか利用出来ません。

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

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

作成後の確認
リソース作成が完了するとソースサーバーとリストアサーバーが一覧に表示されます。

データベースを確認すると復元されている事が確認出来ます。

※追加で作成したtest_dbが表示されています。

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

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

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

Azure Database For PostgreSQLフレキシブルサーバーの起動停止についてはこちらに纏めています。

最後に

Azure Database for PostgreSQLフレキシブル サーバーのバックアップリストアについて概要から実際の手順まで纏めてみました。
Azure Database for MySQLフレキシブル サーバーと同様に新規サーバを構築する形でリストアを行える事が分かりました。

リストア時にネットワーク設定変更で出来る内容が違うなどAzure Database for MySQLフレキシブル サーバーとは微妙に違ったりするのでこの編は注意が必要です。

Azure Database for MySQLフレキシブル サーバーのバックアップリストア手順はこちらに纏めています。

Azure Database for PostgreSQLフレキシブル サーバーの読み取り専用レプリカ作成(レプリケーション設定)についてはこちらに纏めています。