1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

🌐 はじめてのAWS EC2でWebサーバーを立ててみよう!

Posted at

AWS EC2初心者入門ガイド

AWS(Amazon Web Services)のEC2(Elastic Compute Cloud)は、クラウド上で仮想サーバーを簡単に作成・運用できるサービスです。この記事では、AWSを初めて使う方でも理解できるように、EC2インスタンスの作成から設定、接続までの手順を解説します。

AWSのメリットとデメリット(専用ホスティングサーバーとの比較)

メリット

  • 柔軟なスケーリング: 必要に応じてリソースを増減できる
  • 従量課金制: 使用した分だけ支払う(初期投資が少ない)
  • 様々なインスタンスタイプ: 用途に合わせたマシンスペックを選べる
  • グローバル展開: 世界中のリージョンにデプロイ可能
  • 自動化機能: APIを使った自動化が容易
  • 高可用性: 複数のアベイラビリティゾーンを活用できる

デメリット

  • 管理の複雑さ: 初心者には設定が複雑に感じることがある
  • コスト管理: 適切に管理しないと予想外の請求が発生する可能性がある
  • 学習コスト: AWSの概念や用語を理解する必要がある

専用ホスティングサーバーとの比較

項目 AWS EC2 専用ホスティングサーバー
初期コスト 低い(初期投資不要) 高い(サーバー購入費用)
ランニングコスト 使用量に応じて変動 固定費が多い
スケーラビリティ 柔軟に拡張可能 物理的な制約あり
管理の手間 設定は複雑だが自動化可能 物理的な保守が必要
障害対応 AWSが対応(サービスレベルによる) 自社で対応必要
カスタマイズ性 OS選択は自由だが一部制約あり 完全なカスタマイズが可能

VPCとEC2の関係とメリットデメリット

VPCとは

VPC(Virtual Private Cloud)は、AWSクラウド内に作成できる仮想ネットワークです。EC2インスタンスはこのVPC内に配置されます。

VPCとEC2の関係

  • VPCはネットワーク環境を提供
  • EC2はVPC内で動作する仮想サーバー
  • 1つのVPCに複数のEC2インスタンスを配置可能
  • セキュリティグループでEC2へのアクセス制御を実施

メリット

  • ネットワーク分離: プライベートな環境を構築できる
  • セキュリティ強化: アクセス制御が細かく設定可能
  • 柔軟なネットワーク設計: サブネット、ルートテーブルなどを自由に設定

デメリット

  • 設定の複雑さ: ネットワークの知識が必要
  • 管理コスト: 適切な設計・管理が求められる

専用ホスティングサーバーとの比較

専用サーバーでは物理的なネットワーク分離が必要ですが、VPCでは論理的な分離が容易に実現できます。

EC2インスタンス作成手順

ステップ1: EC2ダッシュボードへアクセス

AWSマネジメントコンソールにログインし、「EC2」を選択します。

EC2ダッシュボード

ステップ2: インスタンス起動

「インスタンスを起動」ボタンをクリックします。

ステップ3: OSイメージ(AMI)の選択

今回はUbuntuを選択します。「クイックスタート」タブから「Ubuntu」を選びます。

OSイメージ選択

ステップ4: キーペア(ログイン)設定

今回は簡易的に「キーペアなしで続行」を選択します。
※本番環境では必ずキーペアを作成して使用してください。

キーペア設定

ステップ5: ネットワーク設定

セキュリティグループの設定を行います。今回は以下を許可します:

  • SSHトラフィック(リモート接続用)
  • HTTPトラフィック(Webサーバー用)

ネットワーク設定

ステップ6: ストレージ設定

デフォルトの8GBのままで構いません。

ステップ7: 名前とタグ

インスタンスの名前を入力します(例:My Web Server)。

インスタンス名設定

ステップ8: インスタンスを起動

「インスタンスを起動」ボタンをクリックします。

ステップ9: インスタンスへの接続

インスタンスが起動したら、「インスタンスに接続」ボタンをクリックします。

インスタンス接続

EC2 Instance Connectを使用して接続します。ユーザー名は「ubuntu」を入力します。

EC2 Instance Connect

EC2設定コマンド

インスタンスに接続したら、以下のコマンドを実行してApache Webサーバーをインストールし、簡単なWebページを作成します:

# システムの更新
sudo apt update

# Apache2のインストール
sudo apt install -y apache2

# デフォルトのWebページディレクトリに移動
cd /var/www/html

# ファイル一覧を確認
ls

# デフォルトのindex.htmlを削除
sudo rm index.html

# 新しいindex.htmlを作成
sudo touch index.html

# ファイルの権限を変更(実際の運用ではより制限的な権限設定を推奨)
sudo chmod 777 index.html

# テストコンテンツを追加
echo "This is a test line." >> index.html

# Apache2サービスの再起動(変更を反映)
sudo systemctl restart apache2

これでWebブラウザからEC2インスタンスのパブリックIPアドレスにアクセスすると、作成したWebページが表示されます。

FTP接続の設定(WinSCPを使用)

EC2インスタンスにファイルを転送するために、Windows 11からWinSCPを使った接続方法を説明します。

準備

  1. WinSCPをダウンロードしてインストール

EC2側の設定

SSHがすでに有効になっているので、追加設定は不要です。必要に応じてFTPサーバーをインストールする場合:

# vsftpdのインストール
sudo apt install -y vsftpd

# 設定ファイルのバックアップ
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak

# 設定ファイルの編集
sudo nano /etc/vsftpd.conf

以下の設定を追加または変更(nanoエディタの場合、Ctrl+O→Enterで保存、Ctrl+Xで終了):

listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
pasv_enable=YES
pasv_min_port=40000
pasv_max_port=40100
userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO

ユーザーリストの作成:

# ftpユーザーの作成
sudo adduser ftpuser

# ユーザーリストにftpuserを追加
echo "ftpuser" | sudo tee -a /etc/vsftpd.userlist

# サービスの再起動
sudo systemctl restart vsftpd

WinSCPでの接続方法

  1. WinSCPを起動
  2. 「新しいサイト」を選択
  3. 以下の情報を入力:
    • ファイルプロトコル: SFTP(SSH接続の場合)またはFTP
    • ホスト名: EC2インスタンスのパブリックIPアドレス
    • ポート番号: 22(SSHの場合)または21(FTPの場合)
    • ユーザー名: ubuntu(SSHの場合)またはftpuser(FTPの場合)
    • パスワード: 設定したパスワード
  4. 「ログイン」をクリック

これで、Windows 11からEC2インスタンスへのファイル転送が可能になります。

まとめ

AWSのEC2を使うことで、柔軟なクラウド環境でWebサーバーを簡単に構築できます。今回は入門者向けに最小限の設定で構築しましたが、実際の運用環境では適切なセキュリティ設定が必要です。特に以下の点に注意してください:

  • 本番環境では必ずSSHキーペアを使用する
  • セキュリティグループは必要最小限のポートのみ開放する
  • 定期的なセキュリティアップデートを実施する
  • IAMユーザーと権限の適切な管理

この記事を足がかりに、AWSの様々なサービスを活用してクラウド環境を構築してみてください。

参考資料

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?