😸

[AWS]EC2について①: インフラストラクチャ / 種類、特徴について

2023/04/05に公開

EC2について

今までの記事でも、大枠に関しては触れてきましたが
今回からはより深掘りした内容です。
少々難しいのですが、初学者でも理解できるように、できる限りわかりやすくまとめました。

EC2(Amazon Elastic Compute Cloud)

  • AWSのクラウド上でサーバーを実行するためのサービス。 
    AWSではサーバーをインスタンスと名付け、その仮想マシンのインスタンスをEC2という。
  • コンピューティングキャパシティを提供するサービス。(クラウドコンピューティングサービス)

クラウドコンピューティングサービスとは:
インターネットを介してコンピューター資源を提供するサービスのこと。
従来のオンプレミスのシステムと比較して、クラウドコンピューティングサービスは、
オンデマンドで必要な資源を提供し、柔軟性が高く、スケーラビリティがある。

※クラウドに関してはここのページにまとめています。ご参考に。
https://zenn.dev/airiswim/articles/42cdcb93c0d40d

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