InfraAcademy

InfraAcademy Blog

サーバーを借りるのがEC2、データを置くのがS3。AWS未経験の人がCLF-C02の前に区別しておきたい2つのサービス

著者: ryu | #aws #ec2 #s3
Linuxをブラウザで試してみる

Linux・ネットワーク・AWSを、環境構築なしで実践学習できます

この記事を共有

こんにちは、インフラエンジニアのryuです。

この記事は、AWSの勉強を始めたばかりで、EC2とS3がどちらも「何かを置く場所」に見えてしまう人に向けて書いています。

AWS認定クラウドプラクティショナー(CLF-C02)の勉強を始めると、最初の数日でEC2とS3の名前を何度も目にします。どちらもAWSの代表的なサービスなので、教材でも並べて出てくることが多いです。

ただ、2つのサービスは役割がまったく違います。ここがあいまいなまま進むと、EBSやLambda、CloudFrontなど、あとから出てくるサービスとの関係も整理しにくくなります。

そこでこの記事では、EC2とS3の違いを4つの観点で比べてから、オリジナルの練習問題を6問解いてもらいます。

CLF-C02全体の勉強の進め方は、CLF-C02の勉強方法の記事にまとめています。

EC2とS3は試験のどこで出る?

まずは試験の範囲を確認しておきます。CLF-C02の試験ガイドでは、出題が4つの分野に分かれていて、配点は次のとおりです。

分野 配点
クラウドのコンセプト 24%
セキュリティとコンプライアンス 30%
クラウドテクノロジーとサービス 34%
請求、料金、およびサポート 12%

EC2とS3は、主に「クラウドテクノロジーとサービス」の分野で出てきます。この分野の中では、コンピューティングのサービスとストレージのサービスを、使い道に合わせて選べるかどうかが問われます。

それだけではなく、責任共有モデルの問題では「セキュリティとコンプライアンス」の分野に、料金の問題では「請求、料金、およびサポート」の分野にも出てきます。1つのサービスが複数の分野にまたがるので、早めに整理しておくと点につながりやすいです。

EC2とS3の違いとは?

ひとことで言うと、EC2はクラウド上で借りるサーバー、S3はクラウド上に用意されたデータの置き場所です。

AWSの分類でも、EC2はコンピューティング(計算する)サービス、S3はストレージ(保存する)サービスに分かれています。

Amazon EC2 は、AWS クラウドで必要に応じて使える、サイズを変えられるコンピューティングの能力を提供するサービス。Amazon S3 は、データをオブジェクトとしてバケットに保存するオブジェクトストレージのサービス。

身近な例で言うと、EC2は自分でOSを選んでソフトを入れて動かすパソコンに近いものです。S3は、ファイルを預けておくと、必要なときにURLやAPIで取り出せる保管場所に近いものです。

違いを4つの観点で並べると、次のようになります。

観点 EC2 S3
役割 プログラムを動かす(コンピューティング) データを保存する(ストレージ)
中身 OS、ミドルウェア、アプリケーション ファイル(オブジェクト)とそのメタデータ
アクセスのしかた SSHやリモートデスクトップでログインする マネジメントコンソール、CLI、APIで出し入れする
料金の主な単位 インスタンスを動かしている時間 保存している量、リクエストの数、データ転送

観点1:中で動かすものがあるかどうか

EC2を作ると、Amazon Linux や Ubuntu、Windows Server などのOSが入ったサーバーが手に入ります。そこにWebサーバーのソフトを入れたり、自分のプログラムを動かしたりできます。

一方でS3には、ログインするOSがありません。バケットという入れ物を作り、そこにファイルを置いて、必要なときに取り出すだけです。

つまり、中で何かを動かしたいならEC2、データを置いておきたいだけならS3と考えると、ほとんどの場面で迷わなくなります。

EC2そのものの特徴は、EC2とは?の記事で詳しく説明しています。

観点2:料金のかかり方

料金のかかり方も大きく違います。EC2のオンデマンドインスタンスは、使った時間に応じて料金がかかり、Linuxのインスタンスなどは秒単位(最低60秒)で計算されます。

ポイントは、インスタンスが動いている間は、中で何もしていなくても料金がかかることです。使わないときは停止しておく、という考え方が大事になります。

S3は、保存しているデータの量に応じて料金がかかります。それに加えて、ファイルを置いたり取り出したりするリクエストの数や、インターネットへのデータ転送にも料金がかかります。

場面 EC2 S3
何もせずに置いておく 動かしている間は料金がかかる(停止中もEBSの料金はかかる) 保存している量に応じた料金がかかる
たくさん使う インスタンスのサイズや台数を増やすと料金が上がる リクエストやデータ転送が増えると料金が上がる
容量の上限 付けるディスク(EBS)の大きさを自分で決める 保存できる総量を事前に決める必要はない

