はじめに
re:Invent 2020でインスタンスタイプが発表されていましたが、「D3en」という文字を見て、「えっと、Dってなんだっけ…?」となってしまった方(=私)のための、初心者による初心者向け記事です。
何番煎じかわかりませんが、数ある良記事・資料と比べて、さらに一段階ハードルさげたつもりです。
AWSインスタンスタイプの記法
インスタンスタイプの記法については説明を省略します。以下をご参照ください。
-
AWS Black Belt Online Seminar Amazon EC2
https://www2.slideshare.net/AmazonWebServicesJapan/20190305-aws-black-belt-online-seminar-amazon-ec2/19 -
AWS ドキュメント「インスタンスタイプ」
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/instance-types.html
まずはこれだけ!インスタンスタイプの基礎4種類
上のBlack Belt資料を含む様々なウェブサイト等で、各インスタンスタイプについて詳細に、丁寧に説明にされているのですが、私が初めてAWSを学習した時は、種類が多くて、何をどう覚えてよいか混乱してしまいました。
というわけで、本当に初めてAWSを学習する方には、まずはC, M, R, Tの4種類だけ覚えることをおすすめします。
インスタンスというのは、基本的にCPUリソースとメモリリソースの組み合わせで出来ているので、リソースの配分がCPU寄りか、メモリ寄りか、あるいはその間(Middle)か、で覚えます。
この3つに次いで重要なのがTタイプです。この4つは必須です。
TタイプはMと同じく汎用型のタイプですが、負荷に応じてCPUパフォーマンスがバーストする機能(Turbo機能)を持っています。
ちなみにTタイプはこの機能に加え、C, M, Rには無い、nano, micro, smallといった非常に小さなリソース(特にメモリ)をもつサイズを持ち、とても安価に利用できるため、開発環境等でよく使われます。
EC2には他にもいろいろなインスタンスタイプがありますが、Managed Serviceで選択可能なインスタンスタイプ(ノードタイプ)は基本的にこの4種類なので、やはりこの3つは最低限抑えておくのが良いと思います。
サービス名 | C | M | R | T | その他 |
---|---|---|---|---|---|
Amazon Aurora | - | - | 〇 | 〇 | - |
Amazon RDS | - | 〇 | 〇 | 〇 | - |
Amazon ElastiCache | - | 〇 | 〇 | 〇 | - |
Amazon Elasticsearch Service | - | 〇 | 〇 | 〇 | I |
残りは気合い
残りは気合で覚えるしかないのですが、大きく汎用プロセッサ系、ストレージ系、ネットワーク系、特殊用途系に分けられます。ざっくりどの種類に当てはまるかさえ把握できればニュースや記事を見たときに困らないレベルになるかなと思っています。
インスタンスタイプ
インスタンスタイプについては、C,M,R,T以外は「なんだっけ?」となっても正直問題ないと思っています。Xがメモリ、H,D,Iがストレージとだけわかっているとちょっと楽かも。あとは都度調べるで良いのかなーと。
最近は3文字のものが増えてわかりやすくなりました。
分類 | AWSにおけるカテゴリ | タイプ | 説明 | 覚え方 |
---|---|---|---|---|
汎用プロセッサ系 | 汎用 | A | Arm Neoverseコアを搭載したAWS Gravitonプロセッサを使用(graviton2以降は「g」で表現) | ARM |
メモリ系 | メモリ最適化 | X | 大きなメモリを積んでいて、RAM 1GiB あたりの価格が最も低い | e X tra-Large Memory |
ストレージ系 | ストレージ最適化 | H | HDDのローカルストレージを持つ | HDD |
ストレージ系 | ストレージ最適化 | D | より高密度のHDDのローカルストレージ | Dense |
ストレージ系 | ストレージ最適化 | I | ローカルNVMe SSDストレージを持つ(最近は「d」で表現) | high I/O performance |
特殊用途系 | 高速コンピューティング*1 | G | GPU搭載でグラフィック処理が得意 | GPU |
特殊用途系 | 高速コンピューティング*1 | P | GPU搭載でMLやその他汎用用途で使用 | GPUだけどグラフィック特化じゃないほう(G P U) |
特殊用途系 | 高速コンピューティング*1 | F | FPGA搭載 | FPGA |
特殊用途系 | 高速コンピューティング*1 | Inf | Deep Learningに最適なInferentiaチップを搭載(Inf1, Inf2) | Inf erentia |
特殊用途系 | 高速コンピューティング*1 | Trn | Deep Learningに最適なTrainiumチップを搭載 | Tr ai n ium |
特殊用途系 | 高速コンピューティング*1 | Hpc | HPCのワークロードに最適化 | HPC |
*1 なんらかのハードウェアアクセラレーター使用
追加機能/補足情報
インスタンスタイプと世代の後ろについて、小文字で表される補足情報があります。こちらはインスタンスタイプと組み合わせで使われ、慣れてないとどれがどれかわからなくなりやすいです。i(intel),a(amd),g(graviton=arm)は覚えやすいのでこれらは覚えてしまうとして、あとは都度で良い気がしますが、よく目にするので優先的に覚えておくと良いのは、d,nあたりでしょうか。
分類 | 表記 | 説明 | 覚え方 | 例 |
---|---|---|---|---|
汎用プロセッサ系 | i | Intel プロセッサを使用 | Intel | c6i,m6i,r6i |
汎用プロセッサ系 | a | AMD EPYC プロセッサを使用 | AMD | c5a,m5a,t3a,r5a |
汎用プロセッサ系 | g | AWS Graviton(ARM プロセッサ)を搭載 | Graviton | c6g,m6g,t4g,r6g |
メモリ系 | e | 追加のメモリ・ストレージリソースを持つ | e X tra storage/memory | d3en, X1e |
ストレージ系 | b | EBS帯域幅の拡張などEBS最適化 | E B S最適化 | r5b |
ストレージ系 | d | ローカルNVMe SSDストレージを持つ | Directly-Attached NVMe Storage | c5d,m5d,r5d |
ネットワーク系 | n | ネットワーク帯域幅の拡張等ネットワーク最適化 | Network拡張 | c5n,m5n,r5n |
特殊用途系 | z | 周波数が高い | 高いGHz | m5zn,r7iz |