我们如何确定我们是在EC2还是Fargate中运行?

时间:2018-08-22 18:32:21

标签: java amazon-ec2 aws-sdk aws-fargate

我有一个Java服务,可在AWS EC2和Fargate上运行任务。有没有一种方法可以通过使用AWS库或其他方式来确定我们是在EC2还是Fargate中以编程方式运行?

3 个答案:

答案 0 :(得分:0)

您似乎可以使用AWSECSClient类中的describeTasks方法来执行此操作。启动类型将为EC2或Fargate。

您可以将其与metadata endpoint结合使用来对自己的taskArn进行自省,然后将ARN与describeTasks的响应进行匹配,以确定启动类型。

答案 1 :(得分:0)

答案 2 :(得分:0)

环境变量是AWS_EXECUTION_ENV。对于EC2,其值为AWS_ECS_EC2;对于Fargate,其值为AWS_ECS_FARGATE。 Fargate平台> = 1.3.0

可用