EC2 Spot Blocks:固定時間的 Spot Instances

EC2 設計 Spot Instances 提供某些應用程式可以用比較低廉的價錢租用機器,但缺點是隨時可能會中斷,所以程式必須定時記錄進度。

但不是每種應用程式都有辦法這樣做,所以一般遇到不能中斷的還是會用 On-Demand Instances 來處理。而現在 EC2 則提供了 Spot Blocks 來解決這個問題:「New – EC2 Spot Blocks for Defined-Duration Workloads」。

你可以設定 1 到 6 個小時的執行時間,時間到就會自動結束:

In order to make EC2 an even better fit for this type of defined-duration workload, you can now launch Spot instances that will run continuously for a finite duration (1 to 6 hours).

Spot Instances 與 Spot Blocks 是分開競價,大約比 On-Demand 便宜 30%~45%,同時在非尖峰時間另外會有 5% 的優惠:

Pricing is based on the requested duration and the available capacity, and is typically 30% to 45% less than On-Demand, with an additional 5% off during non-peak hours for the region. Spot blocks and Spot instances are priced separately; you can view the current Spot pricing to learn more.

Amazon EC2 預定要推出的 Dedicated Hosts

Amazon EC2 愈定要推出新的購買方案:「Coming Soon – EC2 Dedicated Hosts」。

Dedicated Hosts 的租用是以整台主機為單位,以確保整台實體機器不會有其他人使用,對安全性的要求會比較好。這邊拿 c3.xlarge 來舉例,一次就是八台的費用:(這邊「八台」的數字是未定的,真正的數字要等正式公告上線後才知道)

Each host has room for a predefined number of instances of a particular type. For example, a specific host could have room for eight c3.xlarge instances (this is a number that I made up for this post). After you allocate the host, you can then launch up to eight c3.xlarge instances on it.

會有這樣的需求主要還是因為有些軟體還沒有適當的 cloud-based licensing (授權方式),當 BYOL 時 (Bring Your Own License),會需要能夠對實體機器有更多控制權:

We want to make sure that you can continue to derive value from these licenses after you migrate to AWS. In general, we call this model Bring Your Own License, or BYOL. In order to do this while adhering to the terms of the license, you are going to need to control the mapping of the EC2 instances to the underlying, physical servers.

另外這對於安全性理由也多了個解決方案,像是需要實體分離避開各種 side-channel attack。不過 AWS 之前就有提供其他的方法。

對於軟體有支援 CloudHSM 的,可以考慮直接使用這個解決方案,private key 直接放在 HSM 上,而且 AWS 有符合常見的安全標準。

而另外對於有跟美國政府簽約的數據需求,可以用 AWS GovCloud (US),讓一般人根本接觸不到。

對於一般單位的需求,也可以用 Dedicated Instances 來確保實體機器上只有單一客戶,而這也能買 Reserved Instances 確保使用權,以及對應的折扣。

所以這次 Dedicated Hosts 比較像是商業授權上的需求而產生出來的解決方案,而不是安全性需求...

EC2 Spot Instance 可以用 Capacity 競標了

前幾天 AWS 的「New – Resource-Oriented Bidding for EC2 Spot Instances」這篇文章提到 EC2 Spot Instance 可以用 capaciy 競標了,也就是以「資源的總量」來飆,而非指定某種型態的 instance。

以文章裡的例子來說,假設要標 488 個單位的 capacity,那麼有可能出現:

  • 2 x r3.8xlarge
  • 4 x r3.4xlarge
  • 8 x r3.2xlarge
  • 16 x r3.xlarge
  • 32 x r3.large

也有可能出現混搭的版本:

  • 1 x r3.8xlarge and 2 x r3.4xlarge
  • 2 x r3.4xlarge and 8 x r3.xlarge
  • 8 x r3.xlarge and 16 x r3.large

對於某種 spot instance 價錢突然提高時,可以改用其他 instance 繼續執行,變得更有彈性...

跨區決定最低價的 Spot Instance

看到 Amazon EC2 可以跨區取最低價的 Spot Instance 了:「Spot fleet launches Spot instances in the lowest priced Availability Zone」。

