このチュートリアルでは、Azure VM で実行されている Azure Database for PostgreSQL サーバーを Azure Backup Recovery Services コンテナーにバックアップする方法を示します。 この記事では、次の方法について説明します。
- バックアップ コンテナーの作成
- バックアップ ポリシーを作成します。
- データベースを準備する
- データベースでバックアップを構成する
- オンデマンド バックアップを実行する
- バックアップ ジョブを追跡する
開始する前に
Azure Database for PostgreSQL サーバーをバックアップする前に:
- Azure Database for PostgreSQL サーバー インスタンスをバックアップするのと同じリージョン内で、バックアップ コンテナーを特定するか、作成します。
- Azure Database for PostgreSQL サーバーの名前が、Azure Backup の名前付けガイドラインに従って付けられていることを確認します。 詳細情報
- キー コンテナー内にシークレットを作成します。
- 関連するキー コンテナーに対するアクセス許可を付与します。
- データベースに対するデータベース ユーザーのバックアップ権限を提供します。
- PostgreSQL サーバーに対するアクセス許可を付与します。
バックアップ コンテナーの作成
バックアップ コンテナーは、Azure Database for PostgreSQL サーバーや Azure ディスクなど、Azure Backup によってサポートされるさまざまな新しいワークロードのバックアップ データを格納する Azure のストレージ エンティティです。 バックアップ コンテナーを使用すると、管理オーバーヘッドを最小限に抑えながら、バックアップ データを簡単に整理できます。 バックアップ コンテナーは、Azure の Azure Resource Manager モデルに基づいており、強化されたバックアップ データの保護機能を提供します。
Azure portal にサインインします。
検索ボックスに「バックアップ センター」と入力します。
[サービス] で [バックアップ センター] を選択します。
[バックアップ センター] ページで、[コンテナー] を選択します。
[開始: コンテナーの作成] 画面で、 [バックアップ コンテナー] 、 [続行] の順に選択します。
[基本] タブで、サブスクリプション、リソース グループ、バックアップ コンテナー名、リージョン、バックアップ ストレージの冗長性を指定します。
[確認と作成] を選択して続行します。 詳細については、「バックアップ コンテナーの作成」を参照してください。
バックアップ ポリシーの作成
バックアップ ポリシーは、バックアップの構成フローの途中で作成できます。 または、[バックアップ センター] ->[バックアップ ポリシー] ->[追加] に移動します。
新しいポリシーの名前を入力します。
バックアップ スケジュールを定義します。
現時点では、毎週のバックアップ オプションのみを使用できます。 ただし、バックアップを複数の曜日にスケジュールすることができます。
保持の設定を定義します。
保持規則を 1 つ以上追加できます。 各保持規則は、特定のバックアップの入力と、それらのバックアップのデータ ストアと保持期間を前提とします。
バックアップを 2 つのデータ ストア (または層) のいずれかに保存するには、バックアップ データ ストア (標準層) またはアーカイブ データ ストア (プレビュー段階) を選択します。
[On-expiry](期限切れ時) を選択して、バックアップ データ ストアで期限切れになったときにバックアップをアーカイブ データ ストアに移動します。
Note
他の保持規則が存在しない場合、既定の保持規則が適用されます。既定値は 3 か月です。
- バックアップ データ ストアでは、保持期間の範囲は 7 日から 10 年です。
- アーカイブ データ ストアでは、保持期間の範囲は 6 か月から 10 年です。
Note
保持規則は、事前に決められた優先順位で評価されます。 優先順位は、高い方から順に、年単位の規則、月単位の規則、週単位の規則となります。 他の規則が適用されない場合、既定の保持設定が適用されます。 たとえば、最初に成功した週単位のバックアップと、最初に成功した月単位のバックアップで、復旧ポイントが同じになる場合があります。 しかし、月単位の規則の方が週単位の規則よりも優先順位が高いため、毎月最初に成功したバックアップに対応する保持が適用されます。
データベースを準備する
データベースを準備するには、次の手順に従います。
データベースでバックアップを構成する
複数の Azure PostgreSQL サーバーにある複数のデータベースのバックアップを構成できます。 Azure Backup を使用して Azure PostgreSQL データベースでバックアップを構成するには、次の手順を行います。
[バックアップ コンテナー] ->[+ バックアップ] に移動します。
また、バックアップ センターからこのページに移動することもできます。
バックアップ スケジュールとデータ保持期間を定義するバックアップ ポリシーを、選択または作成します。
バックアップする Azure PostgreSQL データベースを選択する: コンテナーと同じリージョンにある場合は、サブスクリプション全体で Azure PostgreSQL サーバーの 1 つを選択します。 矢印を展開して、サーバー内のデータベースの一覧を表示します。
Note
データベース azure_maintenance と azure_sys は、バックアップする必要はありません。 また、既にバックアップ コンテナーにバックアップされているデータベースをバックアップすることはできません。
選択したデータベースに接続するための資格情報を格納する Azure キー コンテナーを割り当てます。 個々の行レベルでキー コンテナーを割り当てるには、 [Select a key vault and secret](キー コンテナーとシークレットを選択) をクリックします。 また、行を複数選択してキー コンテナーを割り当て、グリッドの上部メニューの [Assign key vault](キー コンテナーの割り当て) をクリックすることもできます。
シークレット情報を指定するには、次のいずれかのオプションを使用します。
シークレット URI を入力する: このオプションは、シークレット URI が共有されている、または既知の場合に使用します。 シークレット URI を [キー コンテナー] ->[シークレット] (シークレットを選択する) ->[シークレット識別子] からコピーすることができます。
ただし、このオプションを使用すると、参照しているキー コンテナーについて、Azure Backup に表示されません。 そのため、キー コンテナーに対するアクセス許可をインラインで付与することができません。 バックアップ管理者は、Postgres またはキー コンテナーの管理者、あるいはその両方と共に、バックアップ操作を成功させるために、バックアップの構成フローの外で、バックアップ コンテナーのキー コンテナーに対するアクセス権が手動で付与されているようにする必要があります。
キー コンテナーを選択する: このオプションは、キー コンテナーとシークレット名がわかっている場合に使用します。 このオプションを使用すると、ユーザー (キー コンテナーに対する書き込みアクセス権を持つバックアップ管理者) は、キー コンテナーに対するアクセス許可をインラインで付与することができます。 キー コンテナーとシークレットは、事前に存在しているものを利用するか、途中で作成することもできます。 シークレットが、サーバーで バックアップ 権限が付与されているデータベース ユーザーの資格情報を使って更新される、ADO.net 形式の PG サーバー接続文字列であるようにします。 キー コンテナー内にシークレットを作成する方法について説明します。
シークレット情報の更新が完了すると、キー コンテナー情報が更新された後で検証が開始されます。
Note
- ここで、キー コンテナーからシークレットの詳細を読み取り、データベースに接続するために必要なすべてのアクセス許可があるかどうかが、バックアップ サービスによって検証されます。
- 1 つ以上のアクセス許可が不足していることが判明すると、"ロールの割り当てが完了していません" または "ユーザーがロールを割り当てることができません" というエラー メッセージのいずれかが表示されます。
ユーザーはロールを割り当てることができません: このメッセージは、 [詳細の表示] に一覧表示されているように、不足している権限を割り当てるため、PostgreSQL サーバーまたはキー コンテナー、あるいはその両方への書き込みアクセス権をユーザー (バックアップ管理者) が持っていない場合に表示されます。 アクション ボタンから割り当てテンプレートをダウンロードし、PostgreSQL またはキー コンテナー管理者、あるいはその両方が実行するようにします。これは、必要なリソースに対して必須のアクセス許可を割り当てるのに役立つ ARM テンプレートです。 テンプレートが正常に実行されたら、[バックアップの構成] ページで [再検証] をクリックします。
ロールの割り当てが行われていません: このメッセージは、 [詳細の表示] に一覧表示されているように、不足している権限を割り当てるため、PostgreSQL サーバーまたはキー コンテナー、あるいはその両方への書き込みアクセス権をユーザー (バックアップ管理者) が持っている場合に表示されます。 上部のアクション メニューの [Assign missing roles](不足しているロールの割り当て) アクション ボタンを使用して、PostgreSQL サーバーまたはキー コンテナー、あるいはその両方に対するアクセス許可をインラインで付与します。
上部のメニューで [Assign missing roles](不足しているロールの割り当て) を選択し、ロールを割り当てます。 プロセスが開始されると、KV または PG サーバー、あるいはその両方に対する不足しているアクセス許可がバックアップ コンテナーに付与されます。 アクセス許可を付与するスコープを定義できます。 アクションが完了すると、再検証が開始されます。
バックアップ コンテナーにより、キー コンテナーのシークレットへのアクセスとデータベースへのテスト接続が実行され、資格情報が正しく入力されているかどうかが検証されます。 データベース ユーザーの権限は、データベース ユーザーがデータベースに対するバックアップ関連の権限を持っているかどうかも確認されます。
PostgreSQL 管理者は、既定では、データベースに対するバックアップと復元のすべての権限を持ちます。 その結果、検証は成功します。
権限の低いユーザーには、データベースに対するバックアップ/復元権限がない可能性があります。 その結果、検証は失敗します。 PowerShell スクリプトが動的に生成されます (レコード、または選択されたデータベースごとに 1 つ)。 PowerShell スクリプトを実行して、データベースのデータベース ユーザーにこれらの特権を付与します。 または、PG 管理または PSQL ツールを使用してこれらの権限を割り当てることもできます。
バックアップの準備ができているレコードを成功として保持して、操作を送信する最後の手順に進みます。
バックアップの構成操作を送信し、バックアップ インスタンスの進行状況を追跡します。
オンデマンド バックアップを実行する
オンデマンド バックアップ (ポリシーで指定されているスケジュールには含まれないもの) をトリガーするには、次の手順に従います。
バックアップ ジョブを追跡する
追跡のためにオンデマンド バックアップ操作をトリガーする場合のみ、スケジュールされたバックアップ用のジョブが Azure Backup サービスによって作成されます。 バックアップ ジョブの状態を表示するには、次の手順に従います。
[バックアップ インスタンス] 画面に移動します。
ここには、過去 7 日間の操作と状態を含むジョブのダッシュボードが表示されます。
バックアップ ジョブの状態を表示するには、[すべて表示] を選択して、このバックアップ インスタンスの進行中および過去のジョブを表示します。
バックアップおよび復元ジョブとそれらの状態の一覧を確認します。 ジョブの一覧からジョブを選択すると、そのジョブの詳細が表示されます。
次のステップ
このチュートリアルでは、Azure portal を使用して以下を行いました。
- バックアップ コンテナーの作成
- バックアップ ポリシーを作成します。
- データベースを準備する
- データベースでバックアップを構成する
- オンデマンド バックアップを実行する
- バックアップ ジョブを追跡する
Azure Database for PostgreSQL の使用法に関する記事に進んでください。