我有一个在 AWS Fargate 上运行的 Java 应用程序。EC2MetadataUtils.getAvailabilityZone() 从 AWS Fargate 中返回 null
是否有另一种方法来确定 Fargate 容器在哪个 AZ 中运行?我也有容器的子网 ID
我有一个在 AWS Fargate 上运行的 Java 应用程序。EC2MetadataUtils.getAvailabilityZone() 从 AWS Fargate 中返回 null
是否有另一种方法来确定 Fargate 容器在哪个 AZ 中运行?我也有容器的子网 ID
我不熟悉 Java SDK,但它可能只是 awscli 本身的包装器。所以这里有一个稍微抽象的、独立于 SDK 的方法。您应该能够轻松适应任何 SDK。
使用元数据端点来确定附加到相关容器的 ENI 的私有 ip。
describe-network-interfaces并使用您从元数据服务检索到的 ip 按私有 ip 过滤。此查询的结果应包括附加到您的任务的 ENI,并且在该返回的对象中,它将列出 ENI 正在运行的可用区。