mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-09-21 13:50:20 +08:00
Lazy load AWS EC2 data
This commit is contained in:
committed by
Dannon Baker
parent
d8d674cfac
commit
779d3bb4f3
@@ -1,4 +1,4 @@
|
||||
import ec2 from "./ec2.json";
|
||||
import { ec2Instances } from "./awsEc2ReferenceData.js";
|
||||
import flushPromises from "flush-promises";
|
||||
import { getLocalVue } from "tests/jest/helpers";
|
||||
import AwsEstimate from "./AwsEstimate";
|
||||
@@ -14,6 +14,7 @@ describe("JobMetrics/AwsEstimate.vue", () => {
|
||||
jobRuntimeInSeconds: 0,
|
||||
coresAllocated: -999,
|
||||
memoryAllocatedInMebibyte: -999,
|
||||
ec2Instances,
|
||||
},
|
||||
localVue,
|
||||
});
|
||||
@@ -33,6 +34,7 @@ describe("JobMetrics/AwsEstimate.vue", () => {
|
||||
jobRuntimeInSeconds: Number(seconds),
|
||||
coresAllocated: Number(cores),
|
||||
memoryAllocatedInMebibyte: Number(memory),
|
||||
ec2Instances,
|
||||
},
|
||||
});
|
||||
|
||||
@@ -41,7 +43,7 @@ describe("JobMetrics/AwsEstimate.vue", () => {
|
||||
if (wrapper.find("#aws-estimate").exists()) {
|
||||
return {
|
||||
cost: wrapper.find("#aws-cost").text(),
|
||||
vcpus: wrapper.find("#aws-vcpus").text(),
|
||||
vCpuCount: wrapper.find("#aws-vcpus").text(),
|
||||
cpu: wrapper.find("#aws-cpu").text(),
|
||||
mem: wrapper.find("#aws-mem").text(),
|
||||
name: wrapper.find("#aws-name").text(),
|
||||
@@ -52,10 +54,10 @@ describe("JobMetrics/AwsEstimate.vue", () => {
|
||||
};
|
||||
|
||||
const assertAwsInstance = (estimates) => {
|
||||
const instance = ec2.find((instance) => estimates.name === instance.name);
|
||||
const instance = ec2Instances.find((instance) => estimates.name === instance.name);
|
||||
expect(estimates.mem).toBe(instance.mem.toString());
|
||||
expect(estimates.vcpus).toBe(instance.vcpus.toString());
|
||||
expect(estimates.cpu).toBe(instance.cpu.join(", "));
|
||||
expect(estimates.vCpuCount).toBe(instance.vCpuCount.toString());
|
||||
expect(estimates.cpu).toBe(instance.cpu.map(({ cpuModel }) => cpuModel).join(", "));
|
||||
};
|
||||
|
||||
const estimates_small = await deriveRenderedAwsEstimate("1.0000000", "9.0000000", "2048.0000000");
|
||||
|
||||
@@ -1,11 +1,23 @@
|
||||
<script setup lang="ts">
|
||||
import { computed } from "vue";
|
||||
import ec2 from "./ec2.json";
|
||||
|
||||
export interface AwsEstimateProps {
|
||||
jobRuntimeInSeconds: number;
|
||||
coresAllocated: number;
|
||||
memoryAllocatedInMebibyte?: number;
|
||||
ec2Instances: {
|
||||
name: string;
|
||||
mem: number;
|
||||
price: number;
|
||||
priceUnit: string;
|
||||
vCpuCount: number;
|
||||
cpu: {
|
||||
cpuModel: string;
|
||||
tdp: number;
|
||||
coreCount: number;
|
||||
source: string;
|
||||
}[];
|
||||
}[];
|
||||
}
|
||||
|
||||
const props = defineProps<AwsEstimateProps>();
|
||||
@@ -20,8 +32,8 @@ const computedAwsEstimate = computed(() => {
|
||||
const adjustedMemoryAllocated = memoryAllocatedInMebibyte ? memoryAllocatedInMebibyte / 1024 : 0.5;
|
||||
|
||||
// Estimate EC2 instance. Data is already sorted
|
||||
const ec2Instance = ec2.find((ec) => {
|
||||
return ec.mem >= adjustedMemoryAllocated && ec.vcpus >= coresAllocated;
|
||||
const ec2Instance = props.ec2Instances.find((ec) => {
|
||||
return ec.mem >= adjustedMemoryAllocated && ec.vCpuCount >= coresAllocated;
|
||||
});
|
||||
|
||||
if (!ec2Instance) {
|
||||
@@ -30,7 +42,7 @@ const computedAwsEstimate = computed(() => {
|
||||
|
||||
return {
|
||||
seconds: jobRuntimeInSeconds,
|
||||
vcpus: coresAllocated,
|
||||
requestedVCpuCount: coresAllocated,
|
||||
memory: adjustedMemoryAllocated,
|
||||
price: ((jobRuntimeInSeconds * ec2Instance.price) / 3600).toFixed(2),
|
||||
instance: ec2Instance,
|
||||
@@ -46,13 +58,14 @@ const computedAwsEstimate = computed(() => {
|
||||
|
||||
<br />
|
||||
|
||||
This job requested {{ computedAwsEstimate.vcpus }} core(s) and {{ computedAwsEstimate.memory.toFixed(3) }} GiB
|
||||
of memory. Given this information, the smallest EC2 machine we could find is:
|
||||
This job requested {{ computedAwsEstimate.requestedVCpuCount }} core(s) and
|
||||
{{ computedAwsEstimate.memory.toFixed(3) }} GiB of memory. Given this information, the smallest EC2 machine we
|
||||
could find is:
|
||||
|
||||
<span id="aws-name">{{ computedAwsEstimate.instance.name }}</span>
|
||||
(<span id="aws-mem">{{ computedAwsEstimate.instance.mem }}</span> GB /
|
||||
<span id="aws-vcpus">{{ computedAwsEstimate.instance.vcpus }}</span> vCPUs /
|
||||
<span id="aws-cpu">{{ computedAwsEstimate.instance.cpu.join(", ") }}</span
|
||||
<span id="aws-vcpus">{{ computedAwsEstimate.instance.vCpuCount }}</span> vCPUs /
|
||||
<span id="aws-cpu">{{ computedAwsEstimate.instance.cpu.map(({ cpuModel }) => cpuModel).join(", ") }}</span
|
||||
>). This instance is priced at {{ computedAwsEstimate.instance.price }} USD/hour.
|
||||
|
||||
<br />
|
||||
|
||||
@@ -1,32 +0,0 @@
|
||||
[
|
||||
{
|
||||
"cpuModel": "Intel Xeon E5-2670 v2 (Ivy Bridge/Sandy Bridge)",
|
||||
"tdp": 115,
|
||||
"coreCount": 10,
|
||||
"source": "https://www.techpowerup.com/cpu-specs/xeon-e5-2670-v2.c1665"
|
||||
},
|
||||
{
|
||||
"cpuModel": "Intel Xeon E5-2676 v3 (Haswell)",
|
||||
"tdp": 120,
|
||||
"coreCount": 12,
|
||||
"source": "https://www.techpowerup.com/cpu-specs/xeon-e5-2676-v3.c2885"
|
||||
},
|
||||
{
|
||||
"cpuModel": "Intel Xeon E5-2686 v4 (Broadwell)",
|
||||
"tdp": 145,
|
||||
"coreCount": 18,
|
||||
"source": "https://en.wikichip.org/wiki/intel/xeon_e5/e5-2686_v4"
|
||||
},
|
||||
{
|
||||
"cpuModel": "Intel Xeon 8259CL (Cascade Lake)",
|
||||
"tdp": 210,
|
||||
"coreCount": 24,
|
||||
"source": "https://www.cpubenchmark.net/cpu.php?cpu=Intel+Xeon+Platinum+8259CL+%40+2.50GHz&id=3671"
|
||||
},
|
||||
{
|
||||
"cpuModel": "Intel Xeon Platinum 8175M",
|
||||
"tdp": 240,
|
||||
"coreCount": 24,
|
||||
"source": "https://en.wikichip.org/wiki/intel/xeon_platinum/8175m"
|
||||
}
|
||||
]
|
||||
@@ -1,10 +1,8 @@
|
||||
<script setup lang="ts">
|
||||
import AwsEstimate from "./AwsEstimate.vue";
|
||||
import CarbonEmissions from "./CarbonEmissions/CarbonEmissions.vue";
|
||||
import cpuReferenceData from "./CarbonEmissions/cpu_tdp.json";
|
||||
import ec2 from "./ec2.json";
|
||||
import { useJobMetricsStore } from "@/stores/jobMetricsStore";
|
||||
import { computed, unref } from "vue";
|
||||
import { computed, ref, unref } from "vue";
|
||||
|
||||
export interface JobMetricsProps {
|
||||
datasetFilesize?: number;
|
||||
@@ -34,9 +32,22 @@ async function getJobMetrics() {
|
||||
}
|
||||
getJobMetrics();
|
||||
|
||||
function getMetricByName(key: string) {
|
||||
return jobMetrics.value.find(({ name }) => name === key)?.raw_value;
|
||||
}
|
||||
const ec2Instances = ref<EC2[]>();
|
||||
import("./awsEc2ReferenceData.js").then((data) => (ec2Instances.value = data.ec2Instances));
|
||||
|
||||
type EC2 = {
|
||||
name: string;
|
||||
mem: number;
|
||||
price: number;
|
||||
priceUnit: string;
|
||||
vCpuCount: number;
|
||||
cpu: {
|
||||
cpuModel: string;
|
||||
tdp: number;
|
||||
coreCount: number;
|
||||
source: string;
|
||||
}[];
|
||||
};
|
||||
|
||||
const jobMetrics = computed(() => {
|
||||
if (props.jobId) {
|
||||
@@ -67,6 +78,10 @@ const pluginsSortedByPluginType = computed(() => {
|
||||
return Object.keys(jobMetricsGroupedByPluginType.value).sort();
|
||||
});
|
||||
|
||||
function getMetricByName(key: string) {
|
||||
return jobMetrics.value.find(({ name }) => name === key)?.raw_value;
|
||||
}
|
||||
|
||||
const jobRuntimeInSeconds = computed(() => {
|
||||
const runtime = getMetricByName("runtime_seconds");
|
||||
|
||||
@@ -94,21 +109,26 @@ const estimatedServerInstance = computed(() => {
|
||||
const memory = unref(memoryAllocatedInMebibyte);
|
||||
const adjustedMemory = memory ? memory / 1024 : 0;
|
||||
|
||||
const serverInstance = ec2.find((ec) => {
|
||||
const ec2 = unref(ec2Instances);
|
||||
if (!ec2) {
|
||||
return;
|
||||
}
|
||||
|
||||
const serverInstance = ec2.find((instance) => {
|
||||
if (adjustedMemory === 0) {
|
||||
// Exclude memory from search criteria
|
||||
return ec2.find((ec) => ec.vcpus >= cores);
|
||||
return instance.vCpuCount >= cores;
|
||||
}
|
||||
|
||||
// Search by all criteria
|
||||
return ec.mem >= adjustedMemory && ec.vcpus >= cores;
|
||||
return instance.mem >= adjustedMemory && instance.vCpuCount >= cores;
|
||||
});
|
||||
|
||||
if (!serverInstance) {
|
||||
return;
|
||||
}
|
||||
|
||||
const cpu = cpuReferenceData.find(({ cpuModel }) => serverInstance.cpu.includes(cpuModel));
|
||||
const cpu = serverInstance.cpu[0];
|
||||
if (!cpu) {
|
||||
return;
|
||||
}
|
||||
@@ -144,7 +164,8 @@ const estimatedServerInstance = computed(() => {
|
||||
</div>
|
||||
|
||||
<AwsEstimate
|
||||
v-if="jobRuntimeInSeconds && coresAllocated"
|
||||
v-if="jobRuntimeInSeconds && coresAllocated && ec2Instances"
|
||||
:ec2-instances="ec2Instances"
|
||||
:should-show-aws-estimate="shouldShowAwsEstimate"
|
||||
:job-runtime-in-seconds="jobRuntimeInSeconds"
|
||||
:cores-allocated="coresAllocated"
|
||||
|
||||
@@ -0,0 +1,345 @@
|
||||
const config1 = [
|
||||
{
|
||||
cpuModel: "Intel Xeon E5-2676 v3 (Haswell)",
|
||||
tdp: 120,
|
||||
coreCount: 12,
|
||||
source: "https://www.techpowerup.com/cpu-specs/xeon-e5-2676-v3.c2885",
|
||||
},
|
||||
{
|
||||
cpuModel: "Intel Xeon E5-2686 v4 (Broadwell)",
|
||||
tdp: 145,
|
||||
coreCount: 18,
|
||||
source: "https://en.wikichip.org/wiki/intel/xeon_e5/e5-2686_v4",
|
||||
},
|
||||
];
|
||||
|
||||
const config2 = [
|
||||
{
|
||||
cpuModel: "Intel Xeon 8259CL (Cascade Lake)",
|
||||
tdp: 210,
|
||||
coreCount: 24,
|
||||
source: "https://www.cpubenchmark.net/cpu.php?cpu=Intel+Xeon+Platinum+8259CL+%40+2.50GHz&id=3671",
|
||||
},
|
||||
{
|
||||
cpuModel: "Intel Xeon Platinum 8175M",
|
||||
tdp: 240,
|
||||
coreCount: 24,
|
||||
source: "https://en.wikichip.org/wiki/intel/xeon_platinum/8175m",
|
||||
},
|
||||
];
|
||||
|
||||
const config3 = [
|
||||
{
|
||||
cpuModel: "Intel Xeon E5-2670 v2 (Ivy Bridge/Sandy Bridge)",
|
||||
tdp: 115,
|
||||
coreCount: 10,
|
||||
source: "https://www.techpowerup.com/cpu-specs/xeon-e5-2670-v2.c1665",
|
||||
},
|
||||
];
|
||||
|
||||
export const ec2Instances = [
|
||||
{
|
||||
name: "t2.nano",
|
||||
mem: 0.5,
|
||||
price: 0.0067,
|
||||
priceUnit: "Hrs",
|
||||
vCpuCount: 1,
|
||||
cpu: config1,
|
||||
},
|
||||
{
|
||||
name: "t3.nano",
|
||||
mem: 0.5,
|
||||
price: 0.006,
|
||||
priceUnit: "Hrs",
|
||||
vCpuCount: 2,
|
||||
cpu: config2,
|
||||
},
|
||||
{
|
||||
name: "t2.micro",
|
||||
mem: 1,
|
||||
price: 0.0134,
|
||||
priceUnit: "Hrs",
|
||||
vCpuCount: 1,
|
||||
cpu: config1,
|
||||
},
|
||||
{
|
||||
name: "t3.micro",
|
||||
mem: 1,
|
||||
price: 0.012,
|
||||
priceUnit: "Hrs",
|
||||
vCpuCount: 2,
|
||||
cpu: config2,
|
||||
},
|
||||
{
|
||||
name: "t2.small",
|
||||
mem: 2,
|
||||
price: 0.0268,
|
||||
priceUnit: "Hrs",
|
||||
vCpuCount: 1,
|
||||
cpu: config1,
|
||||
},
|
||||
{
|
||||
name: "t3.small",
|
||||
mem: 2,
|
||||
price: 0.024,
|
||||
priceUnit: "Hrs",
|
||||
vCpuCount: 2,
|
||||
cpu: config2,
|
||||
},
|
||||
{
|
||||
name: "m3.medium",
|
||||
mem: 3.75,
|
||||
price: 0.079,
|
||||
priceUnit: "Hrs",
|
||||
vCpuCount: 1,
|
||||
cpu: config3,
|
||||
},
|
||||
{
|
||||
name: "t2.medium",
|
||||
mem: 4,
|
||||
price: 0.0536,
|
||||
priceUnit: "Hrs",
|
||||
vCpuCount: 2,
|
||||
cpu: config1,
|
||||
},
|
||||
{
|
||||
name: "t3.medium",
|
||||
mem: 4,
|
||||
price: 0.048,
|
||||
priceUnit: "Hrs",
|
||||
vCpuCount: 2,
|
||||
cpu: config2,
|
||||
},
|
||||
{
|
||||
name: "m3.large",
|
||||
mem: 7.5,
|
||||
price: 0.158,
|
||||
priceUnit: "Hrs",
|
||||
vCpuCount: 2,
|
||||
cpu: config2,
|
||||
},
|
||||
{
|
||||
name: "t2.large",
|
||||
mem: 8,
|
||||
price: 0.1072,
|
||||
priceUnit: "Hrs",
|
||||
vCpuCount: 2,
|
||||
cpu: config1,
|
||||
},
|
||||
{
|
||||
name: "t3.large",
|
||||
mem: 8,
|
||||
price: 0.096,
|
||||
priceUnit: "Hrs",
|
||||
vCpuCount: 2,
|
||||
cpu: config2,
|
||||
},
|
||||
{
|
||||
name: "m5.large",
|
||||
mem: 8,
|
||||
price: 0.115,
|
||||
priceUnit: "Hrs",
|
||||
vCpuCount: 2,
|
||||
cpu: config2,
|
||||
},
|
||||
{
|
||||
name: "m5d.large",
|
||||
mem: 8,
|
||||
price: 0.136,
|
||||
priceUnit: "Hrs",
|
||||
vCpuCount: 2,
|
||||
cpu: config2,
|
||||
},
|
||||
{
|
||||
name: "m4.large",
|
||||
mem: 8,
|
||||
price: 0.12,
|
||||
priceUnit: "Hrs",
|
||||
vCpuCount: 2,
|
||||
cpu: config1,
|
||||
},
|
||||
{
|
||||
name: "m3.xlarge",
|
||||
mem: 15,
|
||||
price: 0.315,
|
||||
priceUnit: "Hrs",
|
||||
vCpuCount: 4,
|
||||
cpu: config2,
|
||||
},
|
||||
{
|
||||
name: "m5.xlarge",
|
||||
mem: 16,
|
||||
price: 0.23,
|
||||
priceUnit: "Hrs",
|
||||
vCpuCount: 4,
|
||||
cpu: config2,
|
||||
},
|
||||
{
|
||||
name: "m4.xlarge",
|
||||
mem: 16,
|
||||
price: 0.24,
|
||||
priceUnit: "Hrs",
|
||||
vCpuCount: 4,
|
||||
cpu: config1,
|
||||
},
|
||||
{
|
||||
name: "t3.xlarge",
|
||||
mem: 16,
|
||||
price: 0.192,
|
||||
priceUnit: "Hrs",
|
||||
vCpuCount: 4,
|
||||
cpu: config2,
|
||||
},
|
||||
{
|
||||
name: "t2.xlarge",
|
||||
mem: 16,
|
||||
price: 0.2144,
|
||||
priceUnit: "Hrs",
|
||||
vCpuCount: 4,
|
||||
cpu: config1,
|
||||
},
|
||||
{
|
||||
name: "m5d.xlarge",
|
||||
mem: 16,
|
||||
price: 0.272,
|
||||
priceUnit: "Hrs",
|
||||
vCpuCount: 4,
|
||||
cpu: config2,
|
||||
},
|
||||
{
|
||||
name: "m3.2xlarge",
|
||||
mem: 30,
|
||||
price: 0.632,
|
||||
priceUnit: "Hrs",
|
||||
vCpuCount: 8,
|
||||
cpu: config2,
|
||||
},
|
||||
{
|
||||
name: "m5d.2xlarge",
|
||||
mem: 32,
|
||||
price: 0.544,
|
||||
priceUnit: "Hrs",
|
||||
vCpuCount: 8,
|
||||
cpu: config2,
|
||||
},
|
||||
{
|
||||
name: "m5.2xlarge",
|
||||
mem: 32,
|
||||
price: 0.46,
|
||||
priceUnit: "Hrs",
|
||||
vCpuCount: 8,
|
||||
cpu: config2,
|
||||
},
|
||||
{
|
||||
name: "m4.2xlarge",
|
||||
mem: 32,
|
||||
price: 0.48,
|
||||
priceUnit: "Hrs",
|
||||
vCpuCount: 8,
|
||||
cpu: config1,
|
||||
},
|
||||
{
|
||||
name: "t3.2xlarge",
|
||||
mem: 32,
|
||||
price: 0.384,
|
||||
priceUnit: "Hrs",
|
||||
vCpuCount: 8,
|
||||
cpu: config2,
|
||||
},
|
||||
{
|
||||
name: "t2.2xlarge",
|
||||
mem: 32,
|
||||
price: 0.4288,
|
||||
priceUnit: "Hrs",
|
||||
vCpuCount: 8,
|
||||
cpu: config1,
|
||||
},
|
||||
{
|
||||
name: "m5d.4xlarge",
|
||||
mem: 64,
|
||||
price: 1.088,
|
||||
priceUnit: "Hrs",
|
||||
vCpuCount: 16,
|
||||
cpu: config2,
|
||||
},
|
||||
{
|
||||
name: "m4.4xlarge",
|
||||
mem: 64,
|
||||
price: 0.96,
|
||||
priceUnit: "Hrs",
|
||||
vCpuCount: 16,
|
||||
cpu: config1,
|
||||
},
|
||||
{
|
||||
name: "m5.4xlarge",
|
||||
mem: 64,
|
||||
price: 0.92,
|
||||
priceUnit: "Hrs",
|
||||
vCpuCount: 16,
|
||||
cpu: config2,
|
||||
},
|
||||
{
|
||||
name: "m4.10xlarge",
|
||||
mem: 160,
|
||||
price: 2.4,
|
||||
priceUnit: "Hrs",
|
||||
vCpuCount: 40,
|
||||
cpu: config1,
|
||||
},
|
||||
{
|
||||
name: "m5d.12xlarge",
|
||||
mem: 192,
|
||||
price: 3.264,
|
||||
priceUnit: "Hrs",
|
||||
vCpuCount: 48,
|
||||
cpu: config2,
|
||||
},
|
||||
{
|
||||
name: "m5.12xlarge",
|
||||
mem: 192,
|
||||
price: 2.76,
|
||||
priceUnit: "Hrs",
|
||||
vCpuCount: 48,
|
||||
cpu: config2,
|
||||
},
|
||||
{
|
||||
name: "m4.16xlarge",
|
||||
mem: 256,
|
||||
price: 3.84,
|
||||
priceUnit: "Hrs",
|
||||
vCpuCount: 64,
|
||||
cpu: config1,
|
||||
},
|
||||
{
|
||||
name: "m5d.metal",
|
||||
mem: 384,
|
||||
price: 6.528,
|
||||
priceUnit: "Hrs",
|
||||
vCpuCount: 96,
|
||||
cpu: config2,
|
||||
},
|
||||
{
|
||||
name: "m5.metal",
|
||||
mem: 384,
|
||||
price: 5.52,
|
||||
priceUnit: "Hrs",
|
||||
vCpuCount: 96,
|
||||
cpu: config2,
|
||||
},
|
||||
{
|
||||
name: "m5d.24xlarge",
|
||||
mem: 384,
|
||||
price: 6.528,
|
||||
priceUnit: "Hrs",
|
||||
vCpuCount: 96,
|
||||
cpu: config2,
|
||||
},
|
||||
{
|
||||
name: "m5.24xlarge",
|
||||
mem: 384,
|
||||
price: 5.52,
|
||||
priceUnit: "Hrs",
|
||||
vCpuCount: 96,
|
||||
cpu: config2,
|
||||
},
|
||||
];
|
||||
@@ -1,419 +0,0 @@
|
||||
[
|
||||
{
|
||||
"name": "t2.nano",
|
||||
"mem": 0.5,
|
||||
"price": 0.0067,
|
||||
"priceunit": "Hrs",
|
||||
"vcpus": 1,
|
||||
"cpu": [
|
||||
"Intel Xeon E5-2676 v3 (Haswell)",
|
||||
"Intel Xeon E5-2686 v4 (Broadwell)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "t3.nano",
|
||||
"mem": 0.5,
|
||||
"price": 0.006,
|
||||
"priceunit": "Hrs",
|
||||
"vcpus": 2,
|
||||
"cpu": [
|
||||
"Intel Xeon 8175M (Skylake)",
|
||||
"Intel Xeon 8259CL (Cascade Lake)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "t2.micro",
|
||||
"mem": 1,
|
||||
"price": 0.0134,
|
||||
"priceunit": "Hrs",
|
||||
"vcpus": 1,
|
||||
"cpu": [
|
||||
"Intel Xeon E5-2676 v3 (Haswell)",
|
||||
"Intel Xeon E5-2686 v4 (Broadwell)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "t3.micro",
|
||||
"mem": 1,
|
||||
"price": 0.012,
|
||||
"priceunit": "Hrs",
|
||||
"vcpus": 2,
|
||||
"cpu": [
|
||||
"Intel Xeon 8175M (Skylake)",
|
||||
"Intel Xeon 8259CL (Cascade Lake)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "t2.small",
|
||||
"mem": 2,
|
||||
"price": 0.0268,
|
||||
"priceunit": "Hrs",
|
||||
"vcpus": 1,
|
||||
"cpu": [
|
||||
"Intel Xeon E5-2676 v3 (Haswell)",
|
||||
"Intel Xeon E5-2686 v4 (Broadwell)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "t3.small",
|
||||
"mem": 2,
|
||||
"price": 0.024,
|
||||
"priceunit": "Hrs",
|
||||
"vcpus": 2,
|
||||
"cpu": [
|
||||
"Intel Xeon 8175M (Skylake)",
|
||||
"Intel Xeon 8259CL (Cascade Lake)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "m3.medium",
|
||||
"mem": 3.75,
|
||||
"price": 0.079,
|
||||
"priceunit": "Hrs",
|
||||
"vcpus": 1,
|
||||
"cpu": [
|
||||
"Intel Xeon E5-2670 v2 (Ivy Bridge/Sandy Bridge)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "t2.medium",
|
||||
"mem": 4,
|
||||
"price": 0.0536,
|
||||
"priceunit": "Hrs",
|
||||
"vcpus": 2,
|
||||
"cpu": [
|
||||
"Intel Xeon E5-2676 v3 (Haswell)",
|
||||
"Intel Xeon E5-2686 v4 (Broadwell)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "t3.medium",
|
||||
"mem": 4,
|
||||
"price": 0.048,
|
||||
"priceunit": "Hrs",
|
||||
"vcpus": 2,
|
||||
"cpu": [
|
||||
"Intel Xeon 8175M (Skylake)",
|
||||
"Intel Xeon 8259CL (Cascade Lake)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "m3.large",
|
||||
"mem": 7.5,
|
||||
"price": 0.158,
|
||||
"priceunit": "Hrs",
|
||||
"vcpus": 2,
|
||||
"cpu": [
|
||||
"Intel Xeon 8175M (Skylake)",
|
||||
"Intel Xeon 8259CL (Cascade Lake)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "t2.large",
|
||||
"mem": 8,
|
||||
"price": 0.1072,
|
||||
"priceunit": "Hrs",
|
||||
"vcpus": 2,
|
||||
"cpu": [
|
||||
"Intel Xeon E5-2676 v3 (Haswell)",
|
||||
"Intel Xeon E5-2686 v4 (Broadwell)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "t3.large",
|
||||
"mem": 8,
|
||||
"price": 0.096,
|
||||
"priceunit": "Hrs",
|
||||
"vcpus": 2,
|
||||
"cpu": [
|
||||
"Intel Xeon 8175M (Skylake)",
|
||||
"Intel Xeon 8259CL (Cascade Lake)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "m5.large",
|
||||
"mem": 8,
|
||||
"price": 0.115,
|
||||
"priceunit": "Hrs",
|
||||
"vcpus": 2,
|
||||
"cpu": [
|
||||
"Intel Xeon 8175M (Skylake)",
|
||||
"Intel Xeon 8259CL (Cascade Lake)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "m5d.large",
|
||||
"mem": 8,
|
||||
"price": 0.136,
|
||||
"priceunit": "Hrs",
|
||||
"vcpus": 2,
|
||||
"cpu": [
|
||||
"Intel Xeon 8175M (Skylake)",
|
||||
"Intel Xeon 8259CL (Cascade Lake)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "m4.large",
|
||||
"mem": 8,
|
||||
"price": 0.12,
|
||||
"priceunit": "Hrs",
|
||||
"vcpus": 2,
|
||||
"cpu": [
|
||||
"Intel Xeon E5-2676 v3 (Haswell)",
|
||||
"Intel Xeon E5-2686 v4 (Broadwell)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "m3.xlarge",
|
||||
"mem": 15,
|
||||
"price": 0.315,
|
||||
"priceunit": "Hrs",
|
||||
"vcpus": 4,
|
||||
"cpu": [
|
||||
"Intel Xeon 8175M (Skylake)",
|
||||
"Intel Xeon 8259CL (Cascade Lake)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "m5.xlarge",
|
||||
"mem": 16,
|
||||
"price": 0.23,
|
||||
"priceunit": "Hrs",
|
||||
"vcpus": 4,
|
||||
"cpu": [
|
||||
"Intel Xeon 8175M (Skylake)",
|
||||
"Intel Xeon 8259CL (Cascade Lake)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "m4.xlarge",
|
||||
"mem": 16,
|
||||
"price": 0.24,
|
||||
"priceunit": "Hrs",
|
||||
"vcpus": 4,
|
||||
"cpu": [
|
||||
"Intel Xeon E5-2676 v3 (Haswell)",
|
||||
"Intel Xeon E5-2686 v4 (Broadwell)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "t3.xlarge",
|
||||
"mem": 16,
|
||||
"price": 0.192,
|
||||
"priceunit": "Hrs",
|
||||
"vcpus": 4,
|
||||
"cpu": [
|
||||
"Intel Xeon 8175M (Skylake)",
|
||||
"Intel Xeon 8259CL (Cascade Lake)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "t2.xlarge",
|
||||
"mem": 16,
|
||||
"price": 0.2144,
|
||||
"priceunit": "Hrs",
|
||||
"vcpus": 4,
|
||||
"cpu": [
|
||||
"Intel Xeon E5-2676 v3 (Haswell)",
|
||||
"Intel Xeon E5-2686 v4 (Broadwell)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "m5d.xlarge",
|
||||
"mem": 16,
|
||||
"price": 0.272,
|
||||
"priceunit": "Hrs",
|
||||
"vcpus": 4,
|
||||
"cpu": [
|
||||
"Intel Xeon 8175M (Skylake)",
|
||||
"Intel Xeon 8259CL (Cascade Lake)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "m3.2xlarge",
|
||||
"mem": 30,
|
||||
"price": 0.632,
|
||||
"priceunit": "Hrs",
|
||||
"vcpus": 8,
|
||||
"cpu": [
|
||||
"Intel Xeon 8175M (Skylake)",
|
||||
"Intel Xeon 8259CL (Cascade Lake)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "m5d.2xlarge",
|
||||
"mem": 32,
|
||||
"price": 0.544,
|
||||
"priceunit": "Hrs",
|
||||
"vcpus": 8,
|
||||
"cpu": [
|
||||
"Intel Xeon 8175M (Skylake)",
|
||||
"Intel Xeon 8259CL (Cascade Lake)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "m5.2xlarge",
|
||||
"mem": 32,
|
||||
"price": 0.46,
|
||||
"priceunit": "Hrs",
|
||||
"vcpus": 8,
|
||||
"cpu": [
|
||||
"Intel Xeon 8175M (Skylake)",
|
||||
"Intel Xeon 8259CL (Cascade Lake)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "m4.2xlarge",
|
||||
"mem": 32,
|
||||
"price": 0.48,
|
||||
"priceunit": "Hrs",
|
||||
"vcpus": 8,
|
||||
"cpu": [
|
||||
"Intel Xeon E5-2676 v3 (Haswell)",
|
||||
"Intel Xeon E5-2686 v4 (Broadwell)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "t3.2xlarge",
|
||||
"mem": 32,
|
||||
"price": 0.384,
|
||||
"priceunit": "Hrs",
|
||||
"vcpus": 8,
|
||||
"cpu": [
|
||||
"Intel Xeon 8175M (Skylake)",
|
||||
"Intel Xeon 8259CL (Cascade Lake)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "t2.2xlarge",
|
||||
"mem": 32,
|
||||
"price": 0.4288,
|
||||
"priceunit": "Hrs",
|
||||
"vcpus": 8,
|
||||
"cpu": [
|
||||
"Intel Xeon E5-2676 v3 (Haswell)",
|
||||
"Intel Xeon E5-2686 v4 (Broadwell)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "m5d.4xlarge",
|
||||
"mem": 64,
|
||||
"price": 1.088,
|
||||
"priceunit": "Hrs",
|
||||
"vcpus": 16,
|
||||
"cpu": [
|
||||
"Intel Xeon 8175M (Skylake)",
|
||||
"Intel Xeon 8259CL (Cascade Lake)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "m4.4xlarge",
|
||||
"mem": 64,
|
||||
"price": 0.96,
|
||||
"priceunit": "Hrs",
|
||||
"vcpus": 16,
|
||||
"cpu": [
|
||||
"Intel Xeon E5-2676 v3 (Haswell)",
|
||||
"Intel Xeon E5-2686 v4 (Broadwell)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "m5.4xlarge",
|
||||
"mem": 64,
|
||||
"price": 0.92,
|
||||
"priceunit": "Hrs",
|
||||
"vcpus": 16,
|
||||
"cpu": [
|
||||
"Intel Xeon 8175M (Skylake)",
|
||||
"Intel Xeon 8259CL (Cascade Lake)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "m4.10xlarge",
|
||||
"mem": 160,
|
||||
"price": 2.4,
|
||||
"priceunit": "Hrs",
|
||||
"vcpus": 40,
|
||||
"cpu": [
|
||||
"Intel Xeon E5-2676 v3 (Haswell)",
|
||||
"Intel Xeon E5-2686 v4 (Broadwell)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "m5d.12xlarge",
|
||||
"mem": 192,
|
||||
"price": 3.264,
|
||||
"priceunit": "Hrs",
|
||||
"vcpus": 48,
|
||||
"cpu": [
|
||||
"Intel Xeon 8175M (Skylake)",
|
||||
"Intel Xeon 8259CL (Cascade Lake)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "m5.12xlarge",
|
||||
"mem": 192,
|
||||
"price": 2.76,
|
||||
"priceunit": "Hrs",
|
||||
"vcpus": 48,
|
||||
"cpu": [
|
||||
"Intel Xeon 8175M (Skylake)",
|
||||
"Intel Xeon 8259CL (Cascade Lake)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "m4.16xlarge",
|
||||
"mem": 256,
|
||||
"price": 3.84,
|
||||
"priceunit": "Hrs",
|
||||
"vcpus": 64,
|
||||
"cpu": [
|
||||
"Intel Xeon E5-2676 v3 (Haswell)",
|
||||
"Intel Xeon E5-2686 v4 (Broadwell)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "m5d.metal",
|
||||
"mem": 384,
|
||||
"price": 6.528,
|
||||
"priceunit": "Hrs",
|
||||
"vcpus": 96,
|
||||
"cpu": [
|
||||
"Intel Xeon 8175M (Skylake)",
|
||||
"Intel Xeon 8259CL (Cascade Lake)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "m5.metal",
|
||||
"mem": 384,
|
||||
"price": 5.52,
|
||||
"priceunit": "Hrs",
|
||||
"vcpus": 96,
|
||||
"cpu": [
|
||||
"Intel Xeon 8175M (Skylake)",
|
||||
"Intel Xeon 8259CL (Cascade Lake)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "m5d.24xlarge",
|
||||
"mem": 384,
|
||||
"price": 6.528,
|
||||
"priceunit": "Hrs",
|
||||
"vcpus": 96,
|
||||
"cpu": [
|
||||
"Intel Xeon 8175M (Skylake)",
|
||||
"Intel Xeon 8259CL (Cascade Lake)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "m5.24xlarge",
|
||||
"mem": 384,
|
||||
"price": 5.52,
|
||||
"priceunit": "Hrs",
|
||||
"vcpus": 96,
|
||||
"cpu": [
|
||||
"Intel Xeon 8175M (Skylake)",
|
||||
"Intel Xeon 8259CL (Cascade Lake)"
|
||||
]
|
||||
}
|
||||
]
|
||||
Reference in New Issue
Block a user