はじめに
前回の記事「AWSウェブサーバーの構成要素について理解する」では、AWSのウェブサーバーを構成する様々な要素について概要を紹介しました。
今回は、その中核を担うEC2(Elastic Compute Cloud)について掘り下げていきます。
EC2とは
EC2インスタンスは、AWSが提供する仮想サーバーサービスです。
ユーザーは必要なときにコンピューティングリソースを利用し、
必要がなくなれば停止または終了することで、柔軟にリソースを管理できます。
EC2インスタンスは、Webサーバー、アプリケーションサーバー、データベースサーバー
など、さまざまな用途に利用できます。
EC2を使うとどんないいことがある?
-
柔軟性
- サーバーをオンデマンドで起動・停止でき、必要がなくなればすぐ停止または終了することが可能
-
拡張性(スケーラビリティ)
- サーバーのスペックアップや台数の増加が容易のため、トラフィックが急増しても
遅延(レイテンシ)やエラーが発生しないようにできる - ビジネスの成長に合わせて段階的に拡張できるため、初期の過剰投資を避けられる
- サーバーのスペックアップや台数の増加が容易のため、トラフィックが急増しても
-
従量課金制
- 使った分だけ支払う仕組みで、初期投資が少なく済む
-
運用管理の手間を削減
- 物理サーバーのような機器メンテナンスや設置場所確保が不要
- ブラウザから簡単に管理することができ、複雑な設定も自動化することができる
EC2の構成要素
EC2の構成は以下のような要素で成り立っています:
-
インスタンスタイプ
- CPUやメモリ、ストレージ、ネットワーク性能などを用途に応じて
選択可能なサーバーのスペック種類 - 一般用途向け(汎用)、計算処理向け、メモリ最適化型など様々なタイプが
用意されている
- CPUやメモリ、ストレージ、ネットワーク性能などを用途に応じて
-
AMI(Amazon Machine Image)
- EC2を起動するためのテンプレートとなる「仮想マシンのイメージ」
- Windows、LinuxなどOSや、ミドルウェアがプリインストールされた
イメージを選択することが可能 - 自分で構築したサーバー環境をAMIとして保存し、複製することが可能
-
EBS(Elastic Block Store)
- EC2に接続されるストレージ(=ハードディスクのようなもの)
- インスタンスを停止・終了しても、EBSボリュームのデータは保持される
- スナップショット(バックアップ機能)があり、障害時の復旧に使用可能
- 暗号化機能により、データを保護することができる
-
セキュリティグループ(SG:Security Group)
- EC2インスタンスへの通信を制御するファイアウォール
- どのポートやプロトコルを許可するか設定可能
- どの場所・どのコンピュータ(送信元IPアドレス)からアクセスできるかを制限できる
構成の流れ
-
インスタンスタイプを選択
- サーバーのスペック(CPUコア数、メモリ容量、ネットワーク性能など)を決定
- 用途に応じて適切なインスタンスタイプを選択する
(例:t2.microは小規模用途、m5.largeは中規模用途)
-
AMIを選択
- 使用するOSとソフトウェア環境を決定(Windows、Linux、カスタムAMIなど)
- パブリックAMI、コミュニティAMI,または独自に作成したAMIから選択
-
EC2を起動
- 選んだインスタンスタイプとAMIで実際にサーバーを起動する
-
EBSをアタッチ
- 必要に応じて追加のストレージボリュームを接続する
- 汎用SSD、プロビジョンドIOPSなど用途に応じたEBSタイプを選択
- 必要なストレージ容量を設定
構成要素の詳細
インスタンスタイプ
以下に、種類と用途についてまとめました:
ファミリー | タイプ例 | 特徴 | 主な用途 |
---|---|---|---|
T型 | t2.micro, t3.small | バースト可能な低コストインスタンス | 開発環境、小規模Webサイト、バッチ処理 |
M型 | m5.large, m6i.xlarge | バランスの取れた汎用インスタンス | 中規模Webサーバー、アプリケーションサーバー |
C型 | c5.large, c6i.xlarge | 計算最適化 | バッチ処理、科学計算、高トラフィックWebサーバー |
R型 | r5.large, r6i.xlarge | メモリ最適化 | データベース、キャッシュサーバー、リアルタイム分析 |
P型 | p3.2xlarge, p4d.24xlarge | GPU搭載 | 機械学習、画像処理、高性能計算 |
G型 | g4dn.xlarge, g5.xlarge | グラフィックス最適化 | 動画エンコード、3Dビジュアライゼーション |
I型 | i3.large, i4i.large | ストレージ最適化 | NoSQLデータベース、データウェアハウス |
D型 | d2.xlarge, d3.xlarge | 高密度ストレージ | 分散ファイルシステム、データ処理 |
AWSのEC2インスタンスの名前は「ファミリー + 世代 + サイズ」で構成されています:
- ファミリー(アルファベット)
- インスタンスの用途や特性を表す
- 世代(数字)
- インスタンスの世代を表す
- 数字が大きいほど、新しい世代
- インスタンスのリソース量を表す
- サイズが大きくなるほど、CPUやメモリが増加
例:t2.micro
- 第2世代のインテルXeonプロセッサ搭載バースト可能タイプ
- t: バースト可能タイプ
- 2: 第2世代
- micro: 小規模サイズ
EC2のインスタンスタイプの数字は基本的にプロセッサの世代を表し、新しい世代ほど性能が向上しています。また、末尾の文字は搭載するプロセッサの種類を示しており、例えば「i」はインテル、「a」はAMD、「g」はAWS独自のARMベースGravitonプロセッサを意味します。
AMI
AMIの種類について、特徴や用途をまとめました:
AMIの種類 | 提供元 | 特徴 | 用途 |
---|---|---|---|
パブリックAMI | AWS公式 | AWSが提供する標準的なOSイメージ セキュリティパッチが適用済み |
標準的なサーバー環境 Amazon Linux、Ubuntu、Windows Server など |
コミュニティAMI | AWS利用者 | コミュニティメンバーが作成・共有 特定用途に最適化されたものが多い |
特定のアプリケーション環境 開発フレームワーク導入済み環境 |
AWS Marketplace AMI | ソフトウェアベンダー | 商用ソフトウェア搭載 ライセンス込みの有料/無料AMI |
商用アプリケーションの迅速な導入 特殊な業務システム |
カスタムAMI | 自社/自分自身 | 自分で構築した環境から作成 独自の設定や構成が含まれる |
環境の複製・バックアップ 会社標準の環境配布 |
AMIは用途に応じて最適なものを選択することで、サーバー構築の時間短縮やリソース活用の効率化につながります。
EBS
EBSボリュームタイプについて、種類と用途をまとめました:
ボリュームタイプ | 特徴 | パフォーマンス | 主な用途 |
---|---|---|---|
汎用SSD (gp3) | バランスの取れた性能と価格 独立したIOPSとスループット |
最大16,000 IOPS 最大1,000 MB/秒 |
OS、開発環境 中小規模データベース |
汎用SSD (gp2) | gp3の前世代 ボリュームサイズに応じた性能 |
最大16,000 IOPS 最大250 MB/秒 |
低~中負荷のアプリケーション 仮想デスクトップ |
プロビジョンドIOPS SSD (io2) | 最高性能と耐久性 99.999%の耐久性 |
最大64,000 IOPS 最大1,000 MB/秒 |
重要業務システム 大規模データベース |
プロビジョンドIOPS SSD (io1) | io2の前世代 高い性能と99.9%の耐久性 |
最大64,000 IOPS 最大1,000 MB/秒 |
I/O集約型アプリケーション |
スループット最適化HDD (st1) | 低コストで高スループット 頻繁なアクセスに最適化 |
最大500 MB/秒 最大500 IOPS |
ビッグデータ処理 ログ処理、データウェアハウス |
Cold HDD (sc1) | 最低コスト アクセス頻度の低いデータ向け |
最大250 MB/秒 最大250 IOPS |
アーカイブ 長期保存データ |
用途や予算に応じて最適なタイプを選択することで、パフォーマンスとコストのバランスを取ることができます。
セキュリティグループ
セキュリティグループについて、一般的な設定例をまとめました:
サーバー種類 | 開放ポート | アクセス元 |
---|---|---|
Webサーバー | HTTP(80), HTTPS(443) | すべてのIP (0.0.0.0/0) |
アプリケーションサーバー | アプリ専用ポート | WebサーバーのSG |
データベースサーバー | MySQL(3306) | アプリケーションサーバーのSG |
適切に設定することで、必要な通信のみを許可し、不正アクセスからEC2インスタンスを保護することができます。
まとめ
今回は、EC2の仕組みと構成要素について紹介しました。
-
インスタンスタイプ:
- サーバーのスペック種類
-
AMI(Amazon Machine Image):
- EC2を起動するためのテンプレートとなる「仮想マシンのイメージ」
-
EBS(Elastic Block Store):
- EC2に接続されるストレージ(=ハードディスクのようなもの)
-
セキュリティグループ(SG:Security Group):
- EC2インスタンスへの通信を制御するファイアウォール
これらの構成要素を適切に選択・設定することで、最適な仮想サーバー環境を構築できます。