Storage Mover エージェントのネットワーク帯域幅を管理する

この記事では、Storage Mover エージェントの帯域幅管理スケジュールを設定する方法について説明します。

ファイルとフォルダーを Azure に移行する場合、各 Storage Mover エージェントで使用できるようにするアップロード帯域幅を慎重に検討する必要があります。 その他のワークロードも、十分な帯域幅を使用できるかどうかに依存する場合があります。 Storage Mover エージェントをネットワーク内の他のワークロードにとって良好な状態にするために、各エージェントの制限をスケジュールできます。

前提条件

帯域幅スケジュールを設定する前に、まず、いずれかのリソース グループに Storage Mover リソースをデプロイしてから、エージェントを登録する必要があります。 帯域幅制限スケジュールは、登録済みエージェントごとに設定および格納されます。

帯域幅管理の基本的な概念について

スケジュールは、登録済みのエージェントの属性です。 ポータルでは、Storage Mover リソースにある登録済みのエージェント ページで、このスケジュールを設定および変更できます。

帯域幅管理スケジュールでは、1 週間を通して時間枠を記述します。この時間枠内で、Storage Mover エージェントが使用できるアップロード帯域幅の制限を設定できます。

Azure portal ダイアログで、Outlook に似た予定表と、スケジュールされた帯域幅制限時間枠が表示されているスクリーンショット。

このスケジュールは Outlook の予定表によく似ていますが、いくつかの重要な違いがあります。

  • スケジュールは繰り返されます。 平日が 7 日あり、週の最後になると、スケジュールが繰り返されます。
  • スケジュール内のエントリは、エージェントが超えてはならないように指定された制限です。 1 日の明確な時間の延長で制限を指定せず、エージェントは必要なだけの帯域幅を使用できます。
  • 特定の日付に制限をスケジュールすることはできませんが、繰り返しの平日にスケジュールすることはできます。 たとえば、「日曜日のクラウド バックアップ期間中のエージェントの帯域幅を x 以下に制限する」とできます。
  • スケジュールにタイムゾーンは格納されません。 たとえば午前 9 時に開始する制限を設定する場合、これはエージェントのローカル時間を意味します。 エージェントに対して構成されているタイムゾーンを確認できます。 エージェントのタイムゾーンが、エージェントがデプロイされているサイトのタイムゾーンと異なる場合があるので注意してください。

ヒント

Storage Mover エージェントのタイムゾーンをデプロイ先に設定できます。
1.エージェント コンソールに接続してログインします
2.メニュー オプション: 1) System configuration を選択します
3.メニュー オプション: 3) Change timezone を選択し、プロンプトに従って選択します。

帯域幅管理スケジュールを有効化または変更する

Azure portal を使用すると、登録済みのエージェント リソースで帯域幅スケジュールを有効にすることができます。

  1. ポータルに Storage Mover リソースが表示されたら、左側のメニューで [登録済みエージェント] を選択します。
  2. スケジュールを設定または表示するには、2 つのオプションがあります。 [帯域幅管理] 列を見つけて、選択したエージェントのリンクをクリックします。 または、エージェントの前にあるチェックボックスをオンにして行うこともできます。 こうすると、エージェントの一覧の上にある "帯域幅制限の管理" というラベルが付いたコマンド ボタンが有効になります。 Azure portal の登録済みエージェント ブレードで、最初にエージェントを選択してから、帯域幅管理コマンドを選択しているスクリーンショット。
  3. 帯域幅管理ウィンドウが開き、エージェントに対して現在有効になっているスケジュールが表示されます。 空のスケジュールが表示される場合、このエージェントに定義されている帯域幅制限はありません。

帯域幅制限を設定する

帯域幅スケジュール ウィンドウを開きます。 (前のセクションを参照してください)

