【AWS】 EC2でWebサーバーを構築してみよう!

最終更新日:2026年8月6日

はじめに

皆さんはAmazonが提供しているクラウドサービス(AWS)のAmazon Elastic Compute Cloud (Amazon EC2)をご存知でしょうか?これは、AWSクラウド上のインスタンスと呼ばれる仮想サーバーのことです。数分で仮想環境を構築できる上に、必要に応じてスケールアップ(サーバーのスペックを増強)やスケールアウト(サーバーの台数を増やす)することができます。また、OSより上のレイヤについては自由に設定できるため、より柔軟な環境を構築できるようになっています。本記事では、AWS EC2の使い方を順を追って解説していくので、AWSクラウド上に仮想サーバーを構築するところまで一緒にやってみましょう!

サーバー構築・運用の注意点と準備

AWSでサーバーを構築・運用するためには、気を付けるべき点がいくつかあります。

目的の確認

サーバーを構築するにあたって、どのようなサービスをどんな形で提供したいかを明確にしておく必要があります。ここが曖昧になってしまうと作りたかったものと違うサービスになってしまう可能性があります。また、サービスに合った料金システムを選ぶためにも目的を明確にしましょう。

アクセス権

AWSでアクセスを安全にコントロールするためのサービスにAWS IAMがあります。IAMでリソースを使用するために認証され権限を持つユーザーを制御することができます。リソース、ユーザーごとに様々な権限を付与できます。1つのIAMユーザーを複数人で共有して使用した場合、問題が発生したときに原因の特定が難しくなることがあるので気を付けましょう。

IPアドレス

Elastic IPアドレスは、動的なクラウドコンピューティング向けに設定された静的なパブリックIPv4アドレスです。アカウントの任意のVPC内の任意のインスタンスまたはネットワークインターフェイスに関連付けることができます。インスタンスに障害が発生しても、アドレスを別のインスタンスに再マッピングするので障害に強いです。EC2の動的グローバルIPは、インスタンスを再起動した場合IPアドレスが変更されてしまいますので、サービスを外部公開する場合はElastic IPを使用するようにしましょう。

データの保存

定期的にバックアップを取るようにしましょう。また、システム障害に備えてインスタンスやEBSのリカバリーできるように手順を確認しておきましょう。

セキュリティ管理

セキュリティの設定のミスや開発時・メンテナンス時の運用ミスなどでセキュリティが危険にさらされる可能性があります。安全に使用するために十分に気を付けましょう。

可用性の確認

実際に障害を発生させて、EC2やデータの可用性が保たれているかを確認しましょう。

構築手順

EC2でWebサーバーを構築する手順は以下の6ステップです。

  1. AMIの選択
  2. インスタンスタイプの選択
  3. ストレージの追加
  4. タグの追加
  5. セキュリティグループの設定
  6. SSH接続の設定

EC2構築(ステップ①〜⑥)

①AMIの選択

まず、AMIとはAmazon Machine Imageのことで、サーバーに必要なビットをパッケージ化したテンプレートです。AMIを使用することでOSなどをインストールすることなく、インスタンスを起動することができます。AMIはAmazon EBS-BackedまたはInstance Store-Backedのどちらかになります。それぞれ関連するデータの永続性・バックアップ・リカバリーに違いがあるので理解しておきましょう。このAMIはAWSやサードパーティから提供されており、1つのAMIから複数のインスタンスを起動することもできます。また、既存のAMIからインスタンスを起動してカスタマイズすれば、独自のカスタムAMIの作成も可能です。

AMIの使い方(設定方法)

  1. AWSのマネジメントコンソールにログインし、「サービス」メニューから「EC2」を選択します。
  2. EC2のページが表示されたら、左側のEC2ダッシュボードからインスタンスを選択します。
  3. 「インスタンス作成ボタン」をクリックするとAMIの選択画面になります。ここではAWSの各サービスと連携するためのツールやライブラリなどが含まれている「Amazon Linux 2 AMI」を選択します。

②インスタンスタイプの選択

インスタンスとは仮想コンピューティング環境のことです。AWS EC2のインスタンスタイプとはサーバーのスペックを定義したもので、CPU・メモリ・ストレージ・ネットワークがタイプによって異なり、スペックが高いインスタンスタイプほど料金も高くなります。目的などに応じて最適なインスタンスタイプを選択します。

インスタンスファミリー 特徴 主な用途
汎用(t/m) CPU・メモリ・ネットワークがバランス良く配分 Webサーバー・開発環境・小規模DB
コンピューティング最適化(c) 高パフォーマンスCPUを搭載 機械学習・バッチ処理・動画エンコード
メモリ最適化(r/x) 大量メモリを提供 インメモリDB・大規模データ処理
高速コンピューティング(p/g) GPU搭載 AI/ML学習・3Dレンダリング
ストレージ最適化(i/d) 高I/Oパフォーマンス NoSQL・データウェアハウス

インスタンスタイプの使い方(設定方法)

  1. AMIの選択が終わると、インスタンスタイプ選択画面が表示されます。無料利用枠の対象になっている「t2.micro」を選択し、「インスタンスの詳細の設定」をクリックします。
  2. インスタンスの詳細の設定画面で自動割り当てパブリックIPを「有効」にし、キャパシティーの予約を「なし」に設定します。

③ストレージの追加

ストレージとはサーバーのデータ保存場所のことで、EC2の場合「EBS」と「インスタンスストア」の2種類があります。

  • EBS(Elastic Block Store):高い可用性と耐久性を持つストレージ。他のEC2インスタンスにも付け替え可能。インスタンスを停止・初期化してもデータは保持されます。
  • インスタンスストア:インスタンス専用の一時的なストレージ。インスタンスを停止・初期化するとデータは消えます。一時記憶に適しています。

