[レポート]Amazon EC2 の進化の歴史から学ぶEC2入門レポート #AWSSummit

AWS Summit 2018 Tokyo

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

登壇者

アマゾンウェブサービス株式会社 ソリューションアーキテクト 松尾康博様

EC2の概要

  • EC2で使われている物理サーバーをリージョン単位で備えている
  • ハイパーバイザー上の仮想マシンをお客様に提供している
  • この提供している仮想マシンをEC2インスタンスという
  • AWSが管理している物理サーバー上で動いている
  • 50以上の拠点で好きなだけインスタンスを立てることができる
  • 1台 〜 1000台など複数ののインスタンスを利用できるようになった
  • APIにてEC2インスタンスの操作が可能
  • 世界18リージョンと54アベイラビリティゾーン(=データセンター)がある
  • ファイバーネットワークでつながっている
  • SLAを99.99%としてサービス提供をしている

EC2リソースの概要

  • OSをインストールしてイメージを作る = AMIと呼ばれる(Amazon Machine Image)
  • AMIを元にEC2インスタンスを起動する
  • EC2インスタンスはリージョン内のAZを指定することでインスタンスを作成することができる
  • AZ内ではVPCと呼ばれるネットワークがあり、外部公開用(インターネット)サブネットやプライベートサブネットにEC2インスタンスを立てることができる
  • そもそもが仮想マシンはストレージを接続しないことには動作しない
  • そこで、EBS(ElasticBlockStorage)と呼ばれるボリュームをEC2へ接続する
  • このEBSはスナップショットを取得することができ、スナップショットデータをS3に配置される
  • EC2インスタンスのスペックは大きくインスタンスタイプと呼ばれる
  • インスタンスタイプは「インスタンスファミリー」、「世代」、「サイズ」を一つにしてインスタンスタイプと呼ばれる
  • このインスタンスタイプは現在、70種類まで増えている状況であることからそれぞれのインスタンスタイプを選択することで要件に適したインスタンスを使える

発表当初のAmazon EC2

  • 2006年8月にAmazon EC2を発表
  • 2006年3月にS3が発表されている
  • 2006/8/25のブログがあった

発表時のEC2コンセプト

  • 必要なときに必要な数だけインスタンスをAPIで起動
    • 書面や面倒な手続きがなく利用可能
  • 従量課金
    • 電気代のように使った文だけ使える
  • インスタンスサイズ
    • m1.smallのみ提供された
  • 主な使途として業務用のバッチやテスト用に使用されていた
現在と同じ機能 発表当時との差異
従量課金 秒毎の課金、RI、スポット
オンデマンド マネジメントコンソール操作
API 多数のインスタンスタイプ
AMI,SG,keypair 商用OS(AMI)の利用
Xenベース KVM,ベアメタル
InstanceMetaData -
Userdata -
  • EC2インスタンスストア
    • インスタンスが動作しているホスト内部の特定ストレージ(120GB)を提供
    • インスタンスをTerminateすると、保存データが削除される(非永続化データストア)
    • スナップショットが存在しない

発表当時のインスタンスについて

  • 2006-10
    • m1.smallのみを提供
    • そこからよりスペックアップしたインスタンスの要望があった
      • m1.large,xlargeを提供
    • ウェブサーバーなどメモリではなくCPUコアに重きをおいてをコア数を増やしたインスタンスが登場
      • C1インスタンス
    • 合わせてメモリ面を増設したインスタンスを提供
      • m2.2xlarge

EC2の負荷分布状況から得たフィードバック

AmazonにてEC2の負荷分布を分析した結果は以下だった

  • 圧倒的にCPUがアイドル状態のインスタンスが多かった
  • 大半が常時かどうしているものの低負荷
  • 稀に不可が高くなる物もあった
  • その点からそれぞれの分野に応じたインスタンスタイプを提供する形で現在までのインスタンスタイプの種類まで数を増やした

機能追加の変遷

2008年

要望が多いものから実装していくのがAWSのポリシーとして多くのフィードバックから実装を行った

  • RHELベータ対応
  • 固定IP(EIP)の実装、マルチAZ
  • EBSを投入
  • SLAを99.95%として定義
  • WindowsServer2003を提供
  • EUリージョンにてAmazonEC2をリリース

2009年

  • マネジメントコンソール実装
  • リザーブドインスタンス実装
  • AutoScaling,ELB,CloudWatch
  • VPCベータ提供
  • EBS Backed AMIの提供開始
  • Spotインスタンスの実装

このあたりでだいぶモダンに使えるようになったと考えられる

2010年

運用面を意識した機能の追加を実施

  • 基本機能強化
  • シンガポール追加
  • HVM AMIをサポート
  • AmazonLinux,SUSEが登場
  • keypairを利用
  • タグ付与によるインスタンス管理
  • Amazon EC2を無料使用枠にて提供
  • VM IMport

2011年

  • 東京リージョン開設
  • ハードウェア専有(Dedicatedインスタンス)を実装
  • ENIを実装

2012年

  • 全インスタンスで64bitに対応したOSを提供
  • 複数のIPアドレス付与機能を実装
  • EBS最適化インスタンスを提供

もっと運用面を強化

2013年

  • 別リージョンへのAMIコピー機能を提供

2014年

  • AutoScalingを設定機能を提供

2016年

  • ENAを実装

2017年

  • SLAを99.05% → 99.99%に変更

スポットインスタンスについて

  • 2009年登場
  • 日本ではあまり使われていなかった
  • 理由は、スポットインスタンスの性格上、インスタンスの停止される懸念が多かった
  • これはEC2インスタンスを安価で使用頂ける特性を理解して使われている
  • AWSのアプローチとして、スポットインスタンスに精通していた企業を買収することでEC2 FleetやSpot blockなど機能を多く追加した
  • また、割り込みが入ったときにデータロストなど損失へ備えてSuspendやStopを実装
  • 需要に応じて変化が生じていた価格変動を抑えた
  • 上記より、現在は落ちないような形にしている
  • 改めて分析した結果、95%は利用完了したことでインスタンスを停止されており、残りの5%はホスト需要の逼迫で落とされている
  • 以上でスポットインスタンスを利用する敷居が低くなったので、EC2インスタンスをご利用時にはスポットインスタンスを検討してほしい

最後に

私自身がAWSを使用するきっかけになったEC2の歴史を辿ることは非常に面白い時間でした。
今では当たり前になっている機能は多くのユーザーからのフィードバックによって成立された点から引き続き、EC2を応援していきたいと思います。