はじめに
Amazon Web Services (AWS) の中核サービスであるEC2(Elastic Compute Cloud)は、クラウド上の仮想サーバーを提供するサービスです。この記事では、EC2インスタンスの作成から設定、運用までを詳しく解説します。
AWS EC2とは
EC2は、AWSが提供する仮想サーバーサービスで、従量課金制のクラウドコンピューティングプラットフォームです。物理サーバーを購入・管理する必要がなく、必要に応じてスケールアップ・ダウンが可能です。
EC2の主なメリット
- 柔軟性: 必要に応じてインスタンスのスペックを変更可能
- コスト効率: 使用した分だけ支払う従量課金制
- スケーラビリティ: 負荷に応じて自動的にスケールアップ/ダウン
- 信頼性: 複数のアベイラビリティゾーンで冗長構成可能
- セキュリティ: ファイアウォール、セキュリティグループ等で保護
AWSアカウントの作成
- AWS公式サイトにアクセス
- 「アカウントを作成」をクリック
- メールアドレス、パスワードなどの情報を入力
- クレジットカード情報を登録(初期費用はかかりませんが、認証用に必要)
- 電話認証を完了させる
- 契約プランを選択(無料利用枠から始めることをお勧め)
EC2インスタンスの起動手順
ステップ1: AWSマネジメントコンソールにログイン
- AWSマネジメントコンソールにアクセス
- 作成したアカウントでログイン
- サービス一覧から「EC2」を選択
ステップ2: インスタンスの起動
- EC2ダッシュボードから「インスタンスを起動」ボタンをクリック
ステップ3: AMI(Amazon Machine Image)の選択
- 利用するOSイメージを選択(例:Amazon Linux 2、Ubuntu Server等)
- 無料利用枠対象のAMIには「無料利用枠の対象」のタグが付いています
ステップ4: インスタンスタイプの選択
- 目的に合わせたインスタンスタイプを選択(メモリ、CPU、ネットワーク性能など)
- 無料利用枠では「t2.micro」が対象
ステップ5: インスタンスの詳細設定
- インスタンス数、ネットワーク設定、IAMロールなどを設定
- 基本的にはデフォルト設定で問題ありません
ステップ6: ストレージの追加
- ルートボリュームのサイズやタイプを設定
- 必要に応じて追加のEBSボリュームを設定
ステップ7: タグの追加
- インスタンスを識別するためのタグを設定(Name=MyFirstEC2など)
ステップ8: セキュリティグループの設定
- インバウンド/アウトバウンドのトラフィックルールを設定
- Web用途なら、HTTP(80)・HTTPS(443)ポートを開放
- SSH接続用に、TCP(22)ポートを特定のIPからのみ許可するよう設定
ステップ9: 確認と起動
- 設定内容を確認
- 「起動」ボタンをクリック
ステップ10: キーペアの作成
- 新しいキーペアを作成するか、既存のキーペアを選択
- キーペアをダウンロードし、安全な場所に保存(このファイルを紛失すると、インスタンスにアクセスできなくなります)
- 「インスタンスの起動」をクリック
EC2インスタンスへの接続方法
Windows環境からのSSH接続
- PuTTYなどのSSHクライアントをインストール
- ダウンロードしたキーペア(.pem)をPuTTYgen(PuTTY Key Generator)でPPKファイルに変換
- PuTTYを起動し、以下の情報を入力:
- ホスト名: ec2-user@パブリックDNS(Amazon Linux 2の場合)
- ポート: 22
- 接続タイプ: SSH
- 左側メニューの「Connection」→「SSH」→「Auth」で、変換したPPKファイルを選択
- 「Open」をクリックして接続
macOSやLinux環境からのSSH接続
- ターミナルを起動
- キーペアファイルのパーミッションを変更:
chmod 400 /path/to/your-key.pem
- SSHコマンドでインスタンスに接続:
ssh -i /path/to/your-key.pem ec2-user@パブリックDNS
※ Ubuntuの場合は、ec2-user
の代わりにubuntu
を使用
セキュリティ設定
セキュリティグループの設定
- EC2ダッシュボードから「セキュリティグループ」を選択
- 対象のセキュリティグループを選択し、「インバウンドルール」タブをクリック
- 「インバウンドルールの編集」で、必要なポートだけを開放
推奨セキュリティプラクティス
- SSH(22)ポートは特定のIPからのみアクセス可能に制限
- 定期的なセキュリティアップデートの適用
- IAMロールを使った最小権限の付与
- セキュリティグループのルールを定期的に見直し
EC2インスタンスの管理
インスタンスの開始/停止
- EC2ダッシュボードで対象インスタンスを選択
- 「インスタンスの状態」メニューから「開始」「停止」「再起動」などを選択
AMIの作成(バックアップ)
- EC2ダッシュボードで対象インスタンスを選択
- 「アクション」→「イメージとテンプレート」→「イメージの作成」を選択
- イメージ名と説明を入力し、「イメージの作成」をクリック
Elastic IPの設定
- EC2ダッシュボードの左側メニューから「Elastic IP」を選択
- 「Elastic IPアドレスの割り当て」をクリック
- 割り当てられたIPを選択し、「アクション」→「Elastic IPアドレスの関連付け」をクリック
- 対象のインスタンスを選択して関連付け
Webサーバーのセットアップ例
Nginx(Ubuntu)
# システムの更新
sudo apt update
sudo apt upgrade -y
# Nginxのインストール
sudo apt install nginx -y
# Nginxの起動と自動起動設定
sudo systemctl start nginx
sudo systemctl enable nginx
# ファイアウォールの設定
sudo ufw allow 'Nginx HTTP'
sudo ufw allow 'Nginx HTTPS'
Apache(Amazon Linux 2)
# システムの更新
sudo yum update -y
# Apacheのインストール
sudo yum install httpd -y
# Apacheの起動と自動起動設定
sudo systemctl start httpd
sudo systemctl enable httpd
コスト管理
無料利用枠の内容
- t2.microインスタンス: 月に750時間(= 24時間 × 約31日)
- EBSストレージ: 30GBまでの汎用SSD
- 有効期限: AWSアカウント作成から12ヶ月間
コスト監視と予算設定
- AWSマネジメントコンソールから「Billing & Cost Management」にアクセス
- 「予算」から新しい予算を作成
- 予算の種類、金額、通知設定などを行う
まとめ
この記事では、AWS EC2の基本的な使い方から応用までを解説しました。EC2はAWSの中核サービスであり、様々なクラウドアプリケーションの基盤となります。次回は、EC2を活用した実際のアプリケーションデプロイについて解説する予定です。
何か質問や困ったことがあれば、コメント欄でお知らせください!
コメント