EC2の料金で思わぬ請求が来ないようにする考え方は、EC2の無料枠を超えて課金されてしまった話も参考にしてください。

観点3:責任共有モデルでの管理の範囲

責任共有モデルでも、EC2とS3は扱いが違います。AWSは、クラウドそのもの(データセンター、ハードウェア、ネットワーク)を守る責任を持ちます。利用者は、クラウドの中に置いたものを守る責任を持ちます。

EC2の場合、利用者が管理する範囲は広めです。OS(ゲストOS)の更新やセキュリティパッチの適用、入れたソフトの設定、セキュリティグループの設定は、利用者の責任になります。

S3の場合、OSやその下の基盤はAWSが運用します。利用者が考えるのは、置いたデータの扱いと、誰がバケットにアクセスできるかの権限の設定が中心です。

管理するもの EC2 S3
データセンター・ハードウェア AWS AWS
OSの更新・パッチ 利用者 AWS
アクセスの権限(IAMやバケットポリシー、セキュリティグループ) 利用者 利用者
保存したデータそのもの 利用者 利用者

試験では「OSのパッチを当てるのは誰か」という形で問われることが多いです。EC2なら利用者、S3のようにOSを意識しないサービスならAWS、と区別できるようにしておきましょう。

観点4:組み合わせて使う場面

EC2とS3は、どちらか一方だけを選ぶものではありません。実際のシステムでは、2つを組み合わせて使うことがよくあります。

たとえば、Webアプリケーションの画面や処理はEC2で動かし、ユーザーがアップロードした画像はS3に保存する、という構成です。EC2のディスクに画像をためていくより、S3に置いたほうが容量を気にせずに済みます。

逆に、HTMLや画像だけでできた静的なWebサイトなら、EC2を使わずにS3だけで公開できます。S3には静的ウェブサイトのホスティングの機能があります。ただし、PHPのようにサーバー側でプログラムを動かす処理はS3ではできないので、その場合はEC2などが必要です。

S3で静的なサイトを公開する手順は、S3とCloudFrontで静的サイトをHTTPSで公開する方法で紹介しています。

EC2とS3を混同しやすいポイント

ここまでの違いを理解していても、問題文の書き方によっては迷うことがあります。よくあるのは次の3つです。

1つ目は、EC2のディスクとS3を同じものだと思ってしまうことです。EC2に付けるディスクはEBSという別のサービスで、S3ではありません。

2つ目は、バックアップの保存先です。EBSのスナップショットはS3に保存されると説明されていますが、利用者がS3のバケットの中から直接ファイルとして見られるわけではありません。試験では、スナップショットはEBSの機能として理解しておけば十分です。

3つ目は、サーバーを使わずにプログラムを動かすサービスです。これはLambdaで、EC2でもS3でもありません。

問題文のキーワード 選ぶサービス
OSを選ぶ、ソフトをインストールする、ログインする EC2
画像や動画を保存する、容量を決めずに置く、静的サイト S3
EC2に付けるディスク、OSの起動ディスク EBS
サーバーを管理せずにコードを動かす Lambda

ストレージどうしの違いはS3・EBS・EFSの違いで、コンピューティングどうしの違いはEC2とLambdaの違いで解説しています。この記事とあわせて読むと、主なサービスの位置関係がつながります。

EC2とS3の練習問題6問

ここからはオリジナルの練習問題です。正解と解説は、それぞれの問題のすぐ下の引用ブロックにまとめています。先に自分で答えを決めてから読んでください。

問題1:サービスの分類

次のうち、ストレージのサービスとして正しいものはどれですか。

  • A. Amazon EC2
  • B. Amazon S3
  • C. AWS Lambda
  • D. Elastic Load Balancing

正解:B S3はオブジェクトストレージのサービスです。EC2とLambdaはコンピューティング、Elastic Load Balancingはトラフィックを振り分けるサービスです。

問題2:用途に合うサービス

ある会社は、自社で開発したアプリケーションを、OSを自分で選んだサーバーで動かしたいと考えています。また、ミドルウェアも自分たちで入れて設定したいです。最も適したサービスはどれですか。

  • A. Amazon S3
  • B. Amazon EC2
  • C. Amazon S3 Glacier
  • D. AWS Storage Gateway

正解:B OSを選んで、ミドルウェアやアプリケーションを自由に入れられるのはEC2です。S3とS3 Glacierはデータを保存するサービス、Storage GatewayはオンプレミスとAWSのストレージをつなぐサービスです。

問題3:静的なWebサイト

HTMLファイルと画像だけでできた会社案内のWebサイトを、サーバーを管理せずに公開したいです。最も適したサービスはどれですか。

  • A. Amazon S3
  • B. Amazon EC2
  • C. Amazon EBS
  • D. Amazon RDS

正解:A S3の静的ウェブサイトホスティングを使えば、サーバーを用意せずにHTMLや画像を公開できます。EC2でも公開はできますが、OSの管理が必要になるので「サーバーを管理せずに」という条件に合いません。

