「AWS - Amazon EC2」の版間の差分

提供: MochiuWiki : SUSE, EC, PCB

📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)

198行目: 198行目:
<br>
<br>
<u>スナップショットによるバックアップの詳細は、[[AWS_-_Amazon_EC2#Amazon EC2とバックアップ]]を参照すること。</u><br>
<u>スナップショットによるバックアップの詳細は、[[AWS_-_Amazon_EC2#Amazon EC2とバックアップ]]を参照すること。</u><br>
<br>
===== インスタンスストア =====
一般的に、Amazon EC2のストレージにはEBSが使用されるが、一部のインスタンスタイプではインスタンスストアと呼ばれるストレージが選択できる。<br>
<br>
インスタンスストアはEBSと比較してデータ消失のリスクがあるが (冗長性がない、かつ、インスタンス停止時にデータが自動的に削除される等)、<br>
高速アクセスが可能なストレージ(IOPSが速い)であり、耐障害性を犠牲にしてでも高頻度アクセスにおける処理速度を重視する用途 (一時ストレージ等)に向いている。<br>
<br>
選択可能なインスタンスストアの種類は、[https://docs.aws.amazon.com/ja%20jp/AWSEC2/latest/UserGuide/InstanceStorage.html Amazon EC2の公式ドキュメント]を参照すること。<br>
<br>
===== EBSとインスタンスストアの比較 =====
* EBS
*: 標準的な速度であるが、データの消失対策やコスト面に優れる。
* インスタンスストア
*: 大変高速であるが、データの消失対策やコスト面で弱い。
*: 使用例: 速度最優先の一時ストレージ向け
<br>
両者の比較は、[https://docs.aws.amazon.com/ja%20jp/AWSEC2/latest/UserGuide/ComponentsAMIs.html AWSの公式ドキュメント]でも比較されており、<br>
インスタンスストアが適した用途として頻繁に変更される情報 (バッファ、キャッシュ、スクラッチデータ、その他の一時コンテンツ等) の一時ストレージに最適と記載されている。<br>
<br>
===== S3 / EFSとの違い =====
EBSやインスタンスストアはOSのイメージを持つため、Amazon EC2インスタンスと一緒に動作する事が前提となるため、一般的なサーバの内蔵ストレージに相当する。<br>
一方、S3は静的サイトのホスティングに使用されることから、それだけで独立したサービスとして動作するストレージ (SaaS) である。<br>
<br>
また、AWSで使用されるストレージにEFSがあり、<br>
これはEBSのようにAmazon EC2にマウントでき、かつ、複数のAmazon EC2インスタンスで共有ができるため、NASに近い存在といえる。<br>
また、EFSはLambdaやFargate等のAmazon EC2以外のコンピューティングサービスでも使用できる。<br>
<br>
共に、KMSによる暗号化ができる等の共通点もある。<br>
<br>
その他、冗長化やデータの保持形式も異なっている。<br>
<center>
{| class="wikitable" | style="background-color:#fefefe;"
|+ 冗長化やデータの保持形式の違い
|-
! style="background-color:#66CCFF;" |
! style="background-color:#66CCFF;" | 動作形態
! style="background-color:#66CCFF;" | デフォルトの冗長化方法
! style="background-color:#66CCFF;" | データ保持形式
|-
| EBS || Amazon EC2インスタンスと一緒に動作 || 単一AZ内で冗長化 || ブロックストレージ
|-
| S3 || 単独のサービスとして動作 || 複数AZで冗長化 || オブジェクトストレージ
|-
| EFS || Amazon EC2インスタンスにマウントされる事が多いが、<br>他サービスからも利用可能 || 複数AZで冗長化 || ファイルストレージ
|}
</center>
<br><br>
<br><br>



2023年12月29日 (金) 12:41時点における版

概要

Amazon EC2 (Amazon Elastic Compute Cloud) とは、クラウド上にOS付きの仮想マシン (VM) を作成できるサービスである。
クラウド上に自身または自社専用のサーバを構築することができる。

このように、クラウド上でOSありの仮想マシン環境を提供するサービスをIaaS (Infrastructure as a Service )と呼ぶ。
Amazon EC2はIaaSの中でも最も広く使用されているサービスであり、AWSの主要サービスの1つである。

Amazon EC2のようなIaaSをオンプレミスサーバと比較したメリットとして、物理的なハードが不要である事によるスペースや初期費用のメリットが挙げられる。
また、それ以外にも以下に示すメリットが得られる。

  • 従量制(使用した分)だけ過不足なく料金が請求される。(コストの変動費化)
  • 障害への耐性を簡単な設定で確保できる。(可用性)
  • 適切な設定により柔軟に性能を向上できる。(パフォーマンス)
  • アクセス権限を簡単に設定できる。(セキュリティ)


また、より機能を限定したSaaSやPaaSと比較した場合の特徴としては、「様々なことができるが、何かをするためには自身で逐次設定が必要である」ことが挙げられる。
ただし、近年ではサーバーレス技術を用いて設定管理を簡略化できるFargateやLambda等のサービスに置き換えられることも増えている。

様々なことができ、かつ、料金が安いというAmazon EC2の特徴は多くの企業にとって魅力的である。


EC2の構造

Amazon EC2は大きく分けて、3つの構成要素から成り立っている。

名称 一般的なPCにおける役割
AMI (OS) OS (Linux, Windows等) + 一部のミドルウェア
インスタンスタイプ CPU + メモリ (+ ストレージ + GPU)
ストレージ (EBS) ストレージ


AMI (OS)

AMI (Amazon Machine Images) とは、インスタンスの起動時に実行するOSイメージを表す。
また、ミドルウェアがインストールされたAMIもあり、用途に応じて選択することができる。

AWSがデフォルトで提供するAMI以外にも、サードパーティ製のAMIやユーザが独自に作成できるカスタムAMIと呼ばれる仕組みが存在しており、環境構築の簡略化やバックアップ用途等で使用されている。

AWSがデフォルトで提供するAMIを下表に示す。
また、アーキテクチャも同時に選択できるが、アーキテクチャとインスタンスタイプのアーキテクチャを揃える必要がある。

韓国ソウルリージョンで提供されているOS (2023/12現在)
名称 分類 概要
Amazon Linux Linux RHEL派生のAmazonがカスタマイズしたLinux
SLES Linux Slackware派生のLinux
RHEL Linux RHEL
Ubuntu Pro Linux Debian派生のLinux
Windows Server Windows -


初めて使用する場合は、Amazon Linuxを選択することが推奨される。

ミドルウェア

一般的なのWebサーバ等の用途であれば、OSのみがインストールされたAMIでよい。
以下に示すような特殊用途を想定して、一部ミドルウェアがインストールされたAMIも提供されている。

AMIの名称 概要 用途
Deep Learning AMI TensorFlowおよびPyTorchの実行環境(CUDA, GPUドライバ等) Deep LearningによるAI開発
with SQL Server SQL Serverがインストールされている データベースサーバ
with .NET 6 .NETの開発環境やMATEによるデスクトップ環境 .NETを使用した開発 (Unityを使用したゲーム開発等)


インスタンスタイプ

サーバ上で処理を実行する装置(CPU, RAM等)を選択する。

CPUおよびRAM等を選択するために一意に付与されたIDをインスタンスタイプと呼び、t2.microのような名称で表される。
名称の解釈を以下に示す。

  • 先頭の文字
    インスタンスの種類(ファミリー)
    用途と対応
  • 先頭から2つ目の数字
    世代
    数字が大きいほど高スペック
  • nano、micro
    サイズを表す。
    基本的に大きいほど高スペック


名称 概要
vCPU 仮想CPUの個数
(詳細なCPUの種類は、Amazon EC2の公式ドキュメントを参照すること)
メモリ 仮想メモリの容量
ネットワーク帯域幅 EC2外部と通信する際の帯域幅 (通信速度)
ストレージ インスタンスストア(後述)の容量 (EBSではないことに注意する)
通常は0
GPU GPUの個数 (一般的なサーバ用途では0でよいが、Deep Learningをする場合は必要となる)


また、用途とインスタンスタイプの関係の詳細を知りたい場合は、Amazon EC2の公式ドキュメントを参照すること。
例えば、学習用途の場合は、t2.microを選択してよい。

ストレージ (EBS)

一般的なPCにおけるストレージと同様に、Amazon EC2にもストレージを付与する必要がある。
特に、起動用OSがインストールされたルートボリュームは必須である。

Amazon EC2のストレージには、一般的にEBS (Elastic Block Store)というサービスが用いられるが、特殊な用途ではインスタンスストアと呼ばれるサービスも使用される。

名称 冗長性 着脱(アタッチ)可否 データの永続性 バックアップ(スナップショット) 速度(スループット) 速度(IOPS)
EBS 可能 あり あり 高速 SSDは高速
HDDは低速
インスタンスストア 不可 なし なし 不可 EBSより高速 EBSよりかなり高速


スループットとIOPSの違いを以下に示す。

  • スループット
    大きなファイルを一度に読み書きする時の速度
  • IOPS
    細切れのファイルに頻繁に読み書きする時の速度


EBS

EBSは、Amazon EC2に対して自由に着脱(アタッチ / デタッチ)可能なストレージであり、一般的なストレージのように使用することができる。
EBSもインスタンスタイプと似たボリュームタイプと呼ばれる一意の名称から選択することができる。

主なボリュームタイプを下表に示す。

ボリュームタイプ名称 種類 耐久性 スループット (MB/s) IOPS (回/s) 容量 備考
gp3 SSD 99.8% 〜 99.9% 1000 16,000 1[GB] 〜 16[TB]
gp2 SSD 99.8% 〜 99.9% 250 16,000 1[GB] 〜 16[TB]
io2Block Express SSD 99.8% 1000 16,000 4[GB] 〜 64[TB]
io2 SSD 99.999% 4000 256,000 4[GB] 〜 16[TB]
io1 SSD 99.999% 1000 64,000 4[GB] 〜 16[TB] 複数インスタンス共有可
st1 HDD 99.8% 〜 99.9% 500 500 125[GB] 〜 16[TB] ルートボリューム不可
sc1 HDD 99.8% 〜 99.9% 250 250 125[GB] 〜 16[TB] ルートボリューム不可


基本的に、HDDタイプのsc1 / st1よりもSSDタイプのgp2やgp3の方が高性能かつ料金が高い。
また、同じSSDタイプでもgp2 / gp3より、io1 / io2の方が高性能かつ料金が高い。

gp2が容量に応じた時間課金のみであるのに対し、gp3は読み書きに伴うIOPSやスループットにも課金される。

ボリュームタイプによる性能差は、スループットよりもIOPSの方が大きいため、IOPSに求められる要件と料金のバランスを見て判断することを推奨する。
スループットやIOPSは、ボリュームの容量によっても変化するため、詳細を知りたい場合はAmazon EC2の公式ドキュメントを参照すること。

なお、EBSはAmazon EC2と一体化して動作するという特性上、同じAZ内のAmazon EC2インスタンスとしか紐付けることができない。
また、io1を除き、1つのEBSを複数のAmazon EC2インスタンスで共有する事はできない。

※スナップショットとは
スナップショットは、EBSのデータをAmazon S3にバックアップする機能のことである。
これは、ユーザのAmazon S3ではなく、AWSが管理するAmazon S3バケットに保存される。
障害時の復旧等に有用な機能であるが、有料であることに注意する。

また、EBSのみで使用できる機能であるため、インスタンスストアでは使用できないことに注意する。

スナップショットによるバックアップの詳細は、AWS_-_Amazon_EC2#Amazon EC2とバックアップを参照すること。

インスタンスストア

一般的に、Amazon EC2のストレージにはEBSが使用されるが、一部のインスタンスタイプではインスタンスストアと呼ばれるストレージが選択できる。

インスタンスストアはEBSと比較してデータ消失のリスクがあるが (冗長性がない、かつ、インスタンス停止時にデータが自動的に削除される等)、
高速アクセスが可能なストレージ(IOPSが速い)であり、耐障害性を犠牲にしてでも高頻度アクセスにおける処理速度を重視する用途 (一時ストレージ等)に向いている。

選択可能なインスタンスストアの種類は、Amazon EC2の公式ドキュメントを参照すること。

EBSとインスタンスストアの比較
  • EBS
    標準的な速度であるが、データの消失対策やコスト面に優れる。
  • インスタンスストア
    大変高速であるが、データの消失対策やコスト面で弱い。
    使用例: 速度最優先の一時ストレージ向け


両者の比較は、AWSの公式ドキュメントでも比較されており、
インスタンスストアが適した用途として頻繁に変更される情報 (バッファ、キャッシュ、スクラッチデータ、その他の一時コンテンツ等) の一時ストレージに最適と記載されている。

S3 / EFSとの違い

EBSやインスタンスストアはOSのイメージを持つため、Amazon EC2インスタンスと一緒に動作する事が前提となるため、一般的なサーバの内蔵ストレージに相当する。
一方、S3は静的サイトのホスティングに使用されることから、それだけで独立したサービスとして動作するストレージ (SaaS) である。

また、AWSで使用されるストレージにEFSがあり、
これはEBSのようにAmazon EC2にマウントでき、かつ、複数のAmazon EC2インスタンスで共有ができるため、NASに近い存在といえる。
また、EFSはLambdaやFargate等のAmazon EC2以外のコンピューティングサービスでも使用できる。

共に、KMSによる暗号化ができる等の共通点もある。

その他、冗長化やデータの保持形式も異なっている。

冗長化やデータの保持形式の違い
動作形態 デフォルトの冗長化方法 データ保持形式
EBS Amazon EC2インスタンスと一緒に動作 単一AZ内で冗長化 ブロックストレージ
S3 単独のサービスとして動作 複数AZで冗長化 オブジェクトストレージ
EFS Amazon EC2インスタンスにマウントされる事が多いが、
他サービスからも利用可能
複数AZで冗長化 ファイルストレージ