ここで、この選択したエージェントのカスタム スケジュールを作成したり、以前に別のエージェント用に作成されたスケジュールを再利用したりできます。

  • カスタム スケジュールを作成するには、"制限の追加" コマンドを選択します。 ダイアログが開き、エージェントが使用できる WAN リンクの最大帯域幅を設定するタイム スライスを定義できます。 Azure portal ダイアログで、カスタム期間の制限を設定するための入力が表示されているスクリーンショット。
    このダイアログで、エージェントにアップリンク制限を適用する開始時刻と終了時刻を設定する必要があります。 次に、新しい制限を適用する曜日を選択できます。 同じ制限を適用するすべての平日を選択します。 次に、制限を Mbps (メガビット/秒) で指定する必要があります。 時刻の重複は許可されません。 設定した制限は、エージェントのタイムゾーンに表示される時刻に適用されます。 エージェントのタイムゾーンは、帯域幅管理ウィンドウの上部に表示されます。 場合により、スケジュールをオフセットするか、エージェントのタイムゾーンを調整する必要があります。
  • "別のエージェントからスケジュールを再利用する" には、次のセクションへのリンクをたどります。
  • このエージェントに変更を適用するには、[帯域幅管理] ウィンドウの下部にある [保存] ボタンを選択します。

Note

エージェントが Azure のターゲット ストレージに対して確立する移行データ ストリームのみが、このスケジュールによって制御されます。 このデータ ストリームに加えて、エージェントから Azure へのコントロール プレーン トラフィックもあります。 制御メッセージ、進行状況テレメトリ、およびコピー ログは通常、少量の帯域幅のみが必要です。 移行を通じてエージェントが適切に機能することを保証するため、エージェントのコントロール プレーンは、設定したスケジュールによって制御されません。 極端な場合、エージェントが、定義した制限をわずかに超えることがあります。

ヒント

Storage Mover エージェントのタイムゾーンをデプロイ先に設定できます。
1.エージェント コンソールに接続してログインします
2.メニュー オプション: 1) System configuration を選択します
3.メニュー オプション: 3) Change timezone を選択し、プロンプトに従って選択します。

帯域幅制限を変更または削除する

選択したエージェントの帯域幅管理スケジュールを開きます。 (前のセクションを参照してください)

特定の制限を編集または削除する場合は、制限を選択すると、[制限の編集] ダイアログが開きます。 時間帯を調整したり、制限を削除したりできます。 一括編集オプションはないため、平日ごとにすべての制限を個別に編集する必要があります。

エージェントの帯域幅管理を完全に無効にすることが目的の場合は、"すべての制限をクリア" コマンドを選択します。

このエージェントに変更を適用することを忘れないでください。 [帯域幅管理] ウィンドウの下部にある [保存] ボタンを選択します。

スケジュールを別のエージェントから再利用する

帯域幅制限スケジュールを別のエージェントから再利用できます。

  1. 選択したエージェントの帯域幅管理スケジュールを開きます。 前の段落を参照してください
  2. "他のエージェントから制限をインポート" コマンドを選択し、スケジュールのコピー元のエージェントを選択します。 一覧にエージェントがない場合、帯域幅制限が有効になっている他のエージェントはありません。

    警告

    このオプションを使用すると、このエージェントに現在構成されているスケジュールが上書きされます。 スケジュールをインポートする前に行った未保存の変更は復元できません。

  3. 必要に応じて、このコピーしたスケジュールを変更できます。
  4. このエージェントに変更を適用するには、[帯域幅管理] ウィンドウの下部にある [保存] ボタンを選択します。

重要

スケジュールはタイムゾーンなしで保存されます。 これにより、他のエージェントで再利用することができます。 スケジュールされた制限は、エージェントのタイムゾーンに関係なく、この期間中有効になります。 エージェントのタイムゾーンが、エージェントをデプロイした場所で使用されているタイムゾーンと異なる場合は、帯域幅管理スケジュールをオフセットする必要があります。 たとえば、エージェントのタイムゾーンが UTC だが、エージェントが実際には太平洋タイムゾーン (PST) にデプロイされている場合は、スケジュールを -7 時間オフセットする必要があります。 または、エージェントのタイムゾーンをその場所に適したタイムゾーンに調整することもできます。 こうすると、スケジュールをオフセットする必要がなくなり、タイムゾーンが夏時間であれば、スケジュールを自動的に夏時間に調整することができます。

