Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【ITニュース解説】Deploying My First NGINX Web Server on AWS EC2: A Beginner-Friendly Walkthrough

2025年10月02日に「Dev.to」が公開したITニュース「Deploying My First NGINX Web Server on AWS EC2: A Beginner-Friendly Walkthrough」について初心者にもわかりやすく解説しています。

作成日: 更新日:

ITニュース概要

システムエンジニアを目指す初心者が、AWS EC2へNGINXウェブサーバーをデプロイする手順を解説する。EC2インスタンスの起動、SSH接続、Nginxインストール、ウェブページカスタマイズまでを実践的に網羅し、クラウド基盤とウェブサーバー連携の基礎を習得する。

ITニュース解説

クラウドコンピューティングとAWSの基本から、ウェブサーバー構築までの一連のプロセスを説明する。 まず、クラウドコンピューティングとは、個人所有のデバイスに依存せず、インターネットを通じて提供される強力なコンピュータ資源を利用する形態を指す。これは、必要な時に必要なだけコンピュータを「レンタル」するようなイメージで、自身の設備を持つことなく、ウェブサイトやアプリケーションをインターネット上で稼働させることが可能となる。 Amazon Web Services(AWS)は、このクラウドコンピューティングサービスを提供する主要なプラットフォームの一つである。AWSが提供する数多くのサービスの中でも、EC2(Elastic Compute Cloud)は非常に重要なサービスであり、これは「仮想コンピュータ」、すなわち「インスタンス」をクラウド上で利用できるものである。このEC2インスタンスを活用することで、ウェブサイトや様々なアプリケーションをクラウド環境で動かすことが可能になる。

ウェブサーバーをクラウド上に構築する最初のステップは、このEC2インスタンスを起動することから始まる。 まず、AWSマネジメントコンソールというAWSの管理画面にログインする。そこからEC2サービスを選択し、「インスタンスの起動」という手順に進む。 インスタンスには具体的な名前を設定する。ここでは「nginx-webserver」と名付ける。 次に、OS(オペレーティングシステム)として「Ubuntu Server 22.04 LTS」を選択する。UbuntuはLinuxベースのOSであり、クラウドサーバーで広く利用されている。 インスタンスタイプは、仮想サーバーの性能と料金を決める要素である。ここでは「t2.micro」というタイプを選択する。これはAWSの無料利用枠の対象となるため、学習目的には適している。 サーバーへの安全な接続のために「キーペア」というものを新しく作成する。このキーペアは、サーバーに接続するための認証情報となるファイルで、作成すると「.pem」形式のファイルがダウンロードされる。このファイルは厳重に管理する必要がある。 さらに、「セキュリティグループ」という設定を行う。これは、インスタンスへのネットワークアクセスを制御するファイアウォールのような役割を果たす。具体的には、サーバーにリモートで接続するためのSSH(Secure Shell)通信(ポート22)と、ウェブページを公開するためのHTTP通信(ポート80)を許可するように設定する。これらの設定が完了したら、インスタンスを起動する。これにより、インターネット上に仮想サーバーが準備される。

インスタンスが起動し「実行中」の状態になったら、自身のコンピュータからその仮想サーバーへ接続する。 AWSコンソールから、起動したインスタンスに割り当てられた「パブリックIPv4アドレス」を取得する。これがインターネット上でのサーバーの住所となる。 次に、自身のコンピュータのコマンドプロンプトやPowerShellを開き、SSHコマンドを使ってサーバーに接続する。具体的には、「ssh -i "キーペアのファイルパス" ubuntu@インスタンスのパブリックIPv4アドレス」という形式でコマンドを実行する。このコマンドを実行すると、キーペアファイルを使って安全にサーバーへ接続できる。

サーバーへの接続が完了したら、最初にOSのパッケージリストを最新の状態に更新することが一般的である。これは、新しいソフトウェアをインストールする前や、既存のソフトウェアのセキュリティパッチを適用するために行われる。サーバー内で「sudo apt update」コマンドを実行することで、利用可能なソフトウェアのリストが最新の状態に更新される。

次に、ウェブサーバーソフトウェアであるNGINXをインストールし、設定する。 「sudo apt install nginx -y」コマンドを実行してNGINXをインストールする。「-y」オプションは、途中の確認メッセージに自動で「yes」と答えることを意味する。 NGINXのインストールが完了したら、「sudo systemctl start nginx」コマンドでNGINXサービスを開始する。 サービスが正常に動作しているかを確認するためには、「sudo systemctl status nginx」コマンドを実行する。これにより、NGINXの稼働状況が表示される。 さらに、サーバーが再起動した際にNGINXが自動的に開始されるように、「sudo systemctl enable nginx」コマンドで設定する。これで、NGINXはウェブページを公開する準備が整う。

NGINXが正常に動作しているかを確認するため、そして実際にウェブページを公開するためにテストとカスタマイズを行う。 まず、ウェブブラウザを開き、先に取得したEC2インスタンスのパブリックIPv4アドレスをURL欄に入力してアクセスする。正しく設定されていれば、NGINXのデフォルトのウェルカムページが表示される。これは、ウェブサーバーが正常に機能していることの証明である。 次に、このデフォルトページの内容を自分の好きなように変更してみる。NGINXのデフォルトのウェブページファイルは「/var/www/html/index.nginx-debian.html」というパスに存在する。このファイルを「sudo nano /var/www/html/index.nginx-debian.html」コマンドで編集する。nanoはLinuxで利用できるテキストエディタの一つである。 ファイルを開いたら、既存の内容を削除し、「Hello, World! This is my NGINX web server on AWS!」のような独自のメッセージを入力する。 変更後、Ctrl + Xキーを押し、Yキー、Enterキーの順に操作してファイルを保存してエディタを終了する。 再びウェブブラウザでインスタンスのパブリックIPv4アドレスにアクセスし、ページをリロードすると、先ほど編集したメッセージが表示されることを確認できる。これにより、ウェブサーバーのコンテンツを自由に制御できることが実証される。

一連の作業を通して、クラウドサーバーの起動から管理まで、実践的なスキルを習得できる。具体的には、AWS上でEC2インスタンスを立ち上げる方法、SSHを使ってクラウド上のサーバーへ安全に接続する方法、Linux環境でNGINXというウェブサーバーソフトウェアをインストールし設定する方法、そしてウェブページの内容を編集して公開する方法を学ぶことが可能である。この経験は単なる技術的な操作の練習に留まらず、クラウドインフラストラクチャ、Linuxコマンド、そしてウェブサーバーがどのように連携して実際のウェブサービスを構成しているのかについて、深い理解をもたらす。このプロジェクトを完遂することで、AWS、Linux、NGINXといった主要な技術に対する自信を深め、将来的にさらに高度なクラウドベースのプロジェクトに取り組むための基盤を築くことができる。

関連コンテンツ

関連IT用語