AWS 区域 - AWS SDKs和工具

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

AWS 区域

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

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

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

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

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

  • 要查看当前各 AWS 服务所有支持的区域和端点列表,请参阅服务端点和限额

创建服务客户端

要以编程方式访问 AWS 服务,SDKs请为每个使用客户端类/对象。 AWS 服务例如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

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

与之兼容 AWS SDKs

以下内容SDKs支持本主题中描述的功能和设置。所有部分例外情况均已注明。 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为此目的命名的环境变量。
SDK对于 C++
SDK适用于 Go V2 (1.x)
SDK适用于 Go 1.x (V1) 要使用共享 config 文件设置,必须开启从配置文件加载的功能;请参阅会话
SDK适用于 Java 2.x
SDK适用于 Java 1.x
SDK适用于 JavaScript 3.x
SDK适用于 JavaScript 2.x
SDK对于 Kotlin 来说
SDK对于。 NET3.x
SDK适用于 PHP 3.x
SDK适用于 Python (Boto3) SDK它使用为此目的命AWS_DEFAULT_REGION名的环境变量。
SDK适用于 Ruby 3.x
SDK对于 Rust
SDK为斯威夫特
用于 PowerShell