

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 管理的带宽
<a name="MaintenanceUpdateBandwidth-common"></a>

您可以限制（或限制）从网关到网关的上传吞吐量 AWS 或从网关下载到 AWS 网关的吞吐量。使用带宽限制可以帮助您控制网关使用的网络带宽量。默认情况下，激活的网关对上传或下载没有速率限制。

您可以使用指定速率限制 AWS 管理控制台，也可以使用 Storage Gateway API（参见 [UpdateBandwidthRateLimit](https://docs.aws.amazon.com/storagegateway/latest/APIReference/API_UpdateBandwidthRateLimit.html)）或 AWS 软件开发套件 (SDK) 以编程方式指定速率限制。通过以编程方式限制带宽，您可以自动更改一天中的限制（例如，通过调度任务来更改带宽）。

您也可以为网关定义基于计划的带宽限制。您可以通过定义一个或多个 bandwidth-rate-limit间隔来安排带宽限制。有关更多信息，请参阅 [使用 Storage Gateway 控制台实施基于计划的带宽限制](#SchedulingBandwidthThrottling)。

配置带宽限制的单一设置在功能上等同于定义一个时间 bandwidth-rate-limit间隔为 “**每天**” 的时间表，**开始时间**为`00:00`，**结束时间**为。`23:59`

**注意**  
本节中的信息特定于磁带网关和卷网关。要管理 Amazon S3 文件网关的带宽，请参阅[管理 Amazon S3 文件网关的带宽](https://docs.aws.amazon.com/filegateway/latest/files3/MaintenanceUpdateBandwidth-common.html)。Ama FSx zon 文件网关目前不支持带宽速率限制。

**Topics**
+ [使用 Storage Gateway 控制台更改带宽限制](#MaintenanceUpdateBandwidthConsole-common)
+ [使用 Storage Gateway 控制台实施基于计划的带宽限制](#SchedulingBandwidthThrottling)
+ [使用更新网关带宽速率限制 适用于 Java 的 AWS SDK](#MaintenanceUpdateBandwidthJava-common)
+ [使用更新网关带宽速率限制 适用于 .NET 的 AWS SDK](#MaintenanceUpdateBandwidthDotNet-common)
+ [使用更新网关带宽速率限制 AWS Tools for Windows PowerShell](#MaintenanceUpdateBandwidthPowerShell-common)

## 使用 Storage Gateway 控制台更改带宽限制
<a name="MaintenanceUpdateBandwidthConsole-common"></a>

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

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

1. 在[https://console.aws.amazon.com/storagegateway/家](https://console.aws.amazon.com/storagegateway/)中打开 Storage Gateway 控制台。

1. 在左侧导航窗格中，选择**网关**，然后选择要管理的网关。

1. 对于**操作**，选择**编辑带宽速率限制**。

1. 在**编辑速率限制**对话框中，输入新的限制值，然后选择**保存**。您的更改将显示在网关的 **Details** 选项卡中。

## 使用 Storage Gateway 控制台实施基于计划的带宽限制
<a name="SchedulingBandwidthThrottling"></a>

以下过程介绍如何使用 Storage Gateway 控制台来计划对网关带宽限制的更改。

**添加或修改网关带宽限制计划**

1. 在[https://console.aws.amazon.com/storagegateway/家](https://console.aws.amazon.com/storagegateway/)中打开 Storage Gateway 控制台。

1. 在左侧导航窗格中，选择**网关**，然后选择要管理的网关。

1. 对于**操作**，选择**编辑带宽速率限制计划**。

   网关的 bandwidth-rate-limit计划显示在**编辑带宽速率限制计划**对话框中。默认情况下，新的网关 bandwidth-rate-limit计划为空。

1. 在 **“编辑带宽速率限制计划**” 对话框中，选择 “**添加新项目**” 以添加新的间 bandwidth-rate-limit隔。为每个 bandwidth-rate-limit间隔输入以下信息：
   + 一@@ **周中的几天**-您可以为工作日（星期一至星期五）、周末（星期六和星期日）、一周中的每一天或一周中的一个或多个特定日期创建 bandwidth-rate-limit间隔。
   + **开始时间** - 使用 HH:MM 格式输入网关本地时区带宽间隔的开始时间。
**注意**  
您的 bandwidth-rate-limit间隔从您在此处指定的分钟开始处开始。
   + **结束时间**-使用 HH: MM 格式，以网关的本地时区输入 bandwidth-rate-limit间隔的结束时间。
**重要**  
间 bandwidth-rate-limit隔在此处指定的分钟结束时结束。要计划在小时结束时结束的间隔，请输入 **59**。  
要计划不间断的连续备份间隔，在小时开始时转换，并且在各个间隔之间没有中断，请对第一个间隔的结束分钟输入 **59**。对后续间隔的开始分钟输入 **00**。
   + **下载速率** - 输入下载速率限制，以千位/秒 (Kbps) 为单位，或者选择**无限制**来停用下载的带宽限制。下载速率的最小值为 100 Kbps。
   + **上传速率** - 输入上传速率限制（以 Kbps 为单位），或选择**无限制**来停用上传的带宽限制。上传速率的最小值为 50 Kbps。

   要修改 bandwidth-rate-limit间隔，可以为间隔参数输入修改后的值。

   要删除 bandwidth-rate-limit间隔，可以选择要**删除**的间隔右侧的 “删除”。

   完成更改后，选择**保存**。

1. 继续添加 bandwidth-rate-limit间隔，方法是选择 “**添加新项目**”，然后输入日期、开始和结束时间以及下载和上传速率限制。
**重要**  
 Bandwidth-rate-limit间隔不能重叠。间隔的开始时间必须出现在前一个间隔的结束时间之后和下一个间隔的开始时间之前。

1. 输入所有 bandwidth-rate-limit间隔后，选择**保存更改**以保存您的 bandwidth-rate-limit日程安排。

成功更新 bandwidth-rate-limit计划后，您可以在网关的**详细信息**面板中看到当前的下载和上传速率限制。

## 使用更新网关带宽速率限制 适用于 Java 的 AWS SDK
<a name="MaintenanceUpdateBandwidthJava-common"></a>

通过以编程方式更新带宽速率限制，您可以在一段时间内自动调整限制（例如，使用计划任务进行调整）。以下示例展示了如何使用 适用于 Java 的 AWS SDK更新网关的带宽速率限制。如需使用示例代码，您应该熟悉 Java 控制台应用程序的运行方式。有关更多信息，请参阅**《适用于 Java 的 AWS SDK 开发人员指南》中的[入门](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/java-dg-setup.html)。

**Example : 使用更新网关带宽速率限制 适用于 Java 的 AWS SDK**  
以下 Java 代码示例更新网关的带宽速率限制。要使用此示例代码，您必须提供服务端点、网关的 Amazon 资源名称 (ARN) 以及上传和下载限制。有关可以与 Storage Gateway 配合使用的 AWS 服务终端节点列表，请参阅中的[AWS Storage Gateway 终端节点和配额*AWS 一般参考*](https://docs.aws.amazon.com/general/latest/gr/sg.html)。  

```
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(
                UpdateBandwidthExample.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 SDK
<a name="MaintenanceUpdateBandwidthDotNet-common"></a>

通过以编程方式更新带宽速率限制，您可以在一段时间内自动调整限制（例如，使用计划任务进行调整）。以下示例展示了如何使用 适用于 .NET 的 AWS SDK更新网关的带宽速率限制。如需使用示例代码，您应该熟悉 .NET 控制台应用程序的运行方式。有关更多信息，请参阅**《适用于 .NET 的 AWS SDK 开发人员指南》中的[入门](https://docs.aws.amazon.com/sdk-for-net/latest/developer-guide/net-dg-setup.html)。

**Example ：使用更新网关带宽速率限制 适用于 .NET 的 AWS SDK**  
以下 C\# 代码示例更新网关的带宽速率限制。要使用此示例代码，您必须提供服务端点、网关的 Amazon 资源名称 (ARN) 以及上传和下载限制。有关可以与 Storage Gateway 配合使用的 AWS 服务终端节点列表，请参阅中的[AWS Storage Gateway 终端节点和配额*AWS 一般参考*](https://docs.aws.amazon.com/general/latest/gr/sg.html)。  

```
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());
            }
        }
    }
}
```

## 使用更新网关带宽速率限制 AWS Tools for Windows PowerShell
<a name="MaintenanceUpdateBandwidthPowerShell-common"></a>

通过以编程方式更新带宽速率限制，您可以在一段时间内自动调整限制（例如，使用计划任务进行调整）。以下示例展示了如何使用 AWS Tools for Windows PowerShell更新网关的带宽速率限制。要使用示例代码，您应该熟悉如何运行 PowerShell脚本。有关更多信息，请参阅《AWS Tools for PowerShell 用户指南》**中的[入门](https://docs.aws.amazon.com/powershell/latest/userguide/pstools-getting-started.html)。

**Example ：使用更新网关带宽速率限制 AWS Tools for Windows PowerShell**  
以下 PowerShell 脚本示例更新了网关的带宽速率限制。要使用此示例脚本，您必须提供网关的 Amazon 资源名称 (ARN) 以及上传和下载限制。  

```
<#
.DESCRIPTION
    Update Gateway bandwidth limits.
    
.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 = 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)
```