AWS Storage Gateway
用户指南 (API 版本 2013-06-30)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

管理网关的带宽

您可以限制 (或限定) 从网关到 AWS 的上传吞吐量或者从 AWS 到网关的下载吞吐量。使用带宽限制可以帮助您控制网关所用的网络带宽量。默认情况下,已激活的网关不对上传或下载进行速率限制。

您可以通过使用 AWS 管理控制台 或者通过以编程方式使用 AWS Storage Gateway API(参阅 UpdateBandwidthRateLimit)或 AWS 开发工具包 (SDK) 指定速率限制。通过以编程方式限制带宽,您可以自动更改一天中的限制 例如安排任务时间来更改宽带宽。

注意

文件网关类型目前不支持配置带宽速率限制。

使用 Storage Gateway 控制台更改带宽限制

以下过程介绍如何从 AWS Storage Gateway 控制台更改网关的带宽限制。

如需使用控制台更改网关的带宽限制

  1. 通过以下网址打开 AWS Storage Gateway 控制台:https://console.amazonaws.cn/storagegateway/home

  2. 在导航窗格中,选择 Gateways,然后选择要管理的网关。

  3. Actions 菜单上,选择 Edit Bandwidth Rate Limit

  4. Edit Rate Limits 对话框中,键入新的限制值,然后选择 Save。您的更改将显示在网关的 Details 选项卡中。

使用 AWS SDK for Java 更新网关带宽速率限制

通过以编程方式更新带宽速率限制,您可以在一段时间内自动调整限制 — 例如,使用计划任务进行调整。以下示例展示了如何使用 AWS SDK for Java 更新网关的带宽速率限制。如需使用示例代码,您应该熟悉 Java 控制台应用程序的运行方式。有关更多信息,请参见 AWS SDK for Java Developer Guide 中的入门部分。

例 :使用 AWS SDK for Java 更新网关带宽限制

以下 Java 代码示例更新网关的带宽速率限制。您需要更新代码并提供服务终端节点、网关的Amazon 资源名称 (ARN) 以及上传和下载限制。有关可用于 AWS Storage Gateway 的 AWS 服务终端节点的列表,请参阅 AWS General Reference 中的区域和终端节点

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.UpdateBandwidthRateLimitRequest; import com.amazonaws.services.storagegateway.model.UpdateBandwidthRateLimitResult; 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 = 51200; // Bits per second, minimum 51200 static long downloadRate = 102400; // Bits per second, minimum 102400 public static void main(String[] args) throws IOException { // Create a storage gateway client sgClient = new AWSStorageGatewayClient(new PropertiesCredentials( ListDeleteVolumeSnapshotsExample.class.getResourceAsStream("AwsCredentials.properties"))); sgClient.setEndpoint(serviceURL); UpdateBandwidth(gatewayARN, uploadRate, downloadRate); } private static void UpdateBandwidth(String gatewayARN2, long uploadRate2, long downloadRate2) { try { UpdateBandwidthRateLimitRequest updateBandwidthRateLimitRequest = new UpdateBandwidthRateLimitRequest() .withGatewayARN(gatewayARN) .withAverageDownloadRateLimitInBitsPerSec(downloadRate) .withAverageUploadRateLimitInBitsPerSec(uploadRate); UpdateBandwidthRateLimitResult updateBandwidthRateLimitResult = sgClient.updateBandwidthRateLimit(updateBandwidthRateLimitRequest); String returnGatewayARN = updateBandwidthRateLimitResult.getGatewayARN(); System.out.println("Updated the bandwidth rate limits of " + returnGatewayARN); System.out.println("Upload bandwidth limit = " + uploadRate + " bits per second"); System.out.println("Download bandwidth limit = " + downloadRate + " bits per second"); } catch (AmazonClientException ex) { System.err.println("Error updating gateway bandwith.\n" + ex.toString()); } } }

使用 适用于 .NET 的 AWS 开发工具包 更新网关带宽速率限制

通过以编程方式更新带宽速率限制,您可以在一段时间内自动调整限制 — 例如,使用计划任务进行调整。下面的示例介绍了如何通过使用适用于 .NET 的 AWS 开发工具包 (SDK) 更新网关的带宽速率限制。如需使用示例代码,您应该熟悉 .NET 控制台应用程序的运行方式。有关更多信息,请参阅 适用于 .NET 的 AWS 开发工具包 开发人员指南 中的入门

