AWS CLF(Cloud Practitioner)対策

EC2

このレッスンを終えると、EC2 が何を貸してくれるサービスなのかを、自分でサーバーを1台建てるときの手順と対応づけて説明できるようになります。

自分でサーバーを建てるなら何をするか

オンプレミスでサーバーを1台用意するとき、あなたは次の作業を順番にこなしていたはずです。

  1. マシンを調達する。CPU のコア数とメモリ容量を決めて発注し、届くまで数週間待つ
  2. ラックに載せ、電源とネットワークをつなぐ
  3. OS を入れる。Ubuntu なのか Amazon Linux なのかを決めて、インストールメディアから焼く
  4. SSH の鍵を置き、ファイアウォールを設定し、ようやくアプリを載せる
  5. 使わなくなっても、マシンは手元に残る。捨てるまで減価償却が続く

Amazon Elastic Compute Cloud (EC2) は、この 1 から 4 までを数分に縮め、5 を「消せば終わり」に変えるサービスです。EC2 が貸すのは物理マシンそのものではなく、AWS が持つ巨大なサーバー群の上で動く仮想サーバーです。この 1 台をインスタンスと呼びます。

インスタンス、AMI、インスタンスタイプ

EC2 を起動するとき、あなたが決めるのは主に次の3つです。

決めることオンプレでいうと中身
AMI (Amazon Machine Image)OS を入れた状態のディスクイメージOS の種類とバージョン、入れておくソフト
インスタンスタイプ発注するマシンの型番CPU コア数、メモリ、ネットワーク性能の組み合わせ
キーペアとセキュリティグループSSH 鍵と ufw の設定ログイン方法と、通す通信の範囲

AMI は「起動元のひな型」です。設定を終えたインスタンスから自分の AMI を作っておけば、同じ状態のサーバーを何台でも数分で複製できます。オンプレで OS を毎回入れ直していた作業が、テンプレートの選択に置き換わります。

インスタンスタイプは用途ごとに系統が分かれます。汎用、コンピューティング最適化 (CPU 重視)、メモリ最適化 (大きなインメモリ処理向け)、ストレージ最適化、高速コンピューティング (GPU) といった分類です。CLF で型番の細かい数字を覚える必要はありません。「メモリを大量に使うのでメモリ最適化」という対応づけができれば十分です。

そして EC2 は責任共有モデルでいう IaaS にあたります。物理ホスト、ハイパーバイザー、データセンターの安全は AWS が守りますが、インスタンスの中の OS 更新、ミドルウェアの設定、アプリの脆弱性対応は利用者の責任です。ここがあとで出てくる Lambda との一番大きな違いになります。

試験ではこう出る

出題者は「EC2」という語を出さずに、要件の言い換えで書いてきます。

  • 「OS レベルの完全な制御が必要」「特定のカーネル設定が要る」と書いてあれば EC2 を選ばせたい合図です
  • 「起動元のイメージ」「同じ構成のサーバーを複数展開したい」とあれば AMI が答えです。スナップショットや EBS ボリュームと迷わせてきます
  • 「メモリ内で大きなデータを処理する」「並列計算の CPU 性能が要る」は、インスタンスタイプの系統を選ばせる問題です
  • 「EC2 インスタンスの OS にパッチを当てるのは誰の責任か」は責任共有モデルとの合わせ技で、答えは利用者です

まとめ

  • EC2 は仮想サーバーを分単位で借りるサービスで、1 台をインスタンスと呼びます
  • AMI は起動元のイメージで、同じ構成の複製を素早く作るために使います
  • インスタンスタイプは用途別の系統で選びます。型番の暗記は不要です
  • EC2 は IaaS なので、OS より上の管理と更新は利用者の責任です
生田 陸人
ゆめさくエンジニア / 現役ソフトウェアエンジニア
編集 LuaGate編集部

復習ミニクイズ

同じ設定を済ませた Web サーバーを、必要になったらすぐ 10 台複製できるようにしておきたい。EC2 でこの目的に使うものはどれですか。