Amazon S3 ファイルゲートウェイの帯域幅の管理 - AWS Storage Gateway

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon S3 ファイルゲートウェイの帯域幅の管理

ゲートウェイから へのアップロードスループットを制限 AWS して、ゲートウェイが使用するネットワーク帯域幅の量を制御できます。デフォルトでは、アクティブ化されたゲートウェイのレート制限は設定されていません。

bandwidth-rate-limitスケジュールは、、 AWS Software Development Kit (SDK) AWS マネジメントコンソール、または AWS Storage Gateway API を使用して設定できます (AWS Storage Gateway API リファレンスUpdateBandwidthRateLimitSchedule」を参照してください)。帯域幅レート制限スケジュールを使用すると、制限が 1 日または 1 週間を通して自動的に変更されるように設定できます。詳細については、「Storage Gateway コンソールを使用して、ゲートウェイの帯域幅レート制限スケジュールを表示および編集します。」を参照してください。

Storage Gateway コンソールまたは Amazon CloudWatch の [Monitoring (モニタリング)] タブの CloudBytesUploaded メトリクスを通じて、Storage Gateway のアップロードスループットをモニタリングできます。

注記

帯域幅のレート制限は、Storage Gateway ファイルのアップロードにのみ適用されます。他のゲートウェイオペレーションは影響を受けません。

帯域幅レート制限は、アップロードされるすべてのファイルのスループットを 1 秒あたりに平均して調整することで機能します。アップロードがマイクロ秒単位またはミリ秒単位で帯域幅レート制限を一時的に超えることもありますが、これによって長時間にわたって大きなスパイクが発生することは通常ありません。

帯域幅レート制限の設定とスケジュールは、Amazon FSx ファイルゲートウェイタイプでは現在サポートされていません。

Storage Gateway コンソールを使用して、ゲートウェイの帯域幅レート制限スケジュールを表示および編集します。

このセクションでは、ゲートウェイの帯域幅レート制限スケジュールを表示および編集する方法について説明します。

