PowerShellを使ったAzure Backupボールト情報一覧とポリシー管理の方法

Azure環境において、データ保護はセキュリティや事業継続性を確保する上で欠かせない要素です。Microsoft Azureの提供するBackupサービスは、バックアップデータを安全に管理し、災害や不慮のデータ損失時にも迅速に復元できる強力なソリューションを提供します。特に、PowerShellを活用することで、Azure Backupのボールト情報やバックアップポリシーの管理が効率化されます。本記事では、PowerShellを用いたAzure Backupのボールト情報一覧取得方法やバックアップポリシー管理の具体的手順を、実例を交えながら分かりやすく解説します。

目次

PowerShellを使用する準備と前提条件


PowerShellを用いてAzure Backupのボールト情報を取得し、ポリシーを管理するには、事前にいくつかの準備を整えておく必要があります。本章では、必要なツールや設定、環境構築の手順について説明します。

必要なツールのインストール


PowerShellでAzure Backupを操作するためには、Azure PowerShellモジュールが必要です。以下の手順でインストールを行います。

Azure PowerShellのインストール

  1. 管理者権限でPowerShellを開きます。
  2. 次のコマンドを実行してAzure PowerShellモジュールをインストールします。
Install-Module -Name Az -AllowClobber -Scope CurrentUser
  1. インストール後、以下のコマンドでモジュールが正しくインストールされているか確認します。
Get-Module -Name Az -ListAvailable

Azureアカウントへのサインイン


PowerShellを使用するには、Azureアカウントにサインインする必要があります。以下のコマンドで認証を行います。

Connect-AzAccount

コマンドを実行するとブラウザが起動し、Azureの認証ページが表示されます。アカウント情報を入力して認証を完了してください。

必要な権限の確認


Azure Backupにアクセスするためには、適切なロールが割り当てられていることを確認してください。以下のロールのいずれかが必要です:

  • Backup Operator
  • Backup Contributor
  • Owner

これらのロールが付与されていない場合は、Azureポータルを利用して管理者に依頼してください。

必要なリソースの確認


PowerShellを利用して操作する対象のリソースが、以下の要件を満たしていることを確認してください:

  • Azure Backupボールトが作成済みであること。
  • 対象リソース(仮想マシンやストレージアカウント)がボールトに登録されていること。

これらの準備が整ったら、Azure Backupボールト情報をPowerShellで取得する準備が完了です。次章では、具体的なコマンドを使用した情報取得手順について説明します。

Azure Backupボールト情報を取得する方法


PowerShellを使用してAzure Backupボールトの情報を一覧取得することで、各ボールトの状態や設定を効率的に把握することができます。本章では、必要なコマンドとその使い方について説明します。

Azureサブスクリプションの確認


複数のAzureサブスクリプションを管理している場合、対象のサブスクリプションを設定する必要があります。以下のコマンドで現在のサブスクリプションを確認し、適切なサブスクリプションに切り替えます。

# サブスクリプション一覧の取得
Get-AzSubscription

# 使用するサブスクリプションの選択
Set-AzContext -SubscriptionId "<サブスクリプションID>"

Azure Backupボールト情報の一覧取得


Azure Backupボールトの情報を取得するには、以下のコマンドを使用します。

# リソースグループ内のボールトを一覧表示
Get-AzRecoveryServicesVault -ResourceGroupName "<リソースグループ名>"

# サブスクリプション全体のボールトを一覧表示
Get-AzRecoveryServicesVault

コマンドの結果


コマンドを実行すると、以下のような情報が返されます:

  • Name: ボールトの名前
  • ResourceGroupName: ボールトが属するリソースグループ
  • Location: ボールトの場所(リージョン)
  • Type: リソースの種類

例:

Name               : MyBackupVault
ResourceGroupName  : MyResourceGroup
Location           : EastUS
Type               : Microsoft.RecoveryServices/vaults

詳細情報の取得


特定のボールトの詳細情報を確認する場合は、以下のコマンドを使用します。

# 特定のボールトの詳細情報を取得
Get-AzRecoveryServicesVault -Name "<ボールト名>"

このコマンドで、ボールトの構成やプロパティに関する詳細なデータが取得できます。

バックアップ項目の一覧取得


ボールトに登録されているバックアップ項目の情報を確認するには、以下のコマンドを使用します。

# バックアップ項目を一覧取得
Get-AzRecoveryServicesBackupItem -VaultId (Get-AzRecoveryServicesVault -Name "<ボールト名>").ID