問題4:責任共有モデル

責任共有モデルにおいて、EC2インスタンスのゲストOSにセキュリティパッチを適用する責任は誰にありますか。

  • A. AWS
  • B. 利用者
  • C. AWSと利用者が半分ずつ
  • D. AWS Marketplace の販売者

正解:B EC2では、ゲストOSの更新やセキュリティパッチの適用は利用者の責任です。AWSが責任を持つのは、その下のハードウェアや仮想化の基盤です。

問題5:料金のかかり方

S3の料金を決める要素として、適切でないものはどれですか。

  • A. 保存しているデータの量
  • B. PUTやGETなどのリクエストの数
  • C. インターネットへのデータ転送の量
  • D. 同じアカウントで動かしているEC2インスタンスの台数

正解:D S3の料金は、保存しているデータの量、リクエストの数、データ転送の量などで決まります。EC2インスタンスの台数はEC2の料金に関わるもので、S3の料金とは関係がありません。

問題6:組み合わせ

EC2で動いているWebアプリケーションに、ユーザーが画像をアップロードする機能があります。画像の量が増え続けても、保存先の容量を気にせずに済むようにしたいです。画像の保存先として最も適したサービスはどれですか。

  • A. EC2インスタンスのインスタンスストア
  • B. Amazon S3
  • C. もう1台のEC2インスタンス
  • D. AWS Lambda

正解:B S3は保存できる総量を事前に決める必要がなく、置いた分だけ料金がかかります。インスタンスストアはインスタンスを停止や終了するとデータが消えるので、長く残したい画像の保存先には向きません。

今日やる練習とInfraAcademyで続ける方法

今日の練習として、次の3つをやってみてください。AWSのアカウントが無くても、紙とペンだけでできます。

  1. 普段使っているWebサービスを1つ選び、画面や処理を動かしている部分(EC2の役割)と、画像や動画を保存している部分(S3の役割)に分けて書き出す
  2. 問題4を、S3のバケットについて「OSのパッチは誰の責任か」と書き換えて、答えを考える
  3. この記事の4つの観点の表を見ずに、EC2とS3の違いを3行で説明してみる

実際にAWSを触ってみたい人は、AWS初心者が最初に試したい3つの操作の記事で、予算アラートの作り方とS3のバケットを作って消す手順を紹介しています。

AWSを触るときは、料金について必ず確認してください。2025年7月15日以降に作ったアカウントでは、無料プランと有料プランを選ぶしくみになり、無料プランは作成から最長6か月で、クレジットを使い切るとその時点で終わります。EC2のインスタンスは、使い終わったら停止か終了をしておきましょう。

InfraAcademy のAWSの講座では、講座の中のシミュレーターでAWSの操作を練習できます。学ぶ順番はAWSのロードマップで確認できます。

問題演習を続けたい人は、トップページのInfraAcademy の資格模擬問題から「AWS認定 クラウドプラクティショナー模擬試験150問」を解けます。クラウドテクノロジーとサービスの分野で間違えた問題があれば、この記事のキーワードの表に戻って、どのサービスと取り違えたのかを確認してみてください。

試験までの日数の見積もり方は、クラウドプラクティショナーの勉強時間の記事にまとめています。

まとめ

EC2とS3の違いについて、ポイントを振り返ります。

  • EC2はプログラムを動かすコンピューティング、S3はデータを保存するストレージのサービス
  • EC2にはOSがあり、ログインしてソフトを入れられる。S3はバケットにファイルを出し入れする
  • EC2は動かしている時間、S3は保存の量・リクエスト・データ転送で料金が決まる
  • EC2のゲストOSのパッチは利用者の責任。S3の基盤やOSはAWSが運用する
  • 実際のシステムでは、EC2でアプリを動かし、S3にファイルを保存する組み合わせがよく使われる

中で何かを動かすならEC2、データを置くだけならS3という区別ができれば、ほかのサービスとの関係も整理しやすくなります。

まずはこの2つを自分の言葉で説明できるようにして、そこから少しずつ覚えるサービスを広げていきましょう。

参考

Next Action

記事で読んだ内容を、講座で実装してみましょう

InfraAcademyでは、ブラウザ上でLinuxやネットワークの実践環境を使いながら学習できます。無料で始められる講座から、学習の流れを試せます。

この記事を書いた人

ryu

株式会社InfraAcademy 代表 / エンジニア

大手メーカーでインフラエンジニアとして勤務した後、ベンチャー企業・スタートアップでフルスタックエンジニアを経験。その後、起業し学習サービス「InfraAcademy」を運営しています。
保有資格:ネットワークスペシャリストなど 運営会社:株式会社InfraAcademy

Related

関連記事

ブログ一覧へ

Roadmap

まずはこの4講座から

ログインすれば無料で始められる講座です。気になったテーマから手を動かして学べます。

講座一覧を見る