帯域幅レート制限スケジュールを表示および編集するには
  1. Storage Gateway コンソール (https://console.aws.amazon.com/storagegateway/home) を開きます。

  2. 左側のナビゲーションペインで [ゲートウェイ] を選択してから、管理対象のゲートウェイを選択します。

  3. [Actions (アクション)] で、[Edit bandwidth rate limit schedule (帯域幅レート制限スケジュールの編集)] を選択します。

    ゲートウェイの帯域幅レート制限スケジュールは、[帯域幅レート制限スケジュールの編集] ダイアログボックスに表示されます。デフォルトでは、新規のゲートウェイには、帯域幅レート制限が定義されていません。

  4. (オプション) [新しい帯域幅レート制限を追加] を選択して、設定可能な新しい間隔をスケジュールに追加します。追加する間隔ごとに、次の情報を入力します。

    • アップロード速度 — アップロード速度の制限をメガビット/秒 (Mbps) 単位で入力します。最小値は 100 Mbps です。

    • 曜日 — 間隔を適用する定期的な曜日を選択します。間隔は、平日 (月曜日から金曜日)、週末 (土曜日と日曜日)、毎日、または毎週特定の日に適用できます。帯域幅レート制限を毎日、常に均一に適用するには、No schedule (スケジュールなし) を選択します。

    • [Start time (開始時間)] – HH:MM 形式とゲートウェイの UTC からのタイムゾーンオフセットを使用して、帯域幅期間の開始時間を入力します。

      注記

      帯域幅レート制限期間は、ここで分単位で指定した 1 分間の最初から始まります。

    • [End time (終了時間)] – HH:MM 形式とゲートウェイの GMT からのタイムゾーンオフセットを使用して、帯域幅期間の終了時間を入力します。

      重要

      帯域幅レート制限期間は、ここで分単位で指定した 1 分間の最後に終了します。1 時間の終わりに終了する期間をスケジュールするには、「59」と入力します。

      連続する期間を続けてスケジュールする際に、1 時間の開始時に移行し、期間の間に中断がないようにするには、最初の期間の終了時間を「59」分と入力します。後の期間の開始時間は、「00」分と入力します。

  5. (オプション) 帯域幅レート制限スケジュールが完了するまで、必要に応じて前のステップを繰り返します。スケジュールから間隔を削除する必要がある場合は、[削除] を選択します。

    重要

    帯域幅レート制限期間を重複させることはできません。期間の開始時間は、前の期間の終了時間より後、かつ、次の区間の開始時間より前である必要があります。

  6. 完了したら、[変更を保存] を選択します。

を使用したゲートウェイ帯域幅レート制限の更新 AWS SDK for Java

帯域幅レート制限をプログラムで更新することで (例えば、スケジュールされたタスクを使用することで)、一定期間にわたって制限を自動的に調整できます。次の例は、 AWS SDK for Javaを使用して、ゲートウェイの帯域幅レート制限を更新する方法を示しています。サンプルコードを使用するには、Java コンソールアプリケーションの実行について理解している必要があります。詳細については、AWS SDK for Java デベロッパーガイドの「Getting Started」を参照してください。

例 : を使用したゲートウェイ帯域幅レート制限の更新 AWS SDK for Java

次の Java コードの例では、ゲートウェイの帯域幅レート制限を更新します。このサンプルコードを使用するには、サービスエンドポイント、ゲートウェイ Amazon リソースネーム (ARN)、およびアップロード制限を指定する必要があります。Storage Gateway で使用可能な AWS サービスエンドポイントの一覧については、「AWS 全般のリファレンス」の「AWS Storage Gateway エンドポイントとクォータ」でご確認ください。

import java.io.IOException; import com.amazonaws.AmazonClientException; import com.amazonaws.auth.PropertiesCredentials; import com.amazonaws.services.storagegateway.AWSStorageGatewayClient; import com.amazonaws.services.storagegateway.model. UpdateBandwidthRateLimitScheduleRequest; import com.amazonaws.services.storagegateway.model. UpdateBandwidthRateLimitScheduleReturn; import java.util.Arrays; import java.util.Collections; import java.util.List; public class UpdateBandwidthExample { public static AWSStorageGatewayClient sgClient; // The gatewayARN public static String gatewayARN = "*** provide gateway ARN ***"; // The endpoint static String serviceURL = "https://storagegateway.us-east-1.amazonaws.com"; // Rates static long uploadRate = 100 * 1024 * 1024; // Bits per second, minimum 100 Megabits/second public static void main(String[] args) throws IOException { // Create a Storage Gateway client sgClient = new AWSStorageGatewayClient(new PropertiesCredentials( UpdateBandwidthExample.class.getResourceAsStream("AwsCredentials.properties"))); sgClient.setEndpoint(serviceURL); UpdateBandwidth(gatewayARN, uploadRate, null); // download rate not supported by S3 File Gateways } private static void UpdateBandwidth(String gatewayArn, long uploadRate, long downloadRate) { try { BandwidthRateLimit bandwidthRateLimit = new BandwidthRateLimit(downloadRate, uploadRate); BandwidthRateLimitInterval noScheduleInterval = new BandwidthRateLimitInterval() .withBandwidthRateLimit(bandwidthRateLimit) .withDaysOfWeek(Arrays.asList(1, 2, 3, 4, 5, 6, 0)) .withStartHourOfDay(0) .withStartMinuteOfHour(0) .withEndHourOfDay(23) .withEndMinuteOfHour(59); UpdateBandwidthRateLimitScheduleRequest updateBandwidthRateLimitScheduleRequest = new UpdateBandwidthRateLimitScheduleRequest() .withGatewayARN(gatewayArn) .with BandwidthRateLimitIntervals(Collections.singletonList(noScheduleInterval)); UpdateBandwidthRateLimitScheduleReturn updateBandwidthRateLimitScheuduleResponse = sgClient.UpdateBandwidthRateLimitSchedule(updateBandwidthRateLimitScheduleRequest); String returnGatewayARN = updateBandwidthRateLimitScheuduleResponse.getGatewayARN(); System.out.println("Updated the bandwidth rate limits of " + returnGatewayARN); System.out.println("Upload bandwidth limit = " + uploadRate + " bits per second"); } catch (AmazonClientException ex) { System.err.println("Error updating gateway bandwith.\n" + ex.toString()); } } }

を使用したゲートウェイ帯域幅レート制限の更新 AWS SDK for .NET

帯域幅レート制限をプログラムで更新することで (例えば、スケジュールされたタスクを使用することで)、一定期間にわたって制限を自動的に調整できます。次の例は、.NET 用 AWS Software Development Kit (SDK) を使用してゲートウェイの帯域幅レート制限を更新する方法を示しています。サンプルコードを使用するには、.NET コンソールアプリケーションの実行について理解している必要があります。詳細については、AWS SDK for .NET デベロッパーガイドの「Getting Started」を参照してください。

例 : を使用してゲートウェイ帯域幅レート制限を更新する AWS SDK for .NET

次の C# コードの例では、ゲートウェイの帯域幅レート制限を更新します。このサンプルコードを使用するには、サービスエンドポイント、ゲートウェイ Amazon リソースネーム (ARN)、およびアップロード制限を指定する必要があります。Storage Gateway で使用可能な AWS サービスエンドポイントの一覧については、「AWS 全般のリファレンス」の「AWS Storage Gateway エンドポイントとクォータ」でご確認ください。

using System; using System.Collections.Generic; using System.Linq; using System.Text; using Amazon.StorageGateway; using Amazon.StorageGateway.Model; namespace AWSStorageGateway { class UpdateBandwidthExample { static AmazonStorageGatewayClient sgClient; static AmazonStorageGatewayConfig sgConfig; // The gatewayARN public static String gatewayARN = "*** provide gateway ARN ***"; // The endpoint static String serviceURL = "https://storagegateway.us-east-1.amazonaws.com"; // Rates static long uploadRate = 100 * 1024 * 1024; // Bits per second, minimum 100 Megabits/second public static void Main(string[] args) { // Create a Storage Gateway client sgConfig = new AmazonStorageGatewayConfig(); sgConfig.ServiceURL = serviceURL; sgClient = new AmazonStorageGatewayClient(sgConfig); UpdateBandwidth(gatewayARN, uploadRate, null); Console.WriteLine("\nTo continue, press Enter."); Console.Read(); } public static void UpdateBandwidth(string gatewayARN, long uploadRate, long downloadRate) { try { BandwidthRateLimit bandwidthRateLimit = new BandwidthRateLimit(downloadRate, uploadRate); BandwidthRateLimitInterval noScheduleInterval = new BandwidthRateLimitInterval() .withBandwidthRateLimit(bandwidthRateLimit) .withDaysOfWeek(Arrays.asList(1, 2, 3, 4, 5, 6, 0)) .withStartHourOfDay(0) .withStartMinuteOfHour(0) .withEndHourOfDay(23) .withEndMinuteOfHour(59); List <BandwidthRateLimitInterval> bandwidthRateLimitIntervals = new List<BandwidthRateLimitInterval>(); bandwidthRateLimitIntervals.Add(noScheduleInterval); UpdateBandwidthRateLimitScheduleRequest updateBandwidthRateLimitScheduleRequest = new UpdateBandwidthRateLimitScheduleRequest() .withGatewayARN(gatewayARN) .with BandwidthRateLimitIntervals(bandwidthRateLimitIntervals); UpdateBandwidthRateLimitScheduleReturn updateBandwidthRateLimitScheuduleResponse = sgClient.UpdateBandwidthRateLimitSchedule(updateBandwidthRateLimitScheduleRequest); String returnGatewayARN = updateBandwidthRateLimitScheuduleResponse.GatewayARN; Console.WriteLine("Updated the bandwidth rate limits of " + returnGatewayARN); Console.WriteLine("Upload bandwidth limit = " + uploadRate + " bits per second"); } catch (AmazonStorageGatewayException ex) { Console.WriteLine("Error updating gateway bandwith.\n" + ex.ToString()); } } } }

を使用したゲートウェイ帯域幅レート制限の更新 AWS Tools for Windows PowerShell

帯域幅レート制限をプログラムで更新することで (例えば、スケジュールされたタスクを使用することで)、一定期間にわたって制限を自動的に調整できます。次の例は、 AWS Tools for Windows PowerShellを使用して、ゲートウェイの帯域幅レート制限を更新する方法を示しています。サンプルコードを使用するには、PowerShell スクリプトの実行について理解している必要があります。詳細については、AWS Tools for PowerShell ユーザーガイドの「使用開始」を参照してください。

例 : を使用してゲートウェイ帯域幅レート制限を更新する AWS Tools for Windows PowerShell

次の PowerShell スクリプトの例では、ゲートウェイの帯域幅レート制限を更新します。このサンプルスクリプトを使用するには、ゲートウェイ Amazon リソースネーム (ARN)、およびアップロード制限を指定する必要があります。

<# .DESCRIPTION Update Gateway bandwidth limits schedule .NOTES PREREQUISITES: 1) AWS Tools for PowerShell from https://aws.amazon.com/powershell/ 2) Credentials and region stored in session using Initialize-AWSDefault. For more info, see https://docs.aws.amazon.com/powershell/latest/userguide/specifying-your-aws-credentials.html .EXAMPLE powershell.exe .\SG_UpdateBandwidth.ps1 #> $UploadBandwidthRate = 100 * 1024 * 1024 $gatewayARN = "*** provide gateway ARN ***" $bandwidthRateLimitInterval = New-Object Amazon.StorageGateway.Model.BandwidthRateLimitInterval $bandwidthRateLimitInterval.StartHourOfDay = 0 $bandwidthRateLimitInterval.StartMinuteOfHour = 0 $bandwidthRateLimitInterval.EndHourOfDay = 23 $bandwidthRateLimitInterval.EndMinuteOfHour = 59 $bandwidthRateLimitInterval.DaysOfWeek = 0,1,2,3,4,5,6 $bandwidthRateLimitInterval.AverageUploadRateLimitInBitsPerSec = $UploadBandwidthRate #Update Bandwidth Rate Limits Update-SGBandwidthRateLimitSchedule -GatewayARN $gatewayARN ` -BandwidthRateLimitInterval @($bandwidthRateLimitInterval) $schedule = Get-SGBandwidthRateLimitSchedule -GatewayARN $gatewayARN Write-Output("`nGateway: " + $gatewayARN); Write-Output("`nNew bandwidth throttle schedule: " + $schedule.BandwidthRateLimitIntervals.AverageUploadRateLimitInBitsPerSec)