このコマンドにより、ボールト内のバックアップリソース(仮想マシン、SQLデータベースなど)の状態を確認できます。

ボールト情報の利用例


一覧取得したボールト情報は、以下の用途に活用できます:

  • 複数ボールトの一括管理
  • 特定リージョンのボールト監視
  • バックアップ設定やポリシーの適用対象確認

次章では、取得したボールト情報を活用してバックアップポリシーを管理する方法について解説します。

バックアップポリシーの概要と設定の基本


Azure Backupポリシーは、バックアップの頻度や保持期間を定義する重要な設定です。この章では、バックアップポリシーの基本概念と、PowerShellを用いてポリシーを確認および設定する方法を解説します。

バックアップポリシーとは


バックアップポリシーは、以下の項目を定義することで、効率的かつ効果的なデータ保護を実現します:

  • スケジュール:バックアップの実行頻度(例:毎日、毎週)
  • 保持期間:バックアップデータを保持する期間(例:30日、3か月、1年)
  • バックアップタイプ:増分バックアップや完全バックアップなど

Azureでは、バックアップポリシーをボールト内のバックアップアイテムに適用して管理します。

バックアップポリシーの確認


現在のボールトに設定されているバックアップポリシーを確認するには、以下のコマンドを使用します。

# ボールト内のバックアップポリシーを一覧取得
Get-AzRecoveryServicesBackupProtectionPolicy -VaultId (Get-AzRecoveryServicesVault -Name "<ボールト名>").ID

このコマンドで返される情報には、ポリシー名、スケジュール、保持期間などが含まれます。

取得例

Name                : DailyBackupPolicy
BackupManagementType: AzureIaasVM
SchedulePolicy      : Daily
RetentionPolicy     : LongTerm

新しいバックアップポリシーの作成


新しいバックアップポリシーを作成する場合、以下の手順を実行します。

# ポリシーのスケジュールを定義
$SchedulePolicy = New-AzRecoveryServicesBackupSchedulePolicyObject -SchedulePolicyType Simple -DailyScheduleTimeInUTC 23:00

# ポリシーの保持期間を定義
$RetentionPolicy = New-AzRecoveryServicesBackupRetentionPolicyObject -RetentionPolicyType LongTerm -DailyRetentionDuration 30

# 新しいバックアップポリシーを作成
New-AzRecoveryServicesBackupProtectionPolicy -Name "MyNewBackupPolicy" -WorkloadType AzureIaasVM -RetentionPolicy $RetentionPolicy -SchedulePolicy $SchedulePolicy -VaultId (Get-AzRecoveryServicesVault -Name "<ボールト名>").ID

このスクリプトは、毎日23:00にバックアップを実行し、バックアップデータを30日間保持するポリシーを作成します。

既存ポリシーの適用


作成したポリシーをバックアップ対象に適用するには、以下のコマンドを使用します。

# バックアップアイテムを取得
$BackupItem = Get-AzRecoveryServicesBackupItem -VaultId (Get-AzRecoveryServicesVault -Name "<ボールト名>").ID -WorkloadType AzureIaasVM

# ポリシーを適用
Set-AzRecoveryServicesBackupProtectionPolicy -Policy (Get-AzRecoveryServicesBackupProtectionPolicy -VaultId (Get-AzRecoveryServicesVault -Name "<ボールト名>").ID -Name "MyNewBackupPolicy") -BackupItem $BackupItem

このコマンドにより、選択したバックアップアイテムに新しいポリシーを適用できます。

バックアップポリシーの活用


バックアップポリシーを正しく設定することで、以下のメリットが得られます:

  • データ保護の自動化
  • 法規制や内部ポリシーへの準拠
  • ストレージコストの最適化

次章では、バックアップポリシーの新規作成や編集についてさらに詳しく解説します。

ポリシーの新規作成と適用方法


バックアップポリシーの新規作成は、環境の要件に合わせたデータ保護を可能にします。本章では、PowerShellを用いたバックアップポリシーの新規作成手順と、それを適用する方法を詳細に解説します。

新しいバックアップポリシーの作成


新しいバックアップポリシーを作成する際、以下の要素を設定します:

  • バックアップスケジュール:バックアップの実行タイミング
  • 保持期間:バックアップデータを保持する期間

以下は新規ポリシー作成の手順です。

バックアップスケジュールの設定


バックアップスケジュールは、データの重要度や業務の要件に応じて設定します。

# 毎日23:00にバックアップを実行するスケジュールを作成
$SchedulePolicy = New-AzRecoveryServicesBackupSchedulePolicyObject -SchedulePolicyType Simple -DailyScheduleTimeInUTC 23:00

