

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

# 先决条件
<a name="prerequisites"></a>

**Topics**
+ [

## AWS 账户 使用管理员用户创建
](#aws-account)
+ [

## 创建 Amazon EC2 SSH 密钥对
](#create-ssh-key-pair)
+ [

## 提高服务配额
](#increase-service-quotas)
+ [

## 创建 Cognito 用户池（可选）
](#create-cognito-user-pool)
+ [

## 创建自定义域名（可选）
](#create-public-domain)
+ [

## 创建域名（GovCloud 仅限）
](#create-domain-govcloud)
+ [

## 提供外部资源
](#external-resources)
+ [

## 在您的环境中配置 LDAPS（可选）
](#configure-ldaps)
+ [

## 为微软 Active Directory 设置服务帐户
](#service-account-ms-ad)
+ [

## 配置私有 VPC（可选）
](#private-vpc)

## AWS 账户 使用管理员用户创建
<a name="aws-account"></a>

您必须 AWS 账户 拥有管理员用户：

1. 打开[https://portal.aws.amazon.com/billing/注册。](https://portal.aws.amazon.com/billing/signup)

1. 按照屏幕上的说明操作。

   在注册时，将接到电话或收到短信，要求使用电话键盘输入一个验证码。

   当您注册时 AWS 账户，就会创建*AWS 账户根用户*一个。根用户有权访问该账户中的所有 AWS 服务 和资源。作为最佳安全实践，请为用户分配管理访问权限，并且只使用根用户来执行[需要根用户访问权限的任务](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks)。

## 创建 Amazon EC2 SSH 密钥对
<a name="create-ssh-key-pair"></a>

如果您没有 Amazon EC2 SSH 密钥对，则必须创建一个。有关更多信息，请参阅《Amazon EC2 用户指南》**中的[使用 Amazon EC2 创建密钥对](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-key-pairs.html)。

## 提高服务配额
<a name="increase-service-quotas"></a>

最佳做法是[增加以下各项的服务配额](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html)：
+ [亚马逊 VPC](https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html)
  + 将每个 NAT 网关的弹性 IP 地址配额从五个增加到八个。
  + 将每个可用区的 NAT 网关从五个增加到十个。
+ [亚马逊 EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-resource-limits.html) 
  + 将 EC2-VPC Elastic IPs 从五个增加到十个。

您的 AWS 账户有每项 AWS 服务的默认配额。除非另有说明，否则，每个限额是区域特定的。您可以请求增加某些配额，但其他一些配额无法增加。有关更多信息，请参阅 [本产品中的 AWS 服务配额](plan-your-deployment.md#quotas-for-aws-services-in-this-product)。

## 创建 Cognito 用户池（可选）
<a name="create-cognito-user-pool"></a>

安装 RES 时，您可以选择导入现有 Cognito 用户池以进行用户和客户端身份验证。否则，RES 将自动创建一个新的 Cognito 用户池。预先存在的用户池必须具有以下注册自定义属性：


| Name | Type | 最小值/长度 | 最大值/长度 | Mutable | 
| --- | --- | --- | --- | --- | 
| 自定义:aws\$1region | 字符串 |  |  | TRUE | 
| 自定义:集群名称 | 字符串 |  |  | TRUE | 
| 自定义:password\$1last\$1set  | 数字 |  |  | TRUE | 
| 自定义:password\$1max\$1age | 数字 |  |  | TRUE | 
| 自定义:uid | 数字 | 2000200001 | 4294967294 | TRUE | 

## 创建自定义域名（可选）
<a name="create-public-domain"></a>

最佳做法是，使用产品的自定义域名作为用户友好型 URL。您可以提供自定义域名，*也可以选择*为其提供证书。

外部资源堆栈中有一个为你提供的自定义域创建证书的过程。如果您有域并想使用外部资源堆栈的证书生成功能，则可以跳过此处的步骤。

或者，按照以下步骤使用 Amazon Route 53 注册域名并使用导入该域的证书 AWS Certificate Manager。

1. 按照指示在 Rou [te 53 中注册域名](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/domain-register.html#register_new_console)。您应该会收到一封确认电子邮件。

1. 检索您的域的托管区域。Route 53 会自动创建它。

   1. 打开 Route 53 控制台。

   1. 从左侧导航栏中选择**托管区域**。

   1. 打开为您的域名创建的托管区域，然后复制**托管区域 ID**。

1. 打开 AWS Certificate Manager 并按照以下步骤[申请域证书](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-public.html)。确保您位于计划部署解决方案的区域。

1. 从导航栏中选择 “**列出证书**”，然后找到您的证书申请。该请求应该处于待处理状态。

1. 选择您的**证书 ID** 以打开请求。

1. 从 “**域**” 部分中，选择 “在 R **oute 53 中创建记录**”。处理请求大约需要十分钟。

1. 证书颁发后，从**证书状态**部分复制 **ARN**。

## 创建域名（GovCloud 仅限）
<a name="create-domain-govcloud"></a>

如果您在某个 AWS GovCloud 地区进行部署，并且使用的是研究与工程工作室的自定义域，则必须完成这些必备步骤。

1. 在创建公共托管域的商业分区 AWS 账户中部署[证书 CloudFormation 堆栈](https://console.aws.amazon.com/cloudformation/home?region=us-east-1#/stacks/quickcreate?templateURL=https://s3.amazonaws.com/aws-hpc-recipes/main/recipes/security/public_certs/assets/main.yaml)。

1. 从 “**证书 CloudFormation 输出**” 中，找到并记下`CertificateARN`和`PrivateKeySecretARN`。

1. 在 GovCloud 分区帐户中，使用`CertificateARN`输出值创建一个密钥。记下新的密钥 ARN，并在该密钥中添加两个标签，这样`vdc-gateway`就可以访问密钥值了：

   1. res: ModuleName = virtual-desktop-controller 

   1. res: EnvironmentName = [环境名称]（这可能是 res-demo。） 

1. 在 GovCloud 分区帐户中，使用`PrivateKeySecretARN`输出值创建一个密钥。记下新的密钥 ARN，并在该密钥中添加两个标签，这样`vdc-gateway`就可以访问密钥值了：

   1. res: ModuleName = virtual-desktop-controller

   1. res: EnvironmentName = [环境名称]（这可能是 res-demo。）

## 提供外部资源
<a name="external-resources"></a>

Research and Engineering Studio 在部署时 AWS 预计会有以下外部资源。
+ **网络（VPC、公有子网和私有子网）**

  在这里，您将运行用于托管 RES 环境、Active Directory (AD) 和共享存储的 EC2 实例。
+ **存储（亚马逊 EFS）**

  存储卷包含虚拟桌面基础架构 (VDI) 所需的文件和数据。
+ **目录服务 (AWS Directory Service for Microsoft Active Directory)**

  目录服务对 RES 环境的用户进行身份验证。
+ **包含 Active Directory 服务帐户用户名和密码的密钥，格式为键值对（用户名、密码）**

  Research and Engineering Studio 使用[AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html)访问你提供的[机密](secrets-management.md)，包括服务帐户密码。

**警告**  
您必须为所有要同步的 Active Directory (AD) 用户提供有效的电子邮件地址。

**提示**  
如果您正在部署演示环境，但没有这些外部资源可用，则可以使用 AWS 高性能计算配方来生成外部资源。要在您的账户中部署资源[创建外部资源](create-external-resources.md)，请参阅以下部分。  
要在某个 AWS GovCloud 区域进行演示部署，您必须完成中的必备步骤[创建域名（GovCloud 仅限）](#create-domain-govcloud)。

## 在您的环境中配置 LDAPS（可选）
<a name="configure-ldaps"></a>

如果您计划在您的环境中使用 LDAPS 通信，则必须完成以下步骤来创建证书并将其附加到 AWS Managed Microsoft AD (AD) 域控制器，以提供 AD 和 RES 之间的通信。

1. 按照[如何为您启用服务器端 LDAPS 中提供的步骤进行](https://aws.amazon.com/blogs/security/how-to-enable-ldaps-for-your-aws-microsoft-ad-directory/)操作。 AWS Managed Microsoft AD如果您已经启用 LDAPS，则可以跳过此步骤。

1. 确认已在 AD 上配置 LDAPS 后，导出 AD 证书：

   1. 前往您的活动目录服务器。

   1. 以管理员 PowerShell 身份打开。

   1. 运行`certmgr.msc`打开证书列表。

   1. 首先打开受信任的根证书颁发机构，然后打开证书，打开证书列表。

   1. 选择并按住（或右键单击）与 AD 服务器同名的证书，然后选择 “**所有任务**”，然后选择 “**导出**”。

   1. **选择 **Base-64 编码的 X.509 (.C** ER)，然后选择 “下一步”。**

   1. 选择一个目录，然后选择 “**下一步**”。

1. 在以下位置创建密钥 AWS Secrets Manager：

   在 Secrets Manager 中创建 Secret 时，在 **secret type**（密钥类型）下选择 **Other type of secrets**（其他类型密钥）并将 PEM 编码的凭证粘贴到 **Plaintext**（明文）字段中。

1. 记下创建的 ARN 并将其作为`DomainTLSCertificateSecretARN`参数输入。[步骤 1：启动产品](launch-the-product.md)

## 为微软 Active Directory 设置服务帐户
<a name="service-account-ms-ad"></a>

如果你选择 Microsoft Active Directory (AD) 作为 RES 的身份来源，则你的 AD 中有一个允许编程访问的服务帐户。在 RES 安装过程中，您必须传递带有服务帐户凭据的密钥。密钥必须采用此处显示的格式。

![\[用户名和密码格式示例\]](http://docs.aws.amazon.com/zh_cn/res/latest/ug/images/res-secret-value-example.png)


另请注意，该`username`字段不支持该格式的 NT 样式登录名。`DOMAIN\username`

服务账号负责以下职能：
+ 从 AD: RES 同步用户必须同步 AD 中的用户才能登录门户。同步过程使用服务帐户通过 LDAP 查询 AD，以确定哪些用户和组可用。
+ 加入 AD 域：这是一项可选操作，适用于实例加入 AD 域的 Linux 虚拟桌面和基础架构主机。在 RES 中，这是通过`DisableADJoin`参数控制的。默认情况下，此参数设置为 False，这意味着 Linux 虚拟桌面将尝试以默认配置加入 AD 域。
+ 连接到 AD：如果 Linux 虚拟桌面和基础架构主机不加入 AD 域，则它们将连接到 AD 域（`DisableADJoin`= True）。要使此功能发挥作用，服务帐户还需要为和中的用户和群组提供读取权限`GroupsOU`。`UsersOU`

服务帐号需要以下权限：
+ 同步用户并连接到 AD → 和中的用户和群组的`UsersOU`读取权限`GroupsOU`。
+ 要加入 AD 域 → 在中创建`Computer`对象`ComputersOU`。

[ https://github.com/aws-samples/aws-hpc-recipes/blob/main/recipes/res/res\$1demo\$1env/assets/service\$1account.ps1 上的脚本提供了如何授予适当的服务帐户](https://github.com/aws-samples/aws-hpc-recipes/blob/main/recipes/res/res_demo_env/assets/service_account.ps1)权限的示例。您可以根据自己的广告对其进行修改。

## 配置私有 VPC（可选）
<a name="private-vpc"></a>

在隔离的 VPC 中部署 Research and Engineering Studio 可增强安全性，以满足组织的合规和治理要求。但是，标准的 RES 部署依赖于互联网访问来安装依赖关系。要在私有 VPC 中安装 RES，您需要满足以下先决条件：

**Topics**
+ [

### 准备 Amazon 机器映像 (AMIs)
](#prep-ami)
+ [

### 设置 VPC 终端节点
](#private-vpc-endpoints)
+ [

### 在没有 VPC 终端节点的情况下连接到服务
](#connect-services-without-endpoints)
+ [

### 设置私有 VPC 部署参数
](#vpc-deployment-parameters)

### 准备 Amazon 机器映像 (AMIs)
<a name="prep-ami"></a>

1. 在 lat [ https://research-engineering-studio-us-east-1.s3.amazonaws.com/releases/est/ .tar.gz res-installation-scripts](https://research-engineering-studio-us-east-1.s3.amazonaws.com/releases/latest/res-installation-scripts.tar.gz) 上下载依赖项。要在隔离的 VPC 中部署，RES 基础设施需要在没有公共互联网访问权限的情况下提供依赖关系。
**重要**  
如果您的 RES 环境版本不是最新版本，则**latest**在下载 URI 中替换为确切的版本号（例如**2025.06**）。

1. 创建具有 Amazon S3 只读访问权限和可信身份的 IAM 角色，如亚马逊 EC2。

   1. 使用 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 打开 IAM 控制台。

   1. 在**角色**中，选择**创建角色**。

   1. 在**选择可信实体**页面：
      + 在 “**可信实体类型**” 下，选择 AWS 服务。
      + 对于 “**服务” 或 “**用例**” 下的 “用例**”，选择 “**EC2**”，然后选择 “**下一步**”。

   1. 在 “**添加权限**” 上，选择以下权限策略，然后选择 “**下一步**”：
      + 亚马逊 3 ReadOnlyAccess
      + Amazon SSMManaged InstanceCore
      + EC2InstanceProfileForImageBuilder

   1. 添加**角色名称**和**描述**，然后选择**创建角色**。

1. 创建 EC2 映像生成器组件：

   1. 打开 EC2 Image Builder 控制台，网址为[https://console.aws.amazon.com//imagebuilder](https://console.aws.amazon.com//imagebuilder)。

   1. 在 “**已保存的资源**” 下，选择 “**组件**”，然后选择 “**创建组件**”。

   1. 在**创建组件**页面上，输入以下详细信息：
      + 对于 “**组件类型**”，选择 “**构建**”。
      + 要了解**组件详情**，请选择：    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/res/latest/ug/prerequisites.html)

   1. 在**创建组件**页面上，选择**定义文档内容**。

      1. 在输入定义文档内容之前，需要一个 tar.gz 文件的文件 URI。将 RES 提供的 tar.gz 文件上传到亚马逊 S3 存储桶，然后从存储桶属性中复制该文件的 URI。

      1. 输入以下信息：
**注意**  
`AddEnvironmentVariables`是可选的，如果您不需要在基础架构主机中使用自定义环境变量，则可以将其删除。  
如果您正在设置`http_proxy`和`https_proxy`环境变量，则需要使用这些`no_proxy`参数来防止实例使用代理来查询本地主机、实例元数据 IP 地址和支持 VPC 终端节点的服务。

         ```
         #  Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
         #
         #  Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
         #  with the License. A copy of the License is located at
         #
         #      http://www.apache.org/licenses/LICENSE-2.0
         #
         #  or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES
         #  OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions
         #  and limitations under the License.
         name: research-and-engineering-studio-infrastructure
         description: An RES EC2 Image Builder component to install required RES software dependencies for infrastructure hosts.
         schemaVersion: 1.0
         
         parameters:
           - AWSRegion:
               type: string
               description: RES Environment AWS Region
         phases:
           - name: build
             steps:
                - name: DownloadRESInstallScripts
                  action: S3Download
                  onFailure: Abort
                  maxAttempts: 3
                  inputs:
                     - source: '<s3 tar.gz file uri>'
                       destination: '/root/bootstrap/res-installation-scripts/res-installation-scripts.tar.gz'
                - name: RunInstallScript
                  action: ExecuteBash
                  onFailure: Abort
                  maxAttempts: 3
                  inputs:
                     commands:
                         - 'cd /root/bootstrap/res-installation-scripts'
                         - 'tar -xf res-installation-scripts.tar.gz'
                         - 'cd scripts/infrastructure-host'
                         - '/bin/bash install.sh'
                - name: AddEnvironmentVariables
                  action: ExecuteBash
                  onFailure: Abort
                  maxAttempts: 3
                  inputs:
                     commands:
                         - |
                           echo -e "
                           http_proxy=http://<ip>:<port>
                           https_proxy=http://<ip>:<port>
                           no_proxy=127.0.0.1,169.254.169.254,169.254.170.2,localhost,{{ AWSRegion }}.res,{{ AWSRegion }}.vpce.amazonaws.com,{{ AWSRegion }}.elb.amazonaws.com,s3.{{ AWSRegion }}.amazonaws.com,s3.dualstack.{{ AWSRegion }}.amazonaws.com,ec2.{{ AWSRegion }}.amazonaws.com,ec2.{{ AWSRegion }}.api.aws,ec2messages.{{ AWSRegion }}.amazonaws.com,ssm.{{ AWSRegion }}.amazonaws.com,ssmmessages.{{ AWSRegion }}.amazonaws.com,kms.{{ AWSRegion }}.amazonaws.com,secretsmanager.{{ AWSRegion }}.amazonaws.com,sqs.{{ AWSRegion }}.amazonaws.com,elasticloadbalancing.{{ AWSRegion }}.amazonaws.com,sns.{{ AWSRegion }}.amazonaws.com,logs.{{ AWSRegion }}.amazonaws.com,logs.{{ AWSRegion }}.api.aws,elasticfilesystem.{{ AWSRegion }}.amazonaws.com,fsx.{{ AWSRegion }}.amazonaws.com,dynamodb.{{ AWSRegion }}.amazonaws.com,api.ecr.{{ AWSRegion }}.amazonaws.com,.dkr.ecr.{{ AWSRegion }}.amazonaws.com,kinesis.{{ AWSRegion }}.amazonaws.com,.data-kinesis.{{ AWSRegion }}.amazonaws.com,.control-kinesis.{{ AWSRegion }}.amazonaws.com,events.{{ AWSRegion }}.amazonaws.com,cloudformation.{{ AWSRegion }}.amazonaws.com,sts.{{ AWSRegion }}.amazonaws.com,application-autoscaling.{{ AWSRegion }}.amazonaws.com,monitoring.{{ AWSRegion }}.amazonaws.com,ecs.{{ AWSRegion }}.amazonaws.com,.execute-api.{{ AWSRegion }}.amazonaws.com
                            " >> /etc/environment launch template
         ```

   1. 选择**创建组件**。

1. 创建 Image Builder 图片配方。

   1. 在**创建食谱**页面上，输入以下内容：    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/res/latest/ug/prerequisites.html)

   1. 选择**创建配方**。

1. 创建 Image Builder 基础架构配置。

   1. 在 “**保存的资源**” 下，选择**基础架构配置**。

   1. 选择**创建基础设施配置**。

   1. 在**创建基础架构配置**页面上，输入以下内容：    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/res/latest/ug/prerequisites.html)

   1. 选择**创建基础设施配置**。

1. 创建新的 EC2 Image Builder 管道：

   1. 转到**图像管道**，然后选择**创建图像管道**。

   1. 在**指定管道详细信息**页面上，输入以下内容并选择**下一步**：
      + 管道名称和可选描述
      + 对于**生成计划**，请设置计划，或者如果您想**手动启动 AMI 烘焙流程，请选择手**动。

   1. 在 **“选择食谱**” 页面上，选择 “**使用现有食谱**”，然后输入之前创建的**食谱名称**。选择**下一步**。

   1. 在 “**定义图像处理**” 页面上，选择默认工作流程，然后选择 “**下一步**”。

   1. 在**定义基础架构配置**页面上，选择**使用现有基础设施配置**，然后输入先前创建的基础架构配置的名称。选择**下一步**。

   1. 在 “**定义分发设置**” 页面上，请考虑以下内容进行选择：
      + 输出映像必须与已部署的 RES 环境位于同一区域，这样 RES 才能从中正确启动基础设施主机实例。使用服务默认值，将在使用 EC2 Image Builder 服务的区域创建输出映像。
      + 如果要在多个区域部署 RES，可以选择**创建新的分布设置**并在那里添加更多区域。

   1. 查看您的选择并选择**创建管道**。

1. 运行 EC2 Image Builder 管道：

   1. 在**图像管道中**，找到并选择您创建的管道。

   1. 选择 “**操作**”，然后选择 “**运行管道**”。

      该管道可能需要大约 45 分钟到一个小时才能创建 AMI 映像。

1. 记下生成的 AMI 的 AMI ID，并将其用作中 InfrastructureHost AMI 参数的输入[步骤 1：启动产品](launch-the-product.md)。

### 设置 VPC 终端节点
<a name="private-vpc-endpoints"></a>

 要部署 RES 并启动虚拟桌面， AWS 服务 需要访问您的私有子网。您必须设置 VPC 终端节点以提供所需的访问权限，并且需要对每个终端节点重复这些步骤。

1. 如果之前未配置过终端节点，请按照[AWS 服务 使用接口 VPC 终端节点访问](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html)中提供的说明进行操作。

1. 在两个可用区中选择一个私有子网。

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/res/latest/ug/prerequisites.html)

### 在没有 VPC 终端节点的情况下连接到服务
<a name="connect-services-without-endpoints"></a>

要与不支持 VPC 终端节点的服务集成，您可以在 VPC 的公有子网中设置代理服务器。使用 Identity Center 作为 AWS 身份提供商，按照以下步骤创建具有研究与工程工作室部署所需的最低访问权限的代理服务器。

1. 在您将用于 RES 部署的 VPC 的公有子网中启动一个 Linux 实例。
   + Linux 系列 — 亚马逊 Linux 2 或亚马逊 Linux 3
   + 架构 — x86
   + 实例类型 — t2.micro 或更高版本
   + 安全组 — 从 0.0.0.0/0 开始的端口 3128 上的 TCP

1. 连接到实例以设置代理服务器。

   1. 打开 http 连接。

   1. 允许从所有相关子网连接到以下域：
      + .amazonaws.com（适用于通用服务） AWS 
      + .amazoncognito.com（适用于亚马逊 Cognito）
      + .awsapps.com（用于身份中心）
      + .signin.aws（用于身份中心）
      + 。 amazonaws-us-gov.com（适用于 Gov Cloud）

   1. 拒绝所有其他连接。

   1. 激活并启动代理服务器。

   1. 记下代理服务器监听的端口。

1. 配置您的路由表以允许访问代理服务器。

   1. 转到您的 VPC 控制台，确定您将用于基础设施主机和 VDI 主机的子网的路由表。

   1. 编辑路由表以允许所有传入连接转到在前面步骤中创建的代理服务器实例。

   1. 对要用于 Inf VDIs rastructure/ 的所有子网（无法访问互联网）的路由表执行此操作。

1. 修改代理服务器 EC2 实例的安全组，并确保它允许在代理服务器侦听的端口上进行入站 TCP 连接。

### 设置私有 VPC 部署参数
<a name="vpc-deployment-parameters"></a>

在中[步骤 1：启动产品](launch-the-product.md)，您需要在 CloudFormation 模板中输入某些参数。请务必按照说明设置以下参数，以便成功部署到您刚刚配置的私有 VPC 中。


| 参数 | Input | 
| --- |--- |
| InfrastructureHostAMI | 使用中创建的基础设施 AMI ID [准备 Amazon 机器映像 (AMIs)](#prep-ami)。 | 
| IsLoadBalancerInternetFacing | 设置为 false。 | 
| LoadBalancerSubnets | 选择无法访问互联网的私有子网。 | 
| InfrastructureHostSubnets | 选择无法访问互联网的私有子网。 | 
| VdiSubnets | 选择没有互联网访问权限的私有子网。 | 
|  ClientIP  | 您可以选择您的 VPC CIDR 以允许所有 VPC IP 地址进行访问。 | 
|  HttpProxy  | 示例：http://10.1.2.3:123 | 
|  HttpsProxy  | 示例：http://10.1.2.3:123 | 
|  NoProxy  | 示例： <pre>127.0.0.1,169.254.169.254,169.254.170.2,localhost,us-east-1.res,us-east-1.vpce.amazonaws.com,us-east-1.elb.amazonaws.com,s3.us-east-1.amazonaws.com,s3.dualstack.us-east-1.amazonaws.com,ec2.us-east-1.amazonaws.com,ec2.us-east-1.api.aws,ec2messages.us-east-1.amazonaws.com,ssm.us-east-1.amazonaws.com,ssmmessages.us-east-1.amazonaws.com,kms.us-east-1.amazonaws.com,secretsmanager.us-east-1.amazonaws.com,sqs.us-east-1.amazonaws.com,elasticloadbalancing.us-east-1.amazonaws.com,sns.us-east-1.amazonaws.com,logs.us-east-1.amazonaws.com,logs.us-east-1.api.aws,elasticfilesystem.us-east-1.amazonaws.com,fsx.us-east-1.amazonaws.com,dynamodb.us-east-1.amazonaws.com,api.ecr.us-east-1.amazonaws.com,.dkr.ecr.us-east-1.amazonaws.com,kinesis.us-east-1.amazonaws.com,.data-kinesis.us-east-1.amazonaws.com,.control-kinesis.us-east-1.amazonaws.com,events.us-east-1.amazonaws.com,cloudformation.us-east-1.amazonaws.com,sts.us-east-1.amazonaws.com,application-autoscaling.us-east-1.amazonaws.com,monitoring.us-east-1.amazonaws.com,ecs.us-east-1.amazonaws.com,.execute-api.us-east-1.amazonaws.com </pre>  | 