github.com/axw/juju@v0.0.0-20161005053422-4bd6544d08d4/provider/ec2/instancetype.go (about) 1 // Copyright 2013 Canonical Ltd. 2 // Licensed under the AGPLv3, see LICENCE file for details. 3 4 package ec2 5 6 import ( 7 "gopkg.in/amz.v3/aws" 8 9 "github.com/juju/juju/environs/instances" 10 "github.com/juju/utils/arch" 11 ) 12 13 var ( 14 // Type of virtualisation used. 15 paravirtual = "pv" 16 hvm = "hvm" 17 18 // all instance types can run amd64 images, and some can also run 19 // i386 ones. 20 amd64 = []string{arch.AMD64} 21 both = []string{arch.AMD64, arch.I386} 22 ) 23 24 // allRegions is defined here to allow tests to override the content. 25 var allRegions = aws.Regions 26 27 // allInstanceTypes holds the relevant attributes of every known 28 // instance type. 29 // 30 // Note that while the EC2 root disk default is 8G, constraints on 31 // disk for amazon will simply cause the root disk to grow to match 32 // the constraint 33 var allInstanceTypes = []instances.InstanceType{ 34 { // General purpose, 1st generation. m1.* instance types are deprecated 35 // and should only be used if explicitly requested by name. 36 Name: "m1.small", 37 Arches: both, 38 CpuCores: 1, 39 CpuPower: instances.CpuPower(100), 40 Mem: 1740, 41 VirtType: ¶virtual, 42 Deprecated: true, 43 }, { 44 Name: "m1.medium", 45 Arches: both, 46 CpuCores: 1, 47 CpuPower: instances.CpuPower(200), 48 Mem: 3840, 49 VirtType: ¶virtual, 50 Deprecated: true, 51 }, { 52 Name: "m1.large", 53 Arches: amd64, 54 CpuCores: 2, 55 CpuPower: instances.CpuPower(400), 56 Mem: 7680, 57 VirtType: ¶virtual, 58 Deprecated: true, 59 }, { 60 Name: "m1.xlarge", 61 Arches: amd64, 62 CpuCores: 4, 63 CpuPower: instances.CpuPower(800), 64 Mem: 15360, 65 VirtType: ¶virtual, 66 Deprecated: true, 67 }, 68 // M4 instances are the latest generation of General Purpose 69 // Instances. This family provides a balance of compute, memory, 70 // and network resources, and it is a good choice for many 71 // applications. 72 { 73 Name: "m4.large", 74 Arches: amd64, 75 CpuCores: 2, 76 CpuPower: instances.CpuPower(650), 77 Mem: 8192, 78 VirtType: &hvm, 79 }, 80 { 81 Name: "m4.xlarge", 82 Arches: amd64, 83 CpuCores: 4, 84 CpuPower: instances.CpuPower(1300), 85 Mem: 16384, 86 VirtType: &hvm, 87 }, 88 { 89 Name: "m4.2xlarge", 90 Arches: amd64, 91 CpuCores: 8, 92 CpuPower: instances.CpuPower(2600), 93 Mem: 32768, 94 VirtType: &hvm, 95 }, 96 { 97 Name: "m4.4xlarge", 98 Arches: amd64, 99 CpuCores: 16, 100 CpuPower: instances.CpuPower(5350), 101 Mem: 65536, 102 VirtType: &hvm, 103 }, 104 { 105 Name: "m4.10xlarge", 106 Arches: amd64, 107 CpuCores: 40, 108 CpuPower: instances.CpuPower(12450), 109 Mem: 163840, 110 VirtType: &hvm, 111 }, 112 113 { // General purpose, 2nd generation. 114 Name: "m3.medium", 115 Arches: amd64, 116 CpuCores: 1, 117 CpuPower: instances.CpuPower(300), 118 Mem: 3840, 119 VirtType: ¶virtual, 120 }, { 121 Name: "m3.large", 122 Arches: amd64, 123 CpuCores: 2, 124 CpuPower: instances.CpuPower(650), 125 Mem: 7680, 126 VirtType: ¶virtual, 127 }, { 128 Name: "m3.xlarge", 129 Arches: amd64, 130 CpuCores: 4, 131 CpuPower: instances.CpuPower(1300), 132 Mem: 15360, 133 VirtType: ¶virtual, 134 }, { 135 Name: "m3.2xlarge", 136 Arches: amd64, 137 CpuCores: 8, 138 CpuPower: instances.CpuPower(2600), 139 Mem: 30720, 140 VirtType: ¶virtual, 141 }, 142 143 { // Compute-optimized, 1st generation. 144 Name: "c1.medium", 145 Arches: both, 146 CpuCores: 2, 147 CpuPower: instances.CpuPower(500), 148 Mem: 1740, 149 VirtType: ¶virtual, 150 }, { 151 Name: "c1.xlarge", 152 Arches: amd64, 153 CpuCores: 8, 154 CpuPower: instances.CpuPower(2000), 155 Mem: 7168, 156 VirtType: ¶virtual, 157 }, { 158 Name: "cc2.8xlarge", 159 Arches: amd64, 160 CpuCores: 16, 161 CpuPower: instances.CpuPower(8800), 162 Mem: 61952, 163 VirtType: &hvm, 164 }, 165 166 { // Compute-optimized, 2nd generation. 167 Name: "c3.large", 168 Arches: amd64, 169 CpuCores: 2, 170 CpuPower: instances.CpuPower(700), 171 Mem: 3840, 172 VirtType: ¶virtual, 173 }, { 174 Name: "c3.xlarge", 175 Arches: amd64, 176 CpuCores: 4, 177 CpuPower: instances.CpuPower(1400), 178 Mem: 7680, 179 VirtType: ¶virtual, 180 }, { 181 Name: "c3.2xlarge", 182 Arches: amd64, 183 CpuCores: 8, 184 CpuPower: instances.CpuPower(2800), 185 Mem: 15360, 186 VirtType: ¶virtual, 187 }, { 188 Name: "c3.4xlarge", 189 Arches: amd64, 190 CpuCores: 16, 191 CpuPower: instances.CpuPower(5500), 192 Mem: 30720, 193 VirtType: ¶virtual, 194 }, { 195 Name: "c3.8xlarge", 196 Arches: amd64, 197 CpuCores: 32, 198 CpuPower: instances.CpuPower(10800), 199 Mem: 61440, 200 VirtType: ¶virtual, 201 }, 202 203 { // GPU instances, 1st generation. 204 Name: "cg1.4xlarge", 205 Arches: amd64, 206 CpuCores: 8, 207 CpuPower: instances.CpuPower(3350), 208 Mem: 22528, 209 VirtType: &hvm, 210 }, 211 212 { // GPU instances, 2nd generation. 213 Name: "g2.2xlarge", 214 Arches: amd64, 215 CpuCores: 8, 216 CpuPower: instances.CpuPower(2600), 217 Mem: 15360, 218 VirtType: &hvm, 219 }, 220 221 { // Memory-optimized, 1st generation. 222 Name: "m2.xlarge", 223 Arches: amd64, 224 CpuCores: 2, 225 CpuPower: instances.CpuPower(650), 226 Mem: 17408, 227 VirtType: ¶virtual, 228 }, { 229 Name: "m2.2xlarge", 230 Arches: amd64, 231 CpuCores: 4, 232 CpuPower: instances.CpuPower(1300), 233 Mem: 34816, 234 VirtType: ¶virtual, 235 }, { 236 Name: "m2.4xlarge", 237 Arches: amd64, 238 CpuCores: 8, 239 CpuPower: instances.CpuPower(2600), 240 Mem: 69632, 241 VirtType: ¶virtual, 242 }, { 243 Name: "cr1.8xlarge", 244 Arches: amd64, 245 CpuCores: 16, 246 CpuPower: instances.CpuPower(8800), 247 Mem: 249856, 248 VirtType: &hvm, 249 }, 250 251 { // Memory-optimized, 2nd generation. 252 Name: "r3.large", 253 Arches: amd64, 254 CpuCores: 2, 255 CpuPower: instances.CpuPower(650), 256 Mem: 15616, 257 VirtType: &hvm, 258 }, { 259 Name: "r3.xlarge", 260 Arches: amd64, 261 CpuCores: 4, 262 CpuPower: instances.CpuPower(1300), 263 Mem: 31232, 264 VirtType: &hvm, 265 }, { 266 Name: "r3.2xlarge", 267 Arches: amd64, 268 CpuCores: 8, 269 CpuPower: instances.CpuPower(2600), 270 Mem: 62464, 271 VirtType: &hvm, 272 }, { 273 Name: "r3.4xlarge", 274 Arches: amd64, 275 CpuCores: 16, 276 CpuPower: instances.CpuPower(5200), 277 Mem: 124928, 278 VirtType: &hvm, 279 }, { 280 Name: "r3.8xlarge", 281 Arches: amd64, 282 CpuCores: 32, 283 CpuPower: instances.CpuPower(10400), 284 Mem: 249856, 285 VirtType: &hvm, 286 }, 287 288 { // Storage-optimized, 1st generation. 289 Name: "hi1.4xlarge", 290 Arches: amd64, 291 CpuCores: 16, 292 CpuPower: instances.CpuPower(3500), 293 Mem: 61952, 294 VirtType: ¶virtual, 295 }, 296 297 { // Storage-optimized, 2nd generation. 298 Name: "i2.xlarge", 299 Arches: amd64, 300 CpuCores: 4, 301 CpuPower: instances.CpuPower(1400), 302 Mem: 31232, 303 VirtType: &hvm, 304 }, { 305 Name: "i2.2xlarge", 306 Arches: amd64, 307 CpuCores: 8, 308 CpuPower: instances.CpuPower(2700), 309 Mem: 62464, 310 VirtType: &hvm, 311 }, { 312 Name: "i2.4xlarge", 313 Arches: amd64, 314 CpuCores: 16, 315 CpuPower: instances.CpuPower(5300), 316 Mem: 124928, 317 VirtType: &hvm, 318 }, { 319 Name: "i2.8xlarge", 320 Arches: amd64, 321 CpuCores: 32, 322 CpuPower: instances.CpuPower(10400), 323 Mem: 249856, 324 VirtType: &hvm, 325 }, { 326 Name: "hs1.8xlarge", 327 Arches: amd64, 328 CpuCores: 16, 329 CpuPower: instances.CpuPower(3500), 330 Mem: 119808, 331 VirtType: ¶virtual, 332 }, 333 334 { // Tiny-weeny. 335 Name: "t1.micro", 336 Arches: both, 337 CpuCores: 1, 338 // Burstable baseline is 20% 339 CpuPower: instances.CpuPower(20), 340 Mem: 613, 341 VirtType: ¶virtual, 342 }, 343 344 { // General Purpose, 3rd generation. 345 Name: "t2.micro", 346 Arches: amd64, 347 CpuCores: 1, 348 Mem: 1024, 349 // Burstable baseline is 10% (from http://aws.amazon.com/ec2/faqs/#burst) 350 CpuPower: instances.CpuPower(10), 351 VirtType: &hvm, 352 }, 353 { // General Purpose, 3rd generation. 354 Name: "t2.small", 355 Arches: amd64, 356 CpuCores: 1, 357 Mem: 2048, 358 // Burstable baseline is 20% (from http://aws.amazon.com/ec2/faqs/#burst) 359 CpuPower: instances.CpuPower(20), 360 VirtType: &hvm, 361 }, 362 { // General Purpose, 3rd generation. 363 Name: "t2.medium", 364 Arches: amd64, 365 CpuCores: 2, 366 Mem: 4096, 367 // Burstable baseline is 40% (from http://aws.amazon.com/ec2/faqs/#burst) 368 CpuPower: instances.CpuPower(40), 369 VirtType: &hvm, 370 }, 371 372 { // Compute-optimized, 3rd generation. 373 Name: "c4.large", 374 Arches: amd64, 375 CpuCores: 2, 376 Mem: 3840, 377 CpuPower: instances.CpuPower(800), 378 VirtType: &hvm, 379 }, { 380 Name: "c4.xlarge", 381 Arches: amd64, 382 CpuCores: 4, 383 Mem: 7680, 384 CpuPower: instances.CpuPower(1600), 385 VirtType: &hvm, 386 }, { 387 Name: "c4.2xlarge", 388 Arches: amd64, 389 CpuCores: 8, 390 Mem: 15360, 391 CpuPower: instances.CpuPower(3100), 392 VirtType: &hvm, 393 }, { 394 Name: "c4.4xlarge", 395 Arches: amd64, 396 CpuCores: 16, 397 Mem: 30720, 398 CpuPower: instances.CpuPower(6200), 399 VirtType: &hvm, 400 }, { 401 Name: "c4.8xlarge", 402 Arches: amd64, 403 // The source of this information at http://aws.amazon.com/ec2/instance-types/ 404 CpuCores: 36, 405 Mem: 61440, 406 CpuPower: instances.CpuPower(13200), 407 VirtType: &hvm, 408 }, 409 } 410 411 type instanceTypeCost map[string]uint64 412 type regionCosts map[string]instanceTypeCost 413 414 // allRegionCosts holds the cost in USDe-3/hour for each available instance 415 // type in each region. 416 var allRegionCosts = regionCosts{ 417 "ap-northeast-1": { // Tokyo. 418 "m1.small": 61, 419 "m1.medium": 122, 420 "m1.large": 243, 421 "m1.xlarge": 486, 422 423 "m3.medium": 101, 424 "m3.large": 203, 425 "m3.xlarge": 405, 426 "m3.2xlarge": 810, 427 428 "m4.large": 174, 429 "m4.xlarge": 348, 430 "m4.2xlarge": 695, 431 "m4.4xlarge": 1391, 432 "m4.10xlarge": 3477, 433 434 "c1.medium": 158, 435 "c1.xlarge": 632, 436 437 "cc2.8xlarge": 2349, 438 439 "c3.large": 128, 440 "c3.xlarge": 255, 441 "c3.2xlarge": 511, 442 "c3.4xlarge": 1021, 443 "c3.8xlarge": 2043, 444 445 "g2.2xlarge": 898, 446 447 "m2.xlarge": 287, 448 "m2.2xlarge": 575, 449 "m2.4xlarge": 1150, 450 451 "cr1.8xlarge": 4105, 452 453 "r3.large": 210, 454 "r3.xlarge": 420, 455 "r3.2xlarge": 840, 456 "r3.4xlarge": 1680, 457 "r3.8xlarge": 3360, 458 459 "hi1.4xlarge": 3276, 460 461 "i2.xlarge": 1001, 462 "i2.2xlarge": 2001, 463 "i2.4xlarge": 4002, 464 "i2.8xlarge": 8004, 465 466 "hs1.8xlarge": 5400, 467 468 "t1.micro": 26, 469 470 "t2.micro": 20, 471 "t2.small": 40, 472 "t2.medium": 80, 473 474 "c4.large": 147, 475 "c4.xlarge": 294, 476 "c4.2xlarge": 588, 477 "c4.4xlarge": 1176, 478 "c4.8xlarge": 2352, 479 }, 480 "ap-northeast-2": { // Seoul. 481 "t2.nano": 10, 482 "t2.micro": 20, 483 "t2.small": 40, 484 "t2.medium": 80, 485 "t2.large": 160, 486 487 "m4.large": 165, 488 "m4.xlarge": 331, 489 "m4.2xlarge": 660, 490 "m4.4xlarge": 1321, 491 "m4.10xlarge": 3303, 492 493 "c4.large": 120, 494 "c4.xlarge": 239, 495 "c4.2xlarge": 478, 496 "c4.4xlarge": 955, 497 "c4.8xlarge": 1910, 498 499 "r3.large": 200, 500 "r3.xlarge": 399, 501 "r3.2xlarge": 798, 502 "r3.4xlarge": 1596, 503 "r3.8xlarge": 3192, 504 505 "i2.xlarge": 1001, 506 "i2.2xlarge": 2001, 507 "i2.4xlarge": 4002, 508 "i2.8xlarge": 8004, 509 // TODO(gz): Add d2 types below per lp:1535838 510 //"d2.xlarge": 844, 511 //"d2.2xlarge": 1688, 512 //"d2.4xlarge": 3376, 513 //"d2.8xlarge": 6752, 514 }, 515 "ap-southeast-1": { // Singapore. 516 "m1.small": 58, 517 "m1.medium": 117, 518 "m1.large": 233, 519 "m1.xlarge": 467, 520 521 "m3.medium": 98, 522 "m3.large": 196, 523 "m3.xlarge": 392, 524 "m3.2xlarge": 784, 525 526 "m4.large": 178, 527 "m4.xlarge": 355, 528 "m4.2xlarge": 711, 529 "m4.4xlarge": 1421, 530 "m4.10xlarge": 3553, 531 532 "c1.medium": 164, 533 "c1.xlarge": 655, 534 535 "c3.large": 132, 536 "c3.xlarge": 265, 537 "c3.2xlarge": 529, 538 "c3.4xlarge": 1058, 539 "c3.8xlarge": 2117, 540 541 "m2.xlarge": 296, 542 "m2.2xlarge": 592, 543 "m2.4xlarge": 1183, 544 545 "r3.large": 210, 546 "r3.xlarge": 420, 547 "r3.2xlarge": 840, 548 "r3.4xlarge": 1680, 549 "r3.8xlarge": 3360, 550 551 "i2.xlarge": 1018, 552 "i2.2xlarge": 2035, 553 "i2.4xlarge": 4070, 554 "i2.8xlarge": 8140, 555 556 "hs1.8xlarge": 5570, 557 558 "t1.micro": 20, 559 560 "t2.micro": 20, 561 "t2.small": 40, 562 "t2.medium": 80, 563 564 "c4.large": 152, 565 "c4.xlarge": 304, 566 "c4.2xlarge": 608, 567 "c4.4xlarge": 1216, 568 "c4.8xlarge": 2432, 569 570 "g2.2xlarge": 1000, 571 }, 572 "ap-southeast-2": { // Sydney. 573 "m1.small": 58, 574 "m1.medium": 117, 575 "m1.large": 233, 576 "m1.xlarge": 467, 577 578 "m3.medium": 98, 579 "m3.large": 196, 580 "m3.xlarge": 392, 581 "m3.2xlarge": 784, 582 583 "m4.large": 168, 584 "m4.xlarge": 336, 585 "m4.2xlarge": 673, 586 "m4.4xlarge": 1345, 587 "m4.10xlarge": 3363, 588 589 "c1.medium": 164, 590 "c1.xlarge": 655, 591 592 "c3.large": 132, 593 "c3.xlarge": 265, 594 "c3.2xlarge": 529, 595 "c3.4xlarge": 1058, 596 "c3.8xlarge": 2117, 597 598 "m2.xlarge": 296, 599 "m2.2xlarge": 592, 600 "m2.4xlarge": 1183, 601 602 "r3.large": 210, 603 "r3.xlarge": 420, 604 "r3.2xlarge": 840, 605 "r3.4xlarge": 1680, 606 "r3.8xlarge": 3360, 607 608 "i2.xlarge": 1018, 609 "i2.2xlarge": 2035, 610 "i2.4xlarge": 4070, 611 "i2.8xlarge": 8140, 612 613 "hs1.8xlarge": 5570, 614 615 "t1.micro": 20, 616 617 "t2.micro": 20, 618 "t2.small": 40, 619 "t2.medium": 80, 620 621 "c4.large": 152, 622 "c4.xlarge": 304, 623 "c4.2xlarge": 608, 624 "c4.4xlarge": 1216, 625 "c4.8xlarge": 2432, 626 627 "g2.2xlarge": 898, 628 }, 629 "eu-west-1": { // Ireland. 630 "m1.small": 47, 631 "m1.medium": 95, 632 "m1.large": 190, 633 "m1.xlarge": 379, 634 635 "m3.medium": 77, 636 "m3.large": 154, 637 "m3.xlarge": 308, 638 "m3.2xlarge": 616, 639 640 "m4.large": 132, 641 "m4.xlarge": 264, 642 "m4.2xlarge": 528, 643 "m4.4xlarge": 1056, 644 "m4.10xlarge": 2641, 645 646 "c1.medium": 148, 647 "c1.xlarge": 592, 648 649 "cc2.8xlarge": 2250, 650 651 "c3.large": 120, 652 "c3.xlarge": 239, 653 "c3.2xlarge": 478, 654 "c3.4xlarge": 956, 655 "c3.8xlarge": 1912, 656 657 "cg1.4xlarge": 2360, 658 659 "g2.2xlarge": 702, 660 661 "m2.xlarge": 275, 662 "m2.2xlarge": 550, 663 "m2.4xlarge": 1100, 664 665 "cr1.8xlarge": 3750, 666 667 "r3.large": 195, 668 "r3.xlarge": 390, 669 "r3.2xlarge": 780, 670 "r3.4xlarge": 1560, 671 "r3.8xlarge": 3120, 672 673 "hi1.4xlarge": 3100, 674 675 "i2.xlarge": 938, 676 "i2.2xlarge": 1876, 677 "i2.4xlarge": 3751, 678 "i2.8xlarge": 7502, 679 680 "hs1.8xlarge": 4900, 681 682 "t1.micro": 20, 683 684 "t2.micro": 14, 685 "t2.small": 28, 686 "t2.medium": 56, 687 688 "c4.large": 132, 689 "c4.xlarge": 264, 690 "c4.2xlarge": 528, 691 "c4.4xlarge": 1056, 692 "c4.8xlarge": 2112, 693 }, 694 "sa-east-1": { // Sao Paulo. 695 "m1.small": 58, 696 "m1.medium": 117, 697 "m1.large": 233, 698 "m1.xlarge": 467, 699 700 "m3.medium": 95, 701 "m3.large": 190, 702 "m3.xlarge": 381, 703 "m3.2xlarge": 761, 704 705 "c1.medium": 179, 706 "c1.xlarge": 718, 707 708 "m2.xlarge": 323, 709 "m2.2xlarge": 645, 710 "m2.4xlarge": 1291, 711 712 "t1.micro": 27, 713 714 "t2.micro": 27, 715 "t2.small": 54, 716 "t2.medium": 108, 717 718 "c3.large": 163, 719 "c3.xlarge": 325, 720 "c3.2xlarge": 650, 721 "c3.4xlarge": 1300, 722 "c3.8xlarge": 2600, 723 }, 724 "us-east-1": { // Northern Virginia. 725 "m1.small": 44, 726 "m1.medium": 87, 727 "m1.large": 175, 728 "m1.xlarge": 350, 729 730 "m3.medium": 70, 731 "m3.large": 140, 732 "m3.xlarge": 280, 733 "m3.2xlarge": 560, 734 735 "m4.large": 120, 736 "m4.xlarge": 239, 737 "m4.2xlarge": 479, 738 "m4.4xlarge": 958, 739 "m4.10xlarge": 2394, 740 741 "c1.medium": 130, 742 "c1.xlarge": 520, 743 744 "cc2.8xlarge": 2000, 745 746 "c3.large": 105, 747 "c3.xlarge": 210, 748 "c3.2xlarge": 420, 749 "c3.4xlarge": 840, 750 "c3.8xlarge": 1680, 751 752 "cg1.4xlarge": 2100, 753 754 "g2.2xlarge": 650, 755 756 "m2.xlarge": 245, 757 "m2.2xlarge": 490, 758 "m2.4xlarge": 980, 759 760 "cr1.8xlarge": 3500, 761 762 "r3.large": 175, 763 "r3.xlarge": 350, 764 "r3.2xlarge": 700, 765 "r3.4xlarge": 1400, 766 "r3.8xlarge": 2800, 767 768 "hi1.4xlarge": 3100, 769 770 "i2.xlarge": 853, 771 "i2.2xlarge": 1705, 772 "i2.4xlarge": 3410, 773 "i2.8xlarge": 6820, 774 775 "hs1.8xlarge": 4600, 776 777 "t1.micro": 20, 778 779 "t2.micro": 13, 780 "t2.small": 26, 781 "t2.medium": 52, 782 783 "c4.large": 116, 784 "c4.xlarge": 232, 785 "c4.2xlarge": 464, 786 "c4.4xlarge": 928, 787 "c4.8xlarge": 1856, 788 }, 789 "us-west-1": { // Northern California. 790 "m1.small": 47, 791 "m1.medium": 95, 792 "m1.large": 190, 793 "m1.xlarge": 379, 794 795 "m3.medium": 77, 796 "m3.large": 154, 797 "m3.xlarge": 308, 798 "m3.2xlarge": 616, 799 800 "m4.large": 140, 801 "m4.xlarge": 279, 802 "m4.2xlarge": 559, 803 "m4.4xlarge": 1117, 804 "m4.10xlarge": 2793, 805 806 "c1.medium": 148, 807 "c1.xlarge": 592, 808 809 "c3.large": 120, 810 "c3.xlarge": 239, 811 "c3.2xlarge": 478, 812 "c3.4xlarge": 956, 813 "c3.8xlarge": 1912, 814 815 "g2.2xlarge": 702, 816 817 "m2.xlarge": 275, 818 "m2.2xlarge": 550, 819 "m2.4xlarge": 1100, 820 821 "r3.large": 195, 822 "r3.xlarge": 390, 823 "r3.2xlarge": 780, 824 "r3.4xlarge": 1560, 825 "r3.8xlarge": 3120, 826 827 "i2.xlarge": 938, 828 "i2.2xlarge": 1876, 829 "i2.4xlarge": 3751, 830 "i2.8xlarge": 7502, 831 832 "t1.micro": 25, 833 834 "t2.micro": 17, 835 "t2.small": 34, 836 "t2.medium": 68, 837 838 "c4.large": 138, 839 "c4.xlarge": 276, 840 "c4.2xlarge": 552, 841 "c4.4xlarge": 1104, 842 "c4.8xlarge": 2208, 843 }, 844 "us-west-2": { // Oregon. 845 "m1.small": 44, 846 "m1.medium": 87, 847 "m1.large": 175, 848 "m1.xlarge": 350, 849 850 "m3.medium": 70, 851 "m3.large": 140, 852 "m3.xlarge": 280, 853 "m3.2xlarge": 560, 854 855 "m4.large": 120, 856 "m4.xlarge": 239, 857 "m4.2xlarge": 479, 858 "m4.4xlarge": 958, 859 "m4.10xlarge": 2394, 860 861 "c1.medium": 130, 862 "c1.xlarge": 520, 863 864 "cc2.8xlarge": 2000, 865 866 "c3.large": 105, 867 "c3.xlarge": 210, 868 "c3.2xlarge": 420, 869 "c3.4xlarge": 840, 870 "c3.8xlarge": 1680, 871 872 "g2.2xlarge": 650, 873 874 "m2.xlarge": 245, 875 "m2.2xlarge": 490, 876 "m2.4xlarge": 980, 877 "cr1.8xlarge": 3500, 878 879 "r3.large": 175, 880 "r3.xlarge": 350, 881 "r3.2xlarge": 700, 882 "r3.4xlarge": 1400, 883 "r3.8xlarge": 2800, 884 885 "hi1.4xlarge": 3100, 886 887 "i2.xlarge": 853, 888 "i2.2xlarge": 1705, 889 "i2.4xlarge": 3410, 890 "i2.8xlarge": 6820, 891 892 "hs1.8xlarge": 4600, 893 894 "t1.micro": 20, 895 896 "t2.micro": 13, 897 "t2.small": 26, 898 "t2.medium": 52, 899 900 "c4.large": 116, 901 "c4.xlarge": 232, 902 "c4.2xlarge": 464, 903 "c4.4xlarge": 928, 904 "c4.8xlarge": 1856, 905 }, 906 "eu-central-1": { // Frankfurt. 907 "t2.micro": 15, 908 "t2.small": 30, 909 "t2.medium": 60, 910 "t2.large": 120, 911 912 "m3.medium": 79, 913 "m3.large": 158, 914 "m3.xlarge": 315, 915 "m3.2xlarge": 632, 916 917 "m4.large": 143, 918 "m4.xlarge": 285, 919 "m4.2xlarge": 570, 920 "m4.4xlarge": 1140, 921 "m4.10xlarge": 2850, 922 923 "c3.large": 129, 924 "c3.xlarge": 258, 925 "c3.2xlarge": 516, 926 "c3.4xlarge": 1032, 927 "c3.8xlarge": 2064, 928 929 "c4.large": 134, 930 "c4.xlarge": 267, 931 "c4.2xlarge": 534, 932 "c4.4xlarge": 1069, 933 "c4.8xlarge": 2138, 934 935 "r3.large": 200, 936 "r3.xlarge": 420, 937 "r3.2xlarge": 800, 938 "r3.4xlarge": 1600, 939 "r3.8xlarge": 3201, 940 941 "i2.xlarge": 1013, 942 "i2.2xlarge": 2026, 943 "i2.4xlarge": 4051, 944 "i2.8xlarge": 8102, 945 }, 946 "us-gov-west-1": { // Isolated region - US GovCloud. 947 "t2.micro": 15, 948 "t2.small": 31, 949 "t2.medium": 62, 950 951 "m3.medium": 84, 952 "m3.large": 168, 953 "m3.xlarge": 336, 954 "m3.2xlarge": 672, 955 956 "c3.large": 126, 957 "c3.xlarge": 252, 958 "c3.2xlarge": 504, 959 "c3.4xlarge": 1008, 960 "c3.8xlarge": 2016, 961 962 "r3.large": 210, 963 "r3.xlarge": 420, 964 "r3.2xlarge": 840, 965 "r3.4xlarge": 1680, 966 "r3.8xlarge": 3360, 967 968 "i2.xlarge": 1023, 969 "i2.2xlarge": 2046, 970 "i2.4xlarge": 4092, 971 "i2.8xlarge": 8184, 972 973 "hs1.8xlarge": 5520, 974 }, 975 "cn-north-1": { // Isolated region - China, Beijing. 976 // Instance type information is from 977 // http://www.amazonaws.cn/en/ec2/details/ 978 // TODO (anastasiamac 2015-03-05): 979 // To compensate for lack of pricing, we 980 // are putting in arbitrary values that reflect the relative costs. 981 // This is justified by the fact that, in Juju, we use instance-by-region cost 982 // to identify least expensive machine with desired constraints. 983 "t1.micro": 1, 984 985 "m1.small": 2, 986 987 "m3.medium": 3, 988 "m3.large": 5, 989 "m3.xlarge": 7, 990 "m3.2xlarge": 9, 991 992 "c3.large": 4, 993 "c3.xlarge": 6, 994 "c3.2xlarge": 8, 995 "c3.4xlarge": 10, 996 "c3.8xlarge": 11, 997 }, 998 }