保持期間の設定


バックアップデータの保持期間を指定します。短期間のデータ保護や長期アーカイブに対応する設定が可能です。

# データを90日間保持するポリシーを作成
$RetentionPolicy = New-AzRecoveryServicesBackupRetentionPolicyObject -RetentionPolicyType LongTerm -DailyRetentionDuration 90

新規ポリシーの作成


設定したスケジュールと保持期間を使用してポリシーを作成します。

# 新しいバックアップポリシーの作成
New-AzRecoveryServicesBackupProtectionPolicy -Name "Daily90DaysPolicy" -WorkloadType AzureIaasVM -RetentionPolicy $RetentionPolicy -SchedulePolicy $SchedulePolicy -VaultId (Get-AzRecoveryServicesVault -Name "<ボールト名>").ID

このコマンドで、「Daily90DaysPolicy」という名前のポリシーが作成されます。

バックアップポリシーの適用


新規ポリシーを対象のバックアップアイテムに適用するには、以下の手順を実行します。

バックアップアイテムの取得

# バックアップアイテムを一覧取得
$BackupItem = Get-AzRecoveryServicesBackupItem -VaultId (Get-AzRecoveryServicesVault -Name "<ボールト名>").ID -WorkloadType AzureIaasVM

ポリシーの適用

# 作成したポリシーをバックアップアイテムに適用
Set-AzRecoveryServicesBackupProtectionPolicy -Policy (Get-AzRecoveryServicesBackupProtectionPolicy -VaultId (Get-AzRecoveryServicesVault -Name "<ボールト名>").ID -Name "Daily90DaysPolicy") -BackupItem $BackupItem

このコマンドで、作成したポリシーがバックアップアイテムに適用されます。

適用後の確認


適用したポリシーが正しく反映されているか確認するには、以下のコマンドを使用します。

# ポリシーの適用状況を確認
Get-AzRecoveryServicesBackupItem -VaultId (Get-AzRecoveryServicesVault -Name "<ボールト名>").ID | Select-Object Name, ProtectionPolicy

活用例


新規作成したバックアップポリシーは、以下のような場面で活用できます:

  • 業務時間外の自動バックアップスケジュール設定
  • 長期保存が求められる法規制データの管理
  • 開発環境と本番環境で異なるポリシーを適用

次章では、既存ポリシーの編集と最適化手法について解説します。

既存ポリシーの編集と最適化手法


運用中のバックアップポリシーを定期的に見直し、最適化することは、データ保護の効率化とストレージコストの削減につながります。この章では、既存ポリシーをPowerShellで編集する方法と、その最適化の具体的手法について解説します。

既存ポリシーの確認


編集を行う前に、対象となるポリシーの詳細を確認します。以下のコマンドで、ポリシーの設定内容を取得できます。

# ボールト内の既存ポリシーを一覧取得
Get-AzRecoveryServicesBackupProtectionPolicy -VaultId (Get-AzRecoveryServicesVault -Name "<ボールト名>").ID

特定のポリシーの詳細情報を取得する場合:

# ポリシーの詳細情報を取得
Get-AzRecoveryServicesBackupProtectionPolicy -VaultId (Get-AzRecoveryServicesVault -Name "<ボールト名>").ID -Name "<ポリシー名>"

このコマンドで、スケジュールや保持期間の設定が確認できます。

既存ポリシーの編集


以下の手順で、既存のバックアップポリシーを編集できます。

スケジュールの変更


バックアップのスケジュールを変更する場合は、新しいスケジュールポリシーを作成して適用します。

# 新しいスケジュールを定義
$NewSchedulePolicy = New-AzRecoveryServicesBackupSchedulePolicyObject -SchedulePolicyType Simple -DailyScheduleTimeInUTC 22:00

# スケジュールポリシーの更新
Set-AzRecoveryServicesBackupProtectionPolicy -Policy (Get-AzRecoveryServicesBackupProtectionPolicy -VaultId (Get-AzRecoveryServicesVault -Name "<ボールト名>").ID -Name "<ポリシー名>") -SchedulePolicy $NewSchedulePolicy

保持期間の変更


保持期間を変更する場合も、同様に新しい保持ポリシーを作成して適用します。

# 新しい保持期間を定義
$NewRetentionPolicy = New-AzRecoveryServicesBackupRetentionPolicyObject -RetentionPolicyType LongTerm -DailyRetentionDuration 60