ヒント

Storage Mover エージェントのタイムゾーンをデプロイ先に設定できます。
1.エージェント コンソールに接続してログインします
2.メニュー オプション: 1) System configuration を選択します
3.メニュー オプション: 3) Change timezone を選択し、プロンプトに従って選択します。

PowerShell を使用して帯域幅制限スケジュールを構成する

この機能の管理は、最新バージョンの Azure PowerShell モジュールを使用する場合に可能です。

Azure PowerShell 環境を準備する

Az.StorageMover モジュールが必要です。

## Ensure you are running the latest version of PowerShell 7
$PSVersionTable.PSVersion

## Your local execution policy must be set to at least remote signed or less restrictive
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

## If you don't have the general Az PowerShell module, install it first
Install-Module -Name Az -Scope CurrentUser -Repository PSGallery -Force

## Lastly, the Az.StorageMover module is not installed by default and must be manually requested.
Install-Module -Name Az.StorageMover -Scope CurrentUser -Repository PSGallery -Force

帯域幅制限スケジュールを管理する

## Set variables
$subscriptionID        = "Your subscription ID"
$resourceGroupName     = "Your resource group name"
$storageMoverName      = "Your storage mover resource name"
$registeredAgentName   = "Name of the agent, registered to your storage mover resource"

## Log into Azure with your Azure credentials
Connect-AzAccount -SubscriptionId $subscriptionID # -DeviceLogin #Leverage DeviceLogin if you need to authenticate your PowerShell session from another machine. # -TenantID #In some environments you may you need to specify the EntraID tenant to authenticate against.

#------------
# GET the schedule configured on an agent:
$schedule = @(Get-AzStorageMoverAgent -ResourceGroupName $resourceGroupName -StorageMoverName $storageMoverName -AgentName $registeredAgentName).UploadLimitScheduleWeeklyRecurrence
# $schedule then contains a JSON structure with elements for each configured time windows and the upload limit in Mbps that applies during this window.

# Output the entire schedule
$schedule

# Schedule elements can be addressed like an array.
$schedule[0]

新しい帯域幅制限を追加する

$newLimit = New-AzStorageMoverUploadLimitWeeklyRecurrenceObject `
    -Day "Monday", "Tuesday" ` # Mandatory. An array, limited to the English names of all 7 days, Monday through Sunday in any order.
    -LimitInMbps 900 ` # Mandatory. Limit in "Mega bits per second"
    -StartTimeHour 5 ` # Mandatory. 24-hour clock: 5  = 5am
    -EndTimeHour 17 `  # Mandatory. 24-hour clock: 17 = 5pm
    -EndTimeMinute 30  # Optional. Time blocks are precise to 30 Minutes. -EndTimeMinute 0 is equivalent to omitting the parameter. The only other acceptable value is the half hour mark: 30. 

$schedule += $newLimit # Appends the new limit to the exiting schedule. The JSON structure does not need to be ordered by days or time.

# Updates the bandwidth limit schedule for the selected agent by adding the defined "time block" to the schedule.
# Ensure that the new limit does not overlap with an already configured limit in the schedule, otherwise the operation will fail.
Update-AzStorageMoverAgent `
    -ResourceGroupName $resourceGroupName `
    -StorageMoverName $storageMoverName `
    -AgentName $registeredAgentName `
    -UploadLimitScheduleWeeklyRecurrence $schedule 
    # This command sets and overwrites a bandwidth limit schedule for the selected agent. Be sure to preserve an existing schedule if you want to only add a new limit. If you are building an entirely new schedule, you can form all your limit objects and then supply a comma-separated list of your new limits here. 
    # Ensure the new limit's time span is not overlapping any existing limits. Otherwise, the operation will fail.

エージェントの帯域幅制限を無効にする

Update-AzStorageMoverAgent `
    -ResourceGroupName $resourceGroupName `
    -StorageMoverName $storageMoverName `
    -AgentName $registeredAgentName `
    -UploadLimitScheduleWeeklyRecurrence @() # Supply an empty array to remove all previously configured limits. This operation cannot be undone. You have to build and supply a new schedule if you want to enable bandwidth limitations for this agent again.

既存の帯域幅制限を変更する

前述の管理アクションを組み合わせて、既存の帯域幅制限を新しい制限または更新された時間の範囲に選択的に更新できます。

# Step 1: define the new limit object you want to use to replace an existing limit:
$limit = New-AzStorageMoverUploadLimitWeeklyRecurrenceObject `
    -Day "Monday", "Tuesday" ` # Mandatory. An array, limited to the English names of all 7 days, Monday through Sunday in any order.
    -LimitInMbps 900 ` # Mandatory. limit in "Mega bits per second"
    -StartTimeHour 5 ` # Mandatory. 24-hour clock: 5  = 5am
    -EndTimeHour 17 `  # Mandatory. 24-hour clock: 17 = 5pm
    -EndTimeMinute 30  # Optional. Time blocks are precise to 30 Minutes. -EndTimeMinute 0 is equivalent to omitting the parameter. The only other acceptable value is the half hour mark: 30. 