ストレージの使い方(設定方法)

  1. インスタンスの詳細設定完了後、「ストレージの追加」ボタンをクリックします。
  2. ストレージのボリュームタイプが「ルート」になっているので、今回はこれを使用します。ストレージタイプは「EBS」です。他の設定もデフォルトのままで大丈夫です。

④タグの追加

タグとはAWSリソースの整理と識別に使用されるラベルのことで、タグは1つのキーとオプション1つの値で構成されています。同じ型のリソースが多い場合、タグを使用することで素早くリソースを識別できます。リソースあたりのタグ最大数は50個です。

タグの使い方(設定方法)

  1. ストレージの追加設定完了後、「タグの追加」ボタンをクリックします。
  2. 「タグの追加」ボタンをクリックし、キーに「Name」、値に「aws-infra」と入力します。

⑤セキュリティグループの設定

セキュリティグループとはファイアウォールのルールのことで、インスタンスへのアクセスを許可し、トラフィックを制御します。1つのセキュリティグループを複数のEC2インスタンスに割り当てることも可能です。セキュリティグループの設定ミスをしてしまうとセキュリティの危険度が高まるので、ルールはなるべく最小権限の原則に従ってシンプルに設定することが重要です。

セキュリティグループの使い方(設定方法)

  1. タグの追加設定完了後、「セキュリティグループの設定」ボタンをクリックします。
  2. 「新しいセキュリティグループを作成する」を選び、セキュリティグループ名を「aws-infra」に設定します。

⑥SSH接続の設定

SSHとは(セキュアシェル)の略称で、暗号化や認証の技術を利用し、ホストPCからリモートPCに安全に接続するための仕組みです。

SSH接続の使い方(設定方法)

  1. セキュリティグループの設定完了後、「確認と作成」ボタンをクリックします。
  2. 確認画面が表示されるので、内容を確認し「起動」ボタンをクリックします。
  3. キーペアを作成する画面が表示されるので、「新しいキーペアの作成」を選択し、キーペア名には「infra-ssh-key」とし、「キーペアのダウンロード」をクリックしデスクトップに保存します。これは1度しかダウンロードできないので、絶対になくさないようにしてください!
  4. 「インスタンスの作成」ボタンをクリックし、EC2インスタンスを起動します。
  5. 起動が完了したら、インスタンス情報のIPv4パブリックIPの値をメモしておいてください。
  6. Windowsの場合はSSHクライアントを使用して接続します。「rlogin」などのSSHクライアントを使い、ホスト名に「メモしておいたIPアドレス」、ログインユーザー名に「ec2-user」と入力してSSH認証接続します。ダウンロードしたキーペアファイルを選択し、フォントの設定を「UTF-8」にして接続します。画面に「Amazon Linux 2 AMI」と表示されればSSH接続成功です。

よくある質問(FAQ)

Q. EC2の無料利用枠はどのくらい使えますか?
A. AWSの無料利用枠では、t2.microインスタンスが月750時間まで無料(1インスタンスを1ヶ月間ずっと起動しっぱなしにできる時間数)で利用できます。EBSストレージも月30GBまで無料です。ただし、Elastic IPはインスタンスが起動していない場合に課金が発生することがあるため注意が必要です。
Q. EC2を停止するとデータは消えますか?
A. EBSをルートボリュームとして使用している場合、インスタンスを停止してもデータは保持されます。ただし、インスタンスストア(エフェメラルストレージ)を使用している場合は停止するとデータが消えます。本記事のように「ルート」ボリュームタイプ(EBS)を選択した場合は安心です。
Q. EC2にWebサーバーをインストールするにはどうしますか?
A. SSH接続後、Apacheをインストールするには「sudo yum install -y httpd」(Amazon Linux)または「sudo apt install -y apache2」(Ubuntu)を実行します。インストール後「sudo systemctl start httpd」で起動し、セキュリティグループでHTTP(80番ポート)を開放すれば、ブラウザからEC2のIPアドレスにアクセスできます。
Q. キーペア(.pemファイル)をなくしてしまった場合はどうすればいいですか?
A. 既存のキーペアでのSSH接続はできなくなります。その場合、①AMIを作成してそのAMIから新しいキーペアでインスタンスを再作成する、②Systems Manager Session Manager(SSMエージェントが必要)を使って接続する、などの方法があります。キーペアは再ダウンロードできないため、大切に保管してください。

まとめ

AWS EC2でWebサーバーを構築するためのポイントをまとめます。

  • EC2はAWSクラウド上の仮想サーバーサービスで、数分で起動・スケールアップ・スケールアウトができる
  • 構築前にIAMでアクセス権を設定し、Elastic IPで固定IPを確保することが重要。定期的なバックアップも忘れずに
  • EC2構築の6ステップはAMI選択→インスタンスタイプ選択→ストレージ追加→タグ追加→セキュリティグループ設定→SSH接続の順
  • 無料利用枠ではt2.microインスタンスを月750時間まで無料で使用できる。学習目的には最適
  • キーペア(.pemファイル)は1度しかダウンロードできないため、安全な場所に保管することが必須

▼ アクロビジョンについて

👔

一緒に働きましょう

一人ひとりのキャリアに向き合い、
活躍できる現場をご紹介します。

採用サイトを見る →
💻

システム開発のご依頼・ご相談

コンサルティングから運用保守まで、
ワンストップで対応します。

まずはお気軽にご相談ください →