设置AWS临时证书并AWS 区域用于开发 - AWS SDK for Java1.x

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

设置AWS临时证书并AWS 区域用于开发

要使用连接到任何支持的服务AWS SDK for Java,您必须提供AWS临时证书。SAWS DK 和 CLI 使用提供程序链在很多不同位置查找AWS临时凭证,包括系统/用户环境变量以及本地AWS配置文件。

本主题提供有关使用设置用于本地应用程序开发的AWS临时证书的基本信息AWS SDK for Java。如果您需要设置用于 EC2 实例的凭证或如果您使用 Eclipse IDE 进行开发,请改为参考以下主题:

配置临时凭证

您可以通过多种方式为AWS SDK for Java的配置临时证书,但以下是推荐的方法:

  • 在本地系统的AWS证书配置文件中设置临时证书,该文件位于:

    • ~/.aws/credentials (在 Linux、macOS 或 Unix) 上

    • Windows 上的 C:\Users\USERNAME\.aws\credentials

    有关为 SDK 设置临时证书如何获取临时证书的说明,请参阅本指南中的。

  • 设置AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY、和AWS_SESSION_TOKEN环境变量。

    要在 Linux、macOS 或 Unix 上设置这些变量,请使用 :

    export AWS_ACCESS_KEY_ID=your_access_key_id export AWS_SECRET_ACCESS_KEY=your_secret_access_key export AWS_SESSION_TOKEN=your_session_token

    要在 Windows 上设置这些变量,请使用 :

    set AWS_ACCESS_KEY_ID=your_access_key_id set AWS_SECRET_ACCESS_KEY=your_secret_access_key set AWS_SESSION_TOKEN=your_session_token
  • 对于 EC2 实例,请指定一个 IAM 角色,然后向该角色授予对 EC2 实例的访问权。有关其工作原理的Amazon EC2详细讨论,请参阅 Linux 实例Amazon EC2用户指南中的 IAM 角色

使用其中一种方法设置AWS临时证书后,将使用默认凭证提供者链自动加载这些证书。AWS SDK for Java有关在 Java 应用程序中使用AWS凭证的更多信息,请参阅使用AWS凭证

刷新 IMDS 凭证

AWS SDK for Java 支持选择每 1 分钟在后台刷新 IMDS 凭证一次,无论凭证到期时间如何。这使您可以更频繁地刷新凭证,并减少无法到达 IMDS 影响感知AWS可用性的可能性。

1. // Refresh credentials using a background thread, automatically every minute. This will log an error if IMDS is down during 2. // a refresh, but your service calls will continue using the cached credentials until the credentials are refreshed 3. // again one minute later. 4. 5. InstanceProfileCredentialsProvider credentials = 6. InstanceProfileCredentialsProvider.createAsyncRefreshingProvider(true); 7. 8. AmazonS3Client.builder() 9. .withCredentials(credentials) 10. .build(); 11. 12. // This is new: When you are done with the credentials provider, you must close it to release the background thread. 13. credentials.close();

设置AWS 区域

您应该设置一个默认值AWS 区域,该默认值将用于通过访问AWS服务AWS SDK for Java。要获得最佳网络性能,请选择在地理位置上靠近您(或您的客户)的区域。有关每项服务的区域列表,请参阅Amazon Web Services一般参考中的区域和终端节点

注意

如果您未选择区域,则默认情况下将使用 us-east-1。

您可以使用类似的技术来设置凭据来设置默认AWS区域:

  • 在本地系统的AWS配置文件AWS 区域中设置,该文件位于:

    • ~/.aws/con

    • Windows 上的 C:\Users\USERNAME\ .aws\ 配置

    此文件应包含以下格式的行:

    +

    [default] region = your_aws_region

    +

    用你想要的AWS 区域(例如,“us-east-1”)代替你的 _aws_region

  • 设置 AWS_REGION 环境变量。

    在 Linux

    export AWS_REGION=your_aws_region

    在 Windows 上,请使用

    set AWS_REGION=your_aws_region

    其中,您的 aws_re gion 是所需的AWS 区域名称。