[AWS]EC2について①: インフラストラクチャ / 種類、特徴について
EC2について
今までの記事でも、大枠に関しては触れてきましたが
今回からはより深掘りした内容です。
少々難しいのですが、初学者でも理解できるように、できる限りわかりやすくまとめました。
EC2(Amazon Elastic Compute Cloud)
-
AWSのクラウド上でサーバーを実行するためのサービス。
AWSではサーバーをインスタンスと名付け、その仮想マシンのインスタンスをEC2という。 - コンピューティングキャパシティを提供するサービス。(クラウドコンピューティングサービス)
クラウドコンピューティングサービスとは:
インターネットを介してコンピューター資源を提供するサービスのこと。
従来のオンプレミスのシステムと比較して、クラウドコンピューティングサービスは、
オンデマンドで必要な資源を提供し、柔軟性が高く、スケーラビリティがある。
※クラウドに関してはここのページにまとめています。ご参考に。
EC2の仮想化技術
HVM(Hardware-assisted Virtual Machine)と,
PV(Paravirtualization)の2つの方式がある。(HVMが多い。)
=> 一般的に、HVM方式は、WindowsやLinuxの最新バージョンを実行する場合に使用され、
PV方式は、古いバージョンのLinuxを実行する場合に使用される。
比較表
比較項目 | HVM方式 | PV方式 |
---|---|---|
仮想化方式 | ハードウェア仮想化方式 | 準仮想化方式 |
ゲストOSのカスタマイズ | 特別なカスタマイズ不要 | カスタマイズが必要 |
パフォーマンス | 高い | PV方式より低い |
I/O処理の速さ | 早い | PV方式より遅い |
対応OS | 広い | 限られたOSに対応 |
起動時間 | 長い | 短い |
利用用途 | 一般的な用途に利用される | I/Oが多いアプリケーションに利用される |
HVM(Hardware-assisted Virtual Machine):ハードウェア仮想化方式
- ハードウェアに搭載された仮想化支援機能(Intel VTまたはAMD-V)を利用し、ゲストOSを仮想化する方式。
- HVM方式では、ゲストOSに特別なカスタマイズが必要なく、ほとんどのOSをそのまま動作させることができる。
- ゲストOSが直接ハードウェアにアクセスするため、パフォーマンスが高く、I/Oの処理が早いという特徴がある。
- 上記した通り、WindowsやLinuxの最新バージョンを実行する場合に使用する場合が多いが、古いバージョンのLinuxやWindowsでも動作はするため、幅広いOSに対応している。
補足:I/O性能とは
コンピュータの入出力(I/O)処理能力のことを指す。入力とは、ユーザーがキーボードやマウスを使用してコンピュータに情報を与えることであり、出力とは、コンピュータが処理したデータをディスプレイやプリンタなどに表示すること。
I/O性能は、データの転送速度や処理速度などによって決まり、高速なI/O性能を持つコンピュータは、高速なデータ処理や高速なストレージアクセスが可能となります。
PV(Paravirtualization):準仮想化方式
- ハイパーバイザーに対して仮想化対応のカーネルを使用することで、仮想化を実現する方式。
- PV方式では、ハイパーバイザーとゲストOSの間での通信に特別なAPIを使用するため、ゲストOSに対してカスタマイズが必要になる。
- PV方式は、HVM方式よりも高速であり、仮想マシンの起動時間が短いという利点がある。
ただし、PV方式では、一部のOSにしか対応していないため、OSの選択肢が限られることがあります。
インスタンスの種類について
インスタンスタイプについて
-
インスタンスタイプは、AWSのクラウドコンピューティングサービスであるEC2において、仮想マシンのスペックを表すために用いられる用語。
-
以下のようにインスタンス名を確認できるよ!
-
インスタンス名は以下のような要素が合わさって構成されている!!!!
構成要素の詳細は下で解説します。
- それぞれこれら要素により、一意の識別子を持っており、EC2インスタンスを起動する際に、
インスタンスタイプを選択することで、必要なスペックに合わせて仮想マシンを構築することができる。
インスタンス構成要素について
上記で構成される要素が組み合わさってインスタンス名が
- インスタンスファミリー(ex. 汎用、コンピュート最適化、メモリ最適化など)
- インスタンス世代(最新の第6世代から第1世代まで)
- インスタンスサイズ(ex. micro、small、medium、largeなど)
各インスタンスタイプには、以下のようなスペックが割り当てられています。
インスタンスタイプによるスペック比較一覧
インスタンスタイプ | vCPU数(CPUクロック) | メモリサイズ | ストレージ容量 | ネットワーク性能 | インスタンスの価格 |
---|---|---|---|---|---|
t2.micro | 1 vCPU (2.5 GHz) | 1 GiB | EBSのみ | 低 | $0.0116/hour |
t2.small | 1 vCPU (2.5 GHz) | 2 GiB | EBSのみ | 低 | $0.0232/hour |
t2.medium | 2 vCPU (2.5 GHz) | 4 GiB | EBSのみ | 中 | $0.0464/hour |
m5.large | 2 vCPU (2.5 GHz) | 8 GiB | EBSのみ | 中 | $0.096/hour |
m5.xlarge | 4 vCPU (2.5 GHz) | 16 GiB | EBSのみ | 高 | $0.192/hour |
m5.2xlarge | 8 vCPU (2.5 GHz) | 32 GiB | EBSのみ | 高 | $0.384/hour |
m5.4xlarge | 16 vCPU (2.5 GHz) | 64 GiB | EBSのみ | 高 | $0.768/hour |
m5.12xlarge | 48 vCPU (2.5 GHz) | 192 GiB | EBSのみ | 10 Gbps | $2.304/hour |
c5.large | 2 vCPU (3.0 GHz) | 4 GiB | EBSのみ | 中 | $0.096/hour |
c5.xlarge | 4 vCPU (3.0 GHz) | 8 GiB | EBSのみ | 高 | $0.192/hour |
c5.2xlarge | 8 vCPU (3.0 GHz) | 16 GiB | EBSのみ | 高 | $0.384/hour |
c5.4xlarge | 16 vCPU (3.0 GHz) | 32 GiB | EBSのみ | 高 | $0.768/hour |
c5.9xlarge | 36 vCPU (3.0 GHz) | 72 GiB | EBSのみ | 10 Gbps | $1.728/hour |
c5.18xlarge | 72 vCPU (3.0 GHz) | 144 GiB | EBSのみ | 25 Gbps | $3.456/hour |
ここで使用される用語解説
-
vCPU数(CPUクロック):
EC2インスタンスが割り当てられたCPUの仮想的なコア数。
各インスタンスタイプによって異なり、パフォーマンスや価格に影響を与えます。
CPUクロックは、vCPUあたりのクロック数(GHz)で、インスタンスのパフォーマンスを決定するためにも重要な指標です。 -
メモリサイズ:
EC2インスタンスが使用できるメモリの量。
インスタンスが実行するアプリケーションやワークロードの要件に基づいて選択される。
通常、大規模なデータ処理や高負荷のアプリケーションには、より大きなメモリサイズが必要。 -
ストレージ容量:
EC2インスタンスで使用できるディスクストレージの量。ストレージ容量は、データやアプリケーションのサイズ、使用目的などによって異なります。EC2では、EBS(Elastic Block Store)ボリュームを使用して、永続性のあるブロックストレージを提供します。 -
ネットワーク性能:
EC2インスタンスが使用できるネットワーク帯域幅やI/O性能を表す。
ネットワーク性能は、アプリケーションの通信量や、データの転送量に応じて選択されます。
インスタンスタイプによって、ネットワーク性能が異なります。 -
インスタンスの価格:
EC2インスタンスを使用する際に必要な料金。インスタンスタイプやリージョン、利用時間などによって価格が異なります。また、オンデマンドインスタンス、リザーブドインスタンス、スポットインスタンスなど、使用方法によって異なる料金体系が存在します。
追加機能に関して
主に3つのオプションがあります。
インスタンスファミリーは、追加されるオプションによってさらに細分化されます。
以下は、追加オプションの種類と説明表になります。
オプション | 説明 | 特徴 |
---|---|---|
d | インスタンスストアを追加したインスタンスファミリー。 | ・ 一時的なストレージ領域であり、データのキャッシュや一時ファイル用に使用される。 ・ ストレージ最適化インスタンスファミリーに対する選択肢の1つになる。 |
n | ネットワーク帯域幅を追加したインスタンスファミリー。 | ・ 高速なネットワーク接続が必要なアプリケーションや大量のデータを処理する場合に最適。 ・ 大容量のデータを高速に送受信することができる。 |
a | AMDプロセッサを利用したインスタンスファミリー。 | ・ Intelプロセッサを利用したインスタンスファミリーと比較して、低コストで高いパフォーマンスを実現できる。 ・ CPUのコア数やクロック速度によって、様々な用途に最適化されたインスタンスが用意されている。 |
今日はここまで!!!
明日は、以下内容を行なっていきます!
- EC2のネットワーク構成
- 実際の作成
- セキュリティグループについて
Discussion