先前必須指定 AZ (Availability Zone),現在則可以讓系統更動態選擇了...

以後有沒有機會讓系統透過 AWS Lambda 來決定定價策略?

奇怪的 t2.large instance

EC2 推出了新的 t2.large instance:「New T2.Large Instances」。

價錢剛好是 t2.medium 的兩倍,記憶體也是兩倍 (4GB 對 8GB),但 CPU 的部份只多了 50%,就如同 Colin Percival 講的,這看起來很奇怪:

不過 t2.* 是真的很好用,反正就當作多一個方案吧...

EC2 Instance 的發展紀錄

Jeff Barr 被問到有沒有 Amazon EC2 每種 instance 的發表時間,結果連他手上都沒有完整的資料... 這是他目前整理出來的資訊:「EC2 Instance History」。

Update:畢竟還是 AWS 的高層,應該是從內部抓出資料後再去找什麼時候公佈的,目前的表格補齊了。

其中 m1.small 在的 2006 年八月是歷史性的一刻,Amazon EC2 的發表,雲端服務的里程碑:「Amazon EC2 Beta」。

Google Cloud Platform 也推出了類似 Spot Instance 的產品

Google Cloud Platform 推出了類似於 Amazon EC2 的 Spot Instance 的產品,叫做 Preemptible VM:「Introducing Preemptible VMs, a new class of compute available at 70% off standard pricing」。

不同的是,沒有引入競價系統,而是固定的 discount。另外有一些限制,像是最多持續 24 小時:

The tradeoff is that Preemptible VMs are limited to a 24 hour runtime, and will sometimes be preempted (shut down) earlier than that.

而停機通知時間比 Spot Instance 短,只有 30 秒 (相較於 Spot Instance 有兩分鐘):

When Preemptible VMs are terminated, they'll receive a 30 second notice allowing you to shutdown cleanly (including saving work, if applicable).

Amazon VPC 的 Private Subnet 不需要透過 NAT 去 Amazon S3 抓資料了

在今天之前,Amazon VPC 裡 Private Subnet 的機器需要透過 NAT 才能連到 Amazon S3 的 Endpoint API 上操作:(NAT instance 會放在 Public Subnet 裡)

出自「NAT Instances」的說明。

但在這個架構中,如果 NAT instance 不夠大台,甚至是流量需求超過 10Gbps 時就會有效能瓶頸了。而目前沒有比較簡單的方法可以解決。(一種解法是拆多個 subnet 跑,透過多個不同的 NAT instance 連出去,但這樣架構又變複雜了)

今天則是公佈了讓內部可以直接存取 Amazon S3 的方式:「New – VPC Endpoint for Amazon S3」。第一波是美國 (扣除美國政府用的區域)、歐洲、亞洲、澳洲。所以是巴西與美國政府兩個區域還沒上:

Amazon VPC Endpoints for Amazon S3 are available now in the US East (Northern Virginia) (for access to the US Standard region), US West (Oregon), US West (Northern California), Europe (Ireland), Europe (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Singapore), and Asia Pacific (Sydney) regions.

這樣是解了不少問題,不過如果可以直接解決 NAT infrastructure 的問題應該會更痛快?

Amazon EC2 推出 D2 instance (超大硬碟空間)

在「The Next Generation of Dense-storage Instances for EC2」這邊公佈了 Amazon EC2 新的 D2 instance:

最大台有 48TB 硬碟與 244GB 記憶體,這規格好熟悉...

然後這次是全地區一起上,不過看起來不包括美國政府用的 AWS GovCloud (US)

You can launch d2 instances today in the US East (Northern Virginia), US West (Oregon), Europe (Ireland), Europe (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Singapore), and Asia Pacific (Sydney) regions as On-Demand, Reserved Instances, or Spot Instances.

EC2 instance Auto Recovery 功能全區開放

Twitter 上看到公告:「Announcement: EC2 instance Auto Recovery now available in 8 more AWS Regions」。

也就是 C3、C4、M3、R3、T2 這五種 instance 都可以開 Auto Recovery,而且必須在 VPC 內的 EBS-only instance。

在某種程度上的 High Availability 機制可以直接用這個功能解決掉。