# 保持ポリシーの更新
Set-AzRecoveryServicesBackupProtectionPolicy -Policy (Get-AzRecoveryServicesBackupProtectionPolicy -VaultId (Get-AzRecoveryServicesVault -Name "<ボールト名>").ID -Name "<ポリシー名>") -RetentionPolicy $NewRetentionPolicy

変更の確認


編集が正しく適用されたか確認します。

# 編集後のポリシー情報を取得
Get-AzRecoveryServicesBackupProtectionPolicy -VaultId (Get-AzRecoveryServicesVault -Name "<ボールト名>").ID -Name "<ポリシー名>"

最適化手法


以下のポイントを考慮しながら、バックアップポリシーを最適化します:

保持期間の最適化


不要に長い保持期間は、ストレージコストを増加させます。ビジネス要件に基づき、必要最低限の期間に設定することを推奨します。

スケジュールの効率化


バックアップが業務時間外に実行されるようにスケジュールを調整することで、パフォーマンスへの影響を最小化します。

ポリシーの統合


類似のバックアップ要件を持つリソースには、同一のポリシーを適用することで、管理の複雑さを軽減できます。

定期的な見直し


定期的にポリシーを見直し、データの成長や業務要件の変化に対応します。

活用例

  • 年次データの長期保存ポリシーを月次データと分離
  • 開発環境のバックアップ頻度を本番環境よりも低く設定
  • ストレージコスト削減のために古いバックアップの保持期間を短縮

次章では、ボールトとポリシーの関連付けを確認する方法について説明します。

ボールトとポリシーの関連付けを確認する方法


Azure Backupでは、バックアップボールトとバックアップポリシーが密接に連携して動作します。ボールトに適用されているポリシーや、ポリシーが適用されているバックアップアイテムを確認することで、運用状況を把握し、必要に応じた変更を加えることが可能です。本章では、その確認手順を解説します。

バックアップボールトとポリシーの関連付け確認


バックアップボールト内に存在するすべてのポリシーを確認することで、関連するバックアップアイテムの状態を把握できます。以下のコマンドを使用します。

# ボールト内のすべてのポリシーを一覧表示
Get-AzRecoveryServicesBackupProtectionPolicy -VaultId (Get-AzRecoveryServicesVault -Name "<ボールト名>").ID

返される結果には、ポリシー名や適用先のリソースタイプ(例:AzureIaasVM、SQLデータベース)が含まれます。

特定のポリシーに関連付けられたアイテムの確認


特定のポリシーに関連付けられているバックアップアイテムを確認するには、以下の手順を実行します。

ポリシーのIDを取得


まず、ポリシーのIDを取得します。

# ポリシーIDの取得
$Policy = Get-AzRecoveryServicesBackupProtectionPolicy -VaultId (Get-AzRecoveryServicesVault -Name "<ボールト名>").ID -Name "<ポリシー名>"

関連付けられたバックアップアイテムの取得

# ポリシーに関連付けられたバックアップアイテムを取得
Get-AzRecoveryServicesBackupItem -VaultId (Get-AzRecoveryServicesVault -Name "<ボールト名>").ID | Where-Object { $_.PolicyName -eq $Policy.Name }

このコマンドにより、指定したポリシーに関連付けられているすべてのバックアップアイテムが一覧表示されます。

バックアップアイテムごとのポリシー確認


特定のバックアップアイテムに適用されているポリシーを確認する場合は、以下を実行します。

# バックアップアイテムのポリシー情報を確認
Get-AzRecoveryServicesBackupItem -VaultId (Get-AzRecoveryServicesVault -Name "<ボールト名>").ID | Select-Object Name, PolicyName

この結果から、各バックアップアイテムがどのポリシーに基づいて管理されているかを確認できます。

関連付けの確認が役立つ場面


ボールトとポリシーの関連付けを確認することで、以下のような場面で運用を改善できます:

  • 不要なバックアップポリシーの削除や統合
  • 適切なポリシーが適用されていないアイテムの特定
  • リソースごとのポリシー運用状況のレポート作成

関連付け状況の調整


必要に応じて、ポリシーとアイテムの関連付けを変更することが可能です。次のコマンドで新しいポリシーを適用します。

# 新しいポリシーを適用
Set-AzRecoveryServicesBackupProtectionPolicy -Policy (Get-AzRecoveryServicesBackupProtectionPolicy -VaultId (Get-AzRecoveryServicesVault -Name "<ボールト名>").ID -Name "NewPolicy") -BackupItem $BackupItem

以上の手順により、ボールトとポリシーの関連付けを効率的に管理できます。次章では、トラブルシューティングとエラーの対処方法について解説します。

