AWS - Amazon EC2

2023年12月29日 (金) 11:22時点におけるWiki (トーク | 投稿記録)による版 (ページの作成:「== 概要 == Amazon EC2 (Amazon Elastic Compute Cloud) とは、クラウド上にOS付きの仮想マシン (VM) を作成できるサービスである。<br> クラウド上に自身または自社専用のサーバを構築することができる。<br> <br> このように、クラウド上でOSありの仮想マシン環境を提供するサービスをIaaS (Infrastructure as a Service )と呼ぶ。<br> Amazon EC2はIaaSの中でも最も広く使用されて…」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)

概要

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をする場合は必要となる)


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