AWS 区域 - AWS 软件开发工具包和工具

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

AWS 区域

AWS 区域 是使用时需要理解的重要概念 AWS 服务。

使用 AWS 区域,您可以访问 AWS 服务 实际居住在特定地理区域的内容。这可用于保证您的数据和应用程序接近您和用户访问它们的位置。区域提供容错能力、稳定性和弹性,还可以减少延迟。使用区域,您能够创建保持可用且不受区域中断影响的冗余资源。

大多数 AWS 服务 请求都与特定的地理区域相关联。除非您明确使用 AWS 服务提供的复制功能,否则在一个区域中创建的资源在任何其他区域中都不存在。例如,Amazon S3 和 Amazon EC2 支持跨区域复制。某些服务(例如 IAM)没有区域资源。

AWS 一般参考 包含有关以下内容的信息:

  • 要了解区域和端点之间的关系,并查看现有区域端点的列表,请参阅AWS 服务端点

  • 要查看所有支持的区域和每个区域的终端节点的当前列表 AWS 服务,请参阅服务终端节点和配额

创建服务客户端

为了以编程方式进行访问 AWS 服务,SDK 为每个开发工具包使用一个客户端类/对象。 AWS 服务例如,如果您的应用程序需要访问 Amazon EC2,则您的应用程序将创建一个 Amazon EC2 客户端对象来与该服务交互。

如果没有为客户端明确指定区域,则客户端将默认使用通过以下region设置项目所设置的区域。但是,可以为任何单个客户端对象显式设置客户端的活动区域。以这种方式设置区域优先于该特定服务客户端的任何全局设置。备用区域是在该客户端的实例化过程中指定的,该区域特定于您的 SDK(请查看您的特定 SDK 指南或 SDK 的代码库)。

使用以下方法配置此功能:

region-共享 AWS config文件设置
AWS_REGION - 环境变量
aws.region-JVM 系统属性:仅限 Java/Kotlin

指定 AWS 请求 AWS 区域 使用的默认值。此区域用于未提供特定区域的 SDK 服务请求。

默认值:无。必须明确指定此值。

有效值:

  • 可用于所选服务的任何区域代码,有关列表,请参阅 AWS 一般参考中的 AWS 服务端点。例如,该值将终端节点us-east-1设置为 AWS 区域 美国东部(弗吉尼亚北部)。

  • aws-global为除区域终端节点之外还支持单独的全局终端节点的服务指定全局终端节点,例如 AWS Security Token Service (AWS STS) 和亚马逊简单存储服务 (Amazon S3) Service。

config 文件中设置此值的示例:

[default] region = us-west-2

Linux/macOS 通过命令行设置环境变量的示例:

export AWS_REGION=us-west-2

Windows 通过命令行设置环境变量的示例:

setx AWS_REGION us-west-2

大多数 SDK 都有“配置”对象,可用于在应用程序代码中设置默认区域。有关详细信息,请参阅您的特定 AWS SDK 开发者指南。

与 AWS SDK 的兼容性

以下 SDK 支持本主题中所述的功能和设置。所有部分例外情况均已注明。 AWS SDK for Java 和 AWS SDK for Kotlin 唯一支持任何 JVM 系统属性设置。

SDK 支持 备注或更多信息
AWS CLI v2 支持 AWS CLI v2 在中的任何值AWS_REGION之前使用中的任何值AWS_DEFAULT_REGION(两个变量都被选中)。
AWS CLI v1 支持 AWS CLI v1 使用AWS_DEFAULT_REGION为此目的命名的环境变量。
适用于 C++ 的 SDK 支持
适用于 Go V2 (1.x) 的 SDK 支持
适用于 Go 1.x(V1)的 SDK 支持 要使用共享 config 文件设置,必须开启从配置文件加载的功能;请参阅会话
适用于 Java 2.x 的 SDK 支持
适用于 Java 1.x 的 SDK 支持
适用于 JavaScript 3.x 的软件开发工具包 支持
适用于 JavaScript 2.x 的 SDK 支持
适用于 Kotlin 的 SDK 支持
适用于 .NET 3.x 的 SDK 支持
适用于 PHP 3.x 的 SDK 支持
适用于 Python (Boto3) 的 SDK 支持 此 SDK 使用名为 AWS_DEFAULT_REGION 的环境变量来实现此目的。
适用于 Ruby 3.x 的 SDK 支持
适用于 Rust 的 SDK 支持
用于 PowerShell 支持