我有一个在AWS Fargate上运行的Java应用程序。出于安全原因,Regions.getCurrentRegion()从AWS Fargate内部返回null
是否有另一种方法可以确定Fargate容器在哪个区域运行?
答案 0 :(得分:4)
在Fargate中,当前区域可通过AWS_REGION
环境变量获得。
答案 1 :(得分:1)
如果您使用的是AWS Java sdk,则可以链接AwsRegionProvider
并抽象出围绕区域检索的逻辑。如果您使用凭据配置文件,或者环境变量更改,或者最终在TaskMetadata中可用,则可以链接区域提供程序,以便在可用的任何地方获取区域。这也使您可以重用可能在不同类型的AWS基础架构上运行的代码。
您将构造一个AwsRegionProviderChain
并传入每个相关AwsRegionProvider
的实例,例如AwsEnvVarOverrideRegionProvider
,AwsProfileRegionProvider
等。