例 :使用适用于 .NET 的 AWS 开发工具包更新网关带宽限制

以下 C# 代码示例更新网关的带宽速率限制。您需要更新代码并提供服务终端节点、网关的Amazon 资源名称 (ARN) 以及上传和下载限制。有关可用于 AWS Storage Gateway 的 AWS 服务终端节点的列表,请参阅 AWS General Reference 中的区域和终端节点

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 = 51200; // Bits per second, minimum 51200 static long downloadRate = 102400; // Bits per second, minimum 102400 public static void Main(string[] args) { // Create a storage gateway client sgConfig = new AmazonStorageGatewayConfig(); sgConfig.ServiceURL = serviceURL; sgClient = new AmazonStorageGatewayClient(sgConfig); UpdateBandwidth(gatewayARN, uploadRate, downloadRate); Console.WriteLine("\nTo continue, press Enter."); Console.Read(); } public static void UpdateBandwidth(string gatewayARN, long uploadRate, long downloadRate) { try { UpdateBandwidthRateLimitRequest updateBandwidthRateLimitRequest = new UpdateBandwidthRateLimitRequest() .WithGatewayARN(gatewayARN) .WithAverageDownloadRateLimitInBitsPerSec(downloadRate) .WithAverageUploadRateLimitInBitsPerSec(uploadRate); UpdateBandwidthRateLimitResponse updateBandwidthRateLimitResponse = sgClient.UpdateBandwidthRateLimit(updateBandwidthRateLimitRequest); String returnGatewayARN = updateBandwidthRateLimitResponse.UpdateBandwidthRateLimitResult.GatewayARN; Console.WriteLine("Updated the bandwidth rate limits of " + returnGatewayARN); Console.WriteLine("Upload bandwidth limit = " + uploadRate + " bits per second"); Console.WriteLine("Download bandwidth limit = " + downloadRate + " bits per second"); } catch (AmazonStorageGatewayException ex) { Console.WriteLine("Error updating gateway bandwith.\n" + ex.ToString()); } } } }

使用 适用于 Windows PowerShell 的 AWS 工具 更新网关带宽速率限制

通过以编程方式更新带宽速率限制,您可以在一段时间内自动调整限制 — 例如,使用计划任务进行调整。以下示例展示了如何使用 适用于 Windows PowerShell 的 AWS 工具 更新网关的带宽速率限制。如需使用示例代码,您应该熟悉 PowerShell脚本 控制台应用程序的运行方式。有关更多信息,请参见 适用于 Windows PowerShell 的 AWS 工具 用户指南 中的入门部分。

例 :使用适用于 Windows PowerShell 的 AWS 工具更新网关带宽限制

以下 PowerShell 脚本示例更新网关的带宽速率限制。您需要更新脚本并提供服务终端节点、网关的Amazon 资源名称 (ARN) 以及上传和下载限制。

<# .DESCRIPTION Update Gateway bandwidth limits. .NOTES PREREQUISITES: 1) AWS Tools for PowerShell from http://aws.amazon.com/powershell/ 2) Credentials and region stored in session using Initialize-AWSDefault. For more info see, http://docs.amazonaws.cn/powershell/latest/userguide/specifying-your-aws-credentials.html .EXAMPLE powershell.exe .\SG_UpdateBandwidth.ps1 #> $UploadBandwidthRate = 51200 $DownloadBandwidthRate = 102400 $gatewayARN = "*** provide gateway ARN ***" #Update Bandwidth Rate Limits Update-SGBandwidthRateLimit -GatewayARN $gatewayARN ` -AverageUploadRateLimitInBitsPerSec $UploadBandwidthRate ` -AverageDownloadRateLimitInBitsPerSec $DownloadBandwidthRate $limits = Get-SGBandwidthRateLimit -GatewayARN $gatewayARN Write-Output("`nGateway: " + $gatewayARN); Write-Output("`nNew Upload Rate: " + $limits.AverageUploadRateLimitInBitsPerSec) Write-Output("`nNew Download Rate: " + $limits.AverageDownloadRateLimitInBitsPerSec)