トラブルシューティングとエラーの対処方法


Azure Backupの運用では、時折エラーや問題が発生することがあります。これらを迅速に解決することで、システムの安定性を維持できます。本章では、一般的な問題の種類、原因の特定方法、およびそれに対する適切な解決策を解説します。

よくあるエラーの種類と原因


Azure Backupのエラーには、以下のようなものがあります:

1. ボールトやポリシーの認識エラー

  • 原因:指定したボールト名やポリシー名が間違っている、または該当のリソースが存在しない。
  • 解決策:以下のコマンドで、リソースが正しく存在しているか確認します。
Get-AzRecoveryServicesVault
Get-AzRecoveryServicesBackupProtectionPolicy -VaultId (Get-AzRecoveryServicesVault -Name "<ボールト名>").ID

2. 認証または権限エラー

  • 原因:Azureアカウントの権限が不足している(例:Backup Contributorロールが付与されていない)。
  • 解決策:Azureポータルでユーザーに適切なロールを割り当ててください。PowerShellで現在の権限を確認するには以下を実行します:
Get-AzRoleAssignment -SignInName "<ユーザー名>"

3. バックアップの失敗

  • 原因:対象のリソースが削除されている、接続エラーが発生している、または容量が不足している。
  • 解決策:次のコマンドでバックアップステータスを確認し、エラーの原因を特定します。
Get-AzRecoveryServicesBackupJob -VaultId (Get-AzRecoveryServicesVault -Name "<ボールト名>").ID | Where-Object { $_.Status -ne "Completed" }

エラーの原因を特定するための診断手法

ログの確認


Azure Backupでは、詳細なログを確認することで問題の原因を特定できます。診断ログを有効化し、次の手順で確認します。

  1. Azureポータルで、Backupボールトの設定に移動します。
  2. 「診断設定」を開き、ログを有効化します。
  3. PowerShellを使用して、ログを取得します。
Get-AzLog -ResourceGroupName "<リソースグループ名>" -StartTime (Get-Date).AddHours(-24)

ジョブ詳細の取得


特定のバックアップジョブの詳細情報を取得します。

Get-AzRecoveryServicesBackupJobDetails -JobId "<ジョブID>" -VaultId (Get-AzRecoveryServicesVault -Name "<ボールト名>").ID

これにより、失敗したジョブの原因を確認できます。

一般的な解決策

1. エラーが発生したリソースの再登録


リソースが正しく登録されていない場合、以下のコマンドで再登録を試みます。

Enable-AzRecoveryServicesBackupProtection -Policy (Get-AzRecoveryServicesBackupProtectionPolicy -VaultId (Get-AzRecoveryServicesVault -Name "<ボールト名>").ID -Name "<ポリシー名>") -ResourceId "<リソースID>"

2. 再試行の実施


一時的な接続エラーの場合、バックアップジョブを再試行することで解決することがあります。

Start-AzRecoveryServicesBackupJob -VaultId (Get-AzRecoveryServicesVault -Name "<ボールト名>").ID -BackupItem $BackupItem

3. サポートへの問い合わせ


問題が解決しない場合、Azureサポートに問い合わせて支援を受けることができます。問い合わせ前に、ジョブIDやエラーログを収集しておくと効率的です。

活用例

  • 特定のリソースでのみバックアップが失敗する場合のトラブルシューティング
  • 複数エラー発生時の優先度付けと迅速な解決策の実施
  • ロールや権限の設定ミスの特定と修正

次章では、記事全体のまとめと運用の推奨事項について解説します。

まとめ


本記事では、PowerShellを用いたAzure Backupボールト情報の取得とバックアップポリシーの管理方法について解説しました。バックアップの効率的な運用は、企業のデータ保護と災害復旧計画の中核を成します。

主なポイントとして、以下の内容を取り上げました:

  • Azure PowerShellを利用したボールト情報の一覧取得と詳細確認
  • 新規バックアップポリシーの作成と対象リソースへの適用
  • 既存ポリシーの編集と運用の最適化
  • ボールトとポリシーの関連付け確認の手順
  • トラブルシューティングとエラーの対処法

これらの手法を活用することで、Azure環境のバックアップ管理がよりスムーズになり、運用効率の向上が期待できます。定期的なポリシーの見直しやログの確認を行い、変化するビジネスニーズに応じたバックアップ戦略を構築してください。

Azure BackupとPowerShellを組み合わせることで、強力かつ柔軟なデータ保護を実現しましょう。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次