HOME > 技術ドキュメント > AWS EC2 + Ubuntu 24.04 Web サーバー構築入門
AWS EC2 + Ubuntu 24.04 Web サーバー構築入門
AWS EC2(Elastic Compute Cloud)は、仮想サーバーをクラウド上で柔軟に起動・管理できるサービスです。
この記事では Ubuntu 24.04 LTS のインスタンスを起動し、Apache を使った Web サーバーを HTTPS で公開するまでの手順を解説します。
AWS のマネージド SSL 証明書(ACM)との使い分けについても説明します。
1. EC2 インスタンスの起動
AWS マネジメントコンソールから EC2 インスタンスを起動します。
- EC2 ダッシュボードで「インスタンスを起動」をクリック
- AMI:Ubuntu Server 24.04 LTS(HVM)を選択
- インスタンスタイプ:
t3.micro(無料利用枠)または用途に合わせて選択 - キーペア:新規作成(
.pemファイルをダウンロードして安全な場所に保管) - ネットワーク設定:後述のセキュリティグループを設定
- ストレージ:デフォルト 8 GiB(必要に応じて変更)
2. セキュリティグループの設定
セキュリティグループは EC2 インスタンスのファイアウォールです。 Web サーバーとして公開するために、以下のポートを開放します。
| タイプ | ポート | ソース | 用途 |
|---|---|---|---|
| SSH | 22 | 自分のIPアドレス | サーバー管理(自分のIPのみに制限) |
| HTTP | 80 | 0.0.0.0/0 | HTTP アクセス(HTTPS へのリダイレクト用) |
| HTTPS | 443 | 0.0.0.0/0 | HTTPS アクセス(SSL証明書が必要) |
SSH のソースを「マイ IP」にしておくことで、不特定多数からのブルートフォース攻撃を防げます。
3. Elastic IP の割り当て
EC2 インスタンスは起動・停止のたびにパブリック IP が変わります。 Elastic IP(固定 IP)を割り当てることで、ドメインの DNS 設定が安定します。
- EC2 ダッシュボードの左メニューから「Elastic IP アドレス」を選択
- 「Elastic IP アドレスを割り当て」をクリック
- 割り当てた Elastic IP をインスタンスに関連付ける
注意:Elastic IP はインスタンスに関連付けている間は無料ですが、 関連付けていない(使っていない)状態では料金が発生します。
4. SSH 接続
# ダウンロードした .pem ファイルのパーミッションを設定 chmod 400 ~/Downloads/your-key.pem # SSH 接続(Ubuntu AMI のデフォルトユーザーは ubuntu) ssh -i ~/Downloads/your-key.pem ubuntu@your-elastic-ip
~/.ssh/config に登録しておくと便利です:
# ~/.ssh/config
Host myec2
HostName your-elastic-ip
User ubuntu
IdentityFile ~/Downloads/your-key.pem
ssh myec2
5. 初期設定
# パッケージを最新化 sudo apt update && sudo apt upgrade -y # タイムゾーンを日本時間に設定 sudo timedatectl set-timezone Asia/Tokyo # ホスト名を変更(任意) sudo hostnamectl set-hostname myserver
6. Apache のインストールと HTTPS 設定
sudo apt install -y apache2 sudo systemctl enable apache2 sudo systemctl start apache2
EC2 のセキュリティグループでポート 80/443 を開けていれば、UFW は無効のままでも動作します(セキュリティグループが代わりに制御します)。
UFW を有効にする場合は、セキュリティグループと二重で管理することになります。
SSL/TLS の設定手順は Apache インストール(Ubuntu 24.04) を参照してください。
7. SSL証明書:ACM と独自証明書の使い分け
AWS には ACM(AWS Certificate Manager)という無料のマネージド SSL 証明書サービスがあります。
ただし ACM には重要な制約があります。
| ACM(AWS マネージド) | 独自 SSL証明書 | |
|---|---|---|
| 使える場所 | ALB・CloudFront・API Gateway のみ | EC2 直接・どこでも使える |
| EC2 直接利用 | ✕ 不可 | ✓ 可能 |
| 証明書種別 | DV のみ | DV・OV・EV を選択可能 |
| 企業認証(OV/EV) | ✕ 不可 | ✓ 可能 |
| コードサイニング | ✕ 不可 | ✓ 可能 |
| 有効期間管理 | 自動更新 | 手動更新(API 自動化も可能) |
EC2 に直接 Apache/Nginx を立て、HTTPS で公開する構成では ACM は使えません。
この場合は別途 SSL証明書を取得して Apache/Nginx に設定する必要があります。
また、会社のサイトや EC サイトで企業の実在性を示したい場合は OV・EV 証明書が必要で、これも ACM では対応できません。
エスロジカルでは RapidSSL(DV)3,960円/1年(税込)〜から、 OV・EV・ワイルドカードまで幅広く取り扱っています。 インストール代行も承っているため、設定に不安がある場合はお気軽にご相談ください。
SSL証明書の購入・詳細はこちら / DV・OV・EV の違い / インストール代行サービス
8. EC2 の主なコスト管理ポイント
| 項目 | 注意点 |
|---|---|
| インスタンス料金 | 停止中も EBS(ストレージ)料金は発生する |
| Elastic IP | インスタンスに関連付けていない場合は課金される |
| データ転送料金 | アウトバウンド通信に料金が発生(インバウンドは無料) |
| 無料利用枠 | 新規アカウントから 12 ヶ月間、t3.micro 750 時間/月など |
関連ドキュメント
Apache インストール(Ubuntu 24.04) — SSL 有効化、バーチャルホスト設定
Nginx SSL/TLS 設定(Ubuntu 24.04) — HTTPS 設定、リバースプロキシ
UFW・Fail2ban 設定(Ubuntu 24.04) — SSH ブルートフォース対策
SSH 公開鍵認証・セキュリティ設定(Ubuntu 24.04)
