根据 CfnCluster 的配置文件估算 AWS 成本

Estimate AWS costs based on a configuration file for CfnCluster

我正在尝试从使用 AWS 的人那里获得一些反馈,关于我们是否可以从 AWS 上配置的 HPC 集群中粗略估计如下

[aws]
aws_region_name = us-east-2

[cluster default]
key_name = xxxx
vpc_settings = vpc-xxxxx
compute_instance_type = c4.8xlarge
master_instance_type = c4.large
initial_queue_size = 4
max_queue_size = 20
maintain_initial_size = true
scheduler = sge
cluster_type = spot
spot_price = 1.60
placement_group = DYNAMIC
master_root_volume_size = 20
base_os = ubuntu1404
ebs_settings = custom

[ebs custom]
volume_type = io1
volume_iops = 2000
volume_size = 2000
encrypted = true

[vpc vpc-xxx]
vpc_id = vpc-xxx
master_subnet_id = subnet-xxxx

[global]
cluster_template = default
update_check = true
sanity_check = true

[aliases]
ssh = ssh {CFN_USER}@{MASTER_IP} {ARGS}

根据作业在集群上 运行 的时长,您认为是否可以大致了解它在 AWS 上的成本是多少?里面涉及很多东西,EC2成本,存储成本等

鉴于这些将是现场实例(计算)而不是按需实例,我们如何才能得到估计

谢谢你的想法

首先,我有一个好消息要告诉你。您所在地区的按需 c4.8xlarge 实例目前的价格为每小时 1.591 美元。这也是您可以为 c4.8xlarge 现货实例支付的最高价格。此外,CfnCluster 默认使用当前现货市场价格,因此只需从您的配置文件中删除此行即可。

至于你的实际问题:很复杂。
您当然可以轻松计算出最高价格。您的计算实例每小时最多花费 20*1.591=31.82 美元。但是,实际价格会低很多。通过使用 Spot 实例,您可以很容易地期望价格是您为按需实例支付的一半。此外,您的集群可能不会总是 运行 满负荷。

您可以在 https://aws.amazon.com/ec2/spot/pricing/ 查看当前现货价格。

您的共享 EBS 卷的费用约为每月 1000*0.125=125 美元 ,如 https://aws.amazon.com/ebs/pricing/

所示

总而言之,您可能应该假设为 Spot 实例支付约 20% 到 40% 的按需价格,具体取决于您希望估算成本的保守程度。基于此,您可以估算您将为特定的集群使用小时数支付多少费用。当然,你还需要估计平均有多少个节点运行ning。根据您当前的配置,这将在 4 到 20 之间变化。

您可以使用 AWS 计算器估算您的成本。他们有两个版本:

我还建议您从旧的 c4 系列迁移到新的 c5。它们是更好的机器而且更便宜。 c4.8x 的等价物是 c5.9x.

这个计算器的缺点是好像不包括现货机的估算。为此,您可以按照 Thomas 的建议进行计算。