我有一个在AWS Fargate上运行的Java应用程序。 EC2MetadataUtils.getAvailabilityZone()从AWS Fargate内部返回null

是否有其他方法可以确定Fargate容器在哪个AZ中运行?我也有容器的子网ID

最佳答案

我对Java SDK不熟悉,但是它可能只是awscli本身的包装。因此,这是一种稍微抽象,独立于SDK的方法。您应该能够轻松适应任何SDK。


使用metadata endpoint确定附加到相关容器的ENI的专用ip。
describe-network-interfaces,并使用从元数据服务检索到的IP按私有IP进行过滤。该查询的结果应包括附加到您的任务的ENI,并且在该返回的对象中,它将列出运行ENI的可用性区域。

10-06 04:56