Project

General

Profile

Feature #20983

Updated by Tom Clegg about 1 year ago

https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstanceTypeOfferings.html 

 https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/using-ppslong.html 

 Write a tool that gets all the instance type info from AWS (RAM/CPU spec, included disk, reserved price), filters the list with the options listed below, and print out (or update) the InstanceTypes section of the Arvados config file. 

 It looks like the price list has the relevant info, e.g. 

 In the "products" section: 

 "sku" : "QUMEF4UK3NPT4MN3" 
 "productFamily" : "Compute Instance", 
 "vcpu" : "4" 
 "memory" : "7.5 GiB" 
 "storage" : "2 x 40 SSD" (I don't know how multiple instance disks are presented to the operating system or if we support this in our current compute image) 
 "marketoption" : "OnDemand", 


 In the "terms" "OnDemand" section: 

 "sku" : "QUMEF4UK3NPT4MN3" 
               "unit" : "Hrs", 
               "pricePerUnit" : { 
                 "USD" : "0.3760000000" 
               }, 


 Include a flag to indicate if ebs autoscale is in use.    If EBS autoscale is enabled the disk section should specify 5 TiB of included storage. 

 If not using EBS autoscale, flag to set default # of GiB of attached storage for "EBS Only" volumes. 

 Include flag to specify one or more availability zones and get the instance types for those availability zones. 

 Include flags to specify minimum cores, minimum RAM, and maximum price. 

 This tool should be written in Go and added as a sub-command of arvados-server. arvados-client. 



 Using DescribeInstanceTypes, use these fields 

 instanceStorageInfo,    memoryInfo,    vCpuInfo  

 https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstanceTypes.html 

Back