# Step 2: Find the bandwidth limitation window you want to change:
$schedule = @(Get-AzStorageMoverAgent -ResourceGroupName $resourceGroupName -StorageMoverName $storageMoverName -AgentName $registeredAgentName).UploadLimitScheduleWeeklyRecurrence

$schedule[<n>] = $limit # Replace the limit (start count at zero) with your newly defined limit.

#Step 3: Update the bandwidth limit schedule for the selected agent:
Update-AzStorageMoverAgent `
    -ResourceGroupName $resourceGroupName `
    -StorageMoverName $storageMoverName `
    -AgentName $registeredAgentName `
    -UploadLimitScheduleWeeklyRecurrence $schedule # Apply your entire, updated schedule. Performing this step on an agent with other limits already configured will override them with this new schedule. Ensure there are no overlapping time spans, otherwise the operation will fail.

帯域幅制限スケジュールの JSON スキーマについて

帯域幅制限スケジュールは、登録済みエージェントのプロパティ UploadLimitScheduleWeeklyRecurrence に JSON コンストラクトとして格納されます。

前の PowerShell セクションは、Azure PowerShell を使用してこのエージェント プロパティを形成および更新する方法の例を示しています。 しかし、その JSON を手動で形成し、プロパティの引数として直接指定することもできます。 次のセクションは、この JSON コンストラクトの帯域幅スケジュール要素を理解するのに役立ちます。

重要

スケジュールは、エージェントが超過しない帯域幅制限が適用される 1 つ以上の時間の範囲で構成されます。 これらの時間の範囲は重複してはなりません。 どの時点でも、適用される制限は 1 つだけです。 時刻が重複するスケジュールを指定する JSON は形式に誤りがあると見なされ、エージェントに適用できません。

帯域幅制限スケジュールの次の 2 つの表現は同等です。

Azure portal で、帯域幅制限がスケジュールされた予定表が表示されているスクリーンショット。

{
  {
    "startTime":
    {
      "hour": 7,
      "minute": 0
    },
    "endTime":
    {
      "hour": 9,
      "minute": 0
    }
    "days": ["Monday"],
    "limitInMbps": 500
  },
  {
    "startTime":
    {
      "hour": 9,
      "minute": 0
    },
    "endTime":
    {
      "hour": 12,
      "minute": 0
    }
    "days": ["Monday", "Tuesday", "Wednesday"],
    "limitInMbps": 200
  }
}

Note

スケジュール内のエントリの対象ではない時間の範囲では、エージェントが使用可能な帯域幅を利用できます。 これらの時間帯で、エージェントが使用可能なすべての帯域幅を利用していない可能性があります。 詳細については、パフォーマンスに関する記事の移行のパフォーマンスが異なる理由のセクションを参照してください。

次のステップ

次のいずれかの記事に進み、Storage Mover エージェントをデプロイする方法または移行プロジェクトを作成する方法について説明します。