【AWS入門】初心者がWebサーバをインストールしポートを理解する

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

この記事でわかること

■初心者がまんまと罠にはまった話

AWSにてEC2インスタンスをひとつ作成し、Webサーバとして構築しようとapache(Webサーバソフトウェア)をEC2にインストールしました。パブリックIPが発行されたため、理論上はこれでIPアドレスをブラウザにて指定すればページが開けます。・・・と思っていましたが、エラー画面が出るだけでページは表示されません。コピペでも手入力でももちろん同じ結果です。どうしてでしょう。

■EC2はそもそもWebサーバ専用ではない

AWSは柔軟さがセールスポイントです。利用するユーザによって用途はさまざまなため、必ずしも全てのユーザがEC2を基本的なWebサーバとして利用するわけではありません。そのため、EC2は基本的にポートを閉じています。自身でポートを設定しなければ、それに応じた動作がないのは当然です。

現在のインスタンスにてセキュリティグループ(ポートの解放設定)の状態を確認してみます。インバウンドルールの22番ポートのみ受け付けているため、ブラウザからのアクセスが不可だったのです。

■ポート(Port)番号とは

ポートはネットワーク内の住所の役割を担っています。IPアドレスと似た概念がありますが、IPアドレスが住所ならポート番号は部屋番号で例えられることが多いです。IPアドレスにより個々のコンピュータへの住所までは特定できますが、コンピュータの提供するサービスまでは特定できません。そこで部屋番号にあたる、サービスの種類を識別し特定するためにポート番号が存在します。

サーバは色々なリクエストを受け付けているため、様々なサービスを同じ入口から受け付けていると処理がとても大変になります。そこでサーバにポートという出入口を設けることにより、サービス毎に処理がしやすくなり、受け付ける側においても受け付けるサービス範囲を決めることができるようになります。理論上ポート番号は65535番まで用意されています。

ただ、ポート番号が色々な形で使用されているとリクエストをする際にスムーズなやり取りが困難です。それを回避するため、標準化として0番ポート~1023番ポートまでをウェルノウンポートと言い、メジャーなサービスやプロトコルが利用するために管理されています。基本的なソフトウェアやネットワークにおいてはこの規定に従い運用されており、HTTPプロトコルでは80番ポート、POPプロトコルでは110番ポートなどプロトコル毎にいくつか指定されたものがあるため、代表的なものは覚えていきましょう。

■使用していないポートは閉じるのが鉄則

セキュリティの関係上、意図的にポート番号を変更して使用したり、またはポートを閉じたりすることがあります。Webサーバとして機能させる場合、ローカル内だけでなく外部からの情報にも応答させるのが一般的なため、必然的にポートを解放することになります。しかしサーバシステム内にセキュリティ的な欠損があった場合、そこから第三者の侵入を許してしまうため、例えばサーバを乗っ取られて意図しない動作になってしまったり、情報の搾取、あるいは金銭的な被害を受ける可能性があります。様々なサーバとして使用する際はセキュリティ面を含め慎重に検討する必要があります。無闇にポートを解放せず、セキュリティ対策を立てて最小限のポートを解放するよう工夫することも大切です。

■Elastic IP(EIP)の設定も重要

EC2はダイナミックIPのため、EC2インスタンスの再起動などによりIPアドレスが変動する可能性があります。一般的にWebサーバはドメインをIPアドレスに紐づけて使用するため、再起動のたびにコロコロとIPアドレスが変わってしまうと接続できなくなったり、その都度変更したりするのは運用上大変困ります。そこで、IPアドレスを固定するためにAWSのElastic IP(EIP)という機能を利用します。

【要注意】EIP(パブリックIPv4アドレス)の料金体系が変更されています
以前は起動中のEC2インスタンスにEIPをひとつ割り当てている場合は無料でしたが、2024年2月1日以降、AWSはEIPを含むすべてのパブリックIPv4アドレスに対して時間単位の課金を行う体系に変更しました。起動中のインスタンスに割り当てている場合でも課金対象となるため、「起動中なら無料」という前提はすでに成り立ちません。最新の料金はAWS公式サイトでご確認ください。

■カスタムにてアクセス制限をつけることができる

EC2のセキュリティグループにて、アクセスする制限をつけることができます。IPアドレスにて指定したり、範囲にて設定が可能です。制限なしで設定する場合は0.0.0.0で全てを受け付けます。自分のグループ内や、利用用途によりアクセス制限をかけられるためセキュリティ度は高めです。

■ポートを自分で開放する

ブラウザからパブリックIPでアクセスできるようにポートを解放設定します。EC2のダッシュボードよりセキュリティグループの編集にて、HTTPの80番ポートとHTTPSの443番ポートを解放です。自分のみで確認できれば良いため、カスタムにてソースを自身のIPアドレスだけに制限をかけます。設定後にブラウザからのアクセスを確認できました。

押さえておきたいポイント

項目 AWS Microsoft Azure Google Cloud
世界シェア 約33%(首位) 約22% 約11%
強み サービス数・実績 Microsoft製品連携 データ分析・AI
無料枠 12ヶ月+常時無料 12ヶ月無料 常時無料枠あり
主な資格 CLF / SAA / SAP AZ-900 / AZ-104 ACE / PCA
  • EC2インスタンスはデフォルトでほとんどのポートが閉じており、Webサーバとして公開するにはセキュリティグループでHTTP(80番)・HTTPS(443番)ポートを明示的に許可する必要がある。
  • Elastic IP(EIP)は2024年2月1日以降の料金改定により、起動中のインスタンスに割り当てていても課金対象になっている点に注意が必要。最新料金は必ずAWS公式サイトで確認する。
  • セキュリティグループのアクセス制限は0.0.0.0/0(全世界公開)を安易に使わず、検証中などは自身のIPアドレスに絞るなど、用途に応じて必要最小限の範囲に設定するのが安全。

よくある質問

Q. EC2インスタンスを作成しただけではWebサーバとして使えないのはなぜですか?

A. EC2インスタンスはデフォルトでセキュリティグループにより通信が制限されており、SSH用の22番ポート程度しか開いていないのが一般的です。Webサーバとして外部に公開するには、セキュリティグループのインバウンドルールでHTTP(80番)・HTTPS(443番)ポートを明示的に許可する設定が別途必要です。

Q. Elastic IP(EIP)は今も無料で使えますか?

A. 以前は起動中のEC2インスタンスに1つ割り当てている場合は無料でしたが、2024年2月1日のAWSの料金体系変更により、EIPを含むパブリックIPv4アドレスは保有・利用状況にかかわらず時間単位で課金されるようになりました。無料という前提のまま構成すると想定外の課金が発生するため、最新の料金はAWS公式サイトでご確認ください。

Q. セキュリティグループでアクセス元を特定のIPだけに制限するにはどうすればいいですか?

A. セキュリティグループのインバウンドルールで、ソース(送信元)にIPアドレスやCIDR範囲を指定します。0.0.0.0/0を指定すると全世界からのアクセスを許可することになるため、検証・確認用途などでは自身のIPアドレスのみに絞るなど、必要最小限の範囲に制限するのが安全です。

■まとめ

これで問題なくブラウザからEC2 Webサーバにアクセスすることができました。AWSは柔軟さが売りですが、柔軟なゆえにセキュリティ面は自身にて責任を持てる環境構築がより重要だとわかりました。セキュリティについては学習することがたくさんあるため、最初はポートからしっかりと知識をつけていく事が重要です。

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

👔

一緒に働きましょう

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

採用サイトを見る →
💻

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

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

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

前の記事

AWS SSH接続方法。

次の記事

縁の下の力持ちFree RTOS