4

我有一个在 AWS Fargate 上运行的 Java 应用程序。出于安全原因,Regions.getCurrentRegion() 从 AWS Fargate 中返回 null

是否有另一种方法来确定 fargate 容器在哪个区域运行?

4

2 回答 2

10

在 Fargate 中,当前区域可通过AWS_REGION环境变量获得。

于 2018-08-16T23:03:42.840 回答
1

如果您使用的是 AWS java sdk,您可以链接 AwsRegionProvider和抽象出围绕区域检索的逻辑。如果您使用凭据配置文件,或者环境变量发生更改,或者它最终在TaskMetadata中可用,您可以链接区域提供程序,以便您可以在任何可用的地方获取区域。这还允许您重用可能在不同类型的 AWS 基础设施上运行的代码。

您将构造一个AwsRegionProviderChain并传入每个相关的实例,例如AwsRegionProvider等。AwsEnvVarOverrideRegionProviderAwsProfileRegionProvider

于 2020-02-12T22:12:48.597 回答