最近AWSの勉強を本格的に始めました。
その中で個人的に、EC2インスタンスタイプはイメージしにくいと感じたので、復習の意味も込めて、記事にしてみたいと思います。
今回はイメージ図を作って理解を深めました。
AWSとは
Amazon Web Servicesとは、Amazon.comにより提供されているクラウドコンピューティングサービスである。ウェブサービスと称しているが、ウェブサービスに限らない多種多様なインフラストラクチャーサービスを提供している。これらのサービスは全世界で22の地理的リージョンで提供されている。1
簡単にいうとAmazonの提供しているインフラサービスですね。
EC2とは
概要
EC2は
Amazon Elastic Compute Cloud
の略称です。
それぞれの単語の頭文字をとって並べると「AECC」なので「EC2」なんですね。
特徴
- 必要な時に必要なだけサーバーを使える
- 使った分だけのコストを支払えばよい
- 変更可能なインスタンス(簡単に言えば、OSを載せた仮想サーバーのこと)から性能を選択できる
- 数分でサーバー調達起動まで
- 世界(宇宙は?)を問わず使える
- AMI(Amazon Machine Image)から幾つでも同じサーバを起動可能
- セキュリティーグループでトラフィック制御できる
- OSを管理者として操作可能
- 様々な料金オプション
メリット
- 必要な時に必要なだけの量が使用できる
- 事前にEC2インスタンスの数を予測する必要がない
つまり
サービス開発に集中できる!
EC2インスタンスタイプをどう選べばいいのか
それは、EC2で何を実現しようとするかで変わってきます。
CPUにスポットを当てて使用したり、RAM(メモリー)を強化して使いたいといった、提供したいサービスのニーズに合わせて選択します。
※例えばこのように表記されます↓
t2.micro
[ファミリー]t[世代]2.[サイズ]micro
ちなみにこのタイプは汎用型インスタンスタイプです。
このインスタンスタイプはかなり重要なのですが、覚えるのがちょっと大変です。
イメージ図にして覚えました。
イメージ
まず、ファミリーの
C,M,T,X,Rの5種類を覚えれば十分です。
ここでTタイプに注目しましょう。
Tタイプとは
M(Most scenario)と同様の汎用的な利用用途に選択できるインスタンスタイプです。
負荷がかかった時にCPUを多く利用したい時ってありませんか?
そこでこのTタイプが登場します。
CPUパフォーマンスがバーストする機能
Turbo機能を備えているのでTと表記するようです。
次に少し発展的なタイプです。
こちらもイメージですが、(米印の表現はあくまでイメージです。)
ストレージを強化したもの、高速なコンピュータ処理を強化したもの等を使用したい場合に選ばれるタイプです。
HDD,InputOutput,Dense(密集という意味で、磁気媒体などの記録密度的なイメージで覚えると良さそう)2
GPU,FPGA(GPUや、FPSゲームに必要なGPU処理等のイメージで覚えると良さそう)
ある程度、実際のネーミングの語源に近づけて解説を頑張ってみてはいますが、もう少しイメージだけではなくて、正確な語源等が知りたい方は以下が参考になるかもしれません。
サイズ
nano,micro,smallといった小さなリソースから選択できるので安価に利用できます。
このサイズは何のサイズなのかというと、実は要素がいくつもあります。
なので性能のレベルというイメージで良いです。
例えば、
CPU,メモリ、ネットワーク、ストレージ etc...
もちろんこれらは、EC2の最大の特徴である、Elastic(伸縮性)にサイズを変更できます。
世代
これは、バージョンですね。
最後に重要な点をまとめると。
- インスタンスタイプはElastic(伸縮性)に柔軟に性能を変えられる。
- そもそも性能予測をする必要がない。
最後に
AWSはその広範囲にわたる、様々なサービスを実現するために、本当に細かく分けられた機能をサービスとして展開しているため、たまにイメージしづらいことがありますが、自分のためのメモとして今後もまとめていきたい。
-
「Amazon Web Services」https://ja.wikipedia.org/wiki/Amazon_Web_Services ↩
-
「(AWS初心者) EC2インスタンスタイプが覚えられない」https://qiita.com/feifo/items/38c97b41dfbe468c640e ↩