适用于成本分析的AWS Batch标签EBS量

时间:2018-07-23 22:30:25

标签: amazon-web-services aws-batch

我目前正在开发一个具有CloudFormation的AWS Batch处理系统,需要对CFT的总成本进行分析,包括EC2实例和EBS卷中的任何IOPS。我正在基于实例和批处理使用的任何资源上的标记执行此分析。但是,我的卷未使用与实例标记相同的标记。批处理是否可以在创建时自动标记这些卷以进行成本分析?以下是来自CFT的JSON Blob,用于创建计算实例。

"ComputeSpot": {
    "Type": "AWS::Batch::ComputeEnvironment",
    "Properties": {
    "Type": "Managed",
    "ServiceRole": {
        "Ref": "BatchServiceRole"
    },
    "ComputeResources": {
        "MaxvCpus": 500,
        "DesiredvCpus": 0,
        "MinvCpus": 0,
        "BidPercentage" : 50,
        "SpotIamFleetRole": { "Ref": "SpotIamFleetRole" },
        "SecurityGroupIds": [
        {
            "Ref": "SecurityGroup"
        }
        ],
        "Type": "SPOT",
        "Subnets": [
            { "Fn::Join": [",", {"Ref": "Subnets"}]}
        ],
        "ImageId": {
        "Ref": "AMI"
        },
        "InstanceRole": {
        "Ref": "IamInstanceProfile"
        },
        "InstanceTypes": [
        "c3","c5","m5"
        ],
        "Ec2KeyPair": {
        "Ref": "Ec2KeyPair"
        },
        "Tags": {
        "Project": { "Ref": "ProjectTag" },
        "CostRun": { "Ref": "CostRunTag" },
        "Name": {"Fn::Join": ["-", [ { "Ref": "AWS::StackName" }, "ComputeSpot" ] ] }
        }
    },
    "State": "ENABLED"
    },
    "Metadata": {
    "AWS::CloudFormation::Designer": {
        "id": "ff02a948-912b-4906-9a71-21774f459e87"
    }
    }
}

1 个答案:

答案 0 :(得分:0)

您将必须利用IAM来实现这一目标。如您所知,您正在执行的任何操作,无论是从控制台,CLI或CF脚本,还是从内部调用的所有AWS API(如CreateInstance或CreateVolume等)。这些API调用已在Cloudwatch中记录。现在您要做的就是以下操作:

  • 配置新的IAM来管理标记资源
  • 在CloudWatch中创建新规则以调用具有事件内容的新Lambda AutoTag
  • 在此lambda中,当您收到事件对象时,您会在其中找到由CloudFormation Stack创建的所有资源ID,并使用您要查找的内容对它们进行标记。

有关详细步骤,请遵循此URL中的步骤: AWS Solution Page

如有需要,我可以进一步解释,请告诉我