【发布时间】:2020-02-13 06:12:48
【问题描述】:
我有一个在 AWS Fargate 上运行的 Java 应用程序。出于安全原因,Regions.getCurrentRegion() 从 AWS Fargate 中返回 null
是否有其他方法可以确定 fargate 容器在哪个区域运行?
【问题讨论】:
标签: java amazon-web-services aws-fargate
我有一个在 AWS Fargate 上运行的 Java 应用程序。出于安全原因,Regions.getCurrentRegion() 从 AWS Fargate 中返回 null
是否有其他方法可以确定 fargate 容器在哪个区域运行?
【问题讨论】:
标签: java amazon-web-services aws-fargate
在 Fargate 中,当前区域可通过 AWS_REGION 环境变量获得。
【讨论】:
如果您使用的是 AWS java sdk,您可以链接 AwsRegionProvider 并抽象出围绕区域检索的逻辑。如果您使用凭据配置文件,或者环境变量发生更改,或者它最终在TaskMetadata 中可用,您可以链接区域提供程序,以便您可以在任何可用的地方获取区域。这还允许您重用可能在不同类型的 AWS 基础设施上运行的代码。
您将构造一个AwsRegionProviderChain 并传入每个相关AwsRegionProvider 的实例,例如AwsEnvVarOverrideRegionProvider、AwsProfileRegionProvider 等。
【讨论】: