はじめに
Qiita AWS アドベントカレンダー 2025、3日目です!
昨日はAWS上に自分だけの土地(VPC)と道路(サブネット)を作りました。
今日はそこに、仮想サーバー「Amazon EC2」 を立ち上げます。
しかし、EC2の作成画面に行くと、「インスタンスタイプ? t3.micro?」「スポットインスタンス?」といった謎の単語が並んでいて面食らうかもしれません。
今日は、「失敗しないEC2の選び方」を学び、実際に昨日作ったVPCの中にWebサーバーを立ててみましょう。
1. インスタンスタイプを解読せよ(建物の種類の選び方)
EC2には m5.large や t3.micro といった名前がついています。
これは暗号ではなく、「建物の種類と広さ」のようなものです。
名前のルール: [ファミリー][世代].[サイズ]
① ファミリー(用途)
建物の「種類(用途)」にあたります。
T系 / M系 (General Purpose):
「一般的な住宅・オフィスビル」。バランス型。Webサーバーや開発環境など、迷ったらこれ。
特に T シリーズは「バースト機能」があり、普段は安いが一時的に性能を出せるため、学習用や検証用に最適です。
C系 (Compute Optimized):
「工場・研究所」。CPU性能が高い。計算処理やバッチ処理向け。
R系 (Memory Optimized):
「巨大倉庫・図書館」。メモリをたくさん積める。データベースやキャッシュサーバー向け。
② 世代とサイズ
数字 (5, 6, 7...): 築年数のようなもの。新しいほど高性能でコスパが良いです。基本は最新(数字が大きいもの)を選びましょう。
サイズ (nano, micro, large...): 建物の広さ(間取り)。大きくなるほどCPUとメモリが倍々になります。
nano, micro: ワンルーム、プレハブ小屋レベル(学習用ならこれで十分!)
large, xlarge: 豪邸、高層ビルレベル
無料枠の注意点
AWSアカウント作成から12ヶ月間は、t2.micro または t3.micro (リージョンによる) が月750時間無料です。
2. 買い方の違い(ホテルか、賃貸契約か)
EC2には「買い方(起動オプション)」がいくつかあり、価格が劇的に変わります。
オンデマンド (On-Demand):
「普通のホテル」。1秒単位の課金。好きな時に泊まれて、好きな時にチェックアウト。定価ですが一番使いやすい。
スポットインスタンス (Spot Instances):
「空室ありの訳ありプラン」。AWSの余っているサーバーを使うため、最大90%OFFと激安。
デメリット: AWS側の都合で「2分後に部屋空けてください」と強制終了されることがあります。落ちてもいいバッチ処理や、ステートレスなWebサーバー向け。
Reserved Instances (RI) / Savings Plans (SP):
「年間賃貸契約」。1年〜3年使う約束をする代わりに安くなる。本番環境用。
今回は学習用なので、オンデマンド(または即終了しても痛くないのでスポットの練習)を使います。
ハンズオン:VPCの中にEC2を建てる
昨日作成した HandsOn-vpc の public-subnet-1a にサーバーを立てます。
Step 1: EC2作成画面へ
EC2コンソールへ移動 -> [インスタンスを起動]。
名前: HandsOn-server
Step 2: マシンイメージ (AMI) と インスタンスタイプ
OSイメージ: Amazon Linux 2023 AMI (無料枠対象) を選択。

インスタンスタイプ: t2.micro または t3.micro (無料枠対象と書かれているもの) を選択。

キーペア:
[新しいキーペアの作成] をクリック。
名前: HandsOn-key、タイプ: RSA、形式: .pem (Mac/Linux) または .ppk (Windows PuTTY用)。

[キーペアを作成] するとファイルがダウンロードされます(※失くすと二度とログインできません!)。
Step 3: ネットワーク設定(ここが重要!)
ここをデフォルトのままで進めると、昨日作ったVPCではなく「デフォルトVPC」に作られてしまいます。[編集] を押してください。
VPC: HandsOn-vpc (前回作成したもの) を選択。
サブネット: public-subnet-1a を選択。
パブリック IP の自動割り当て: [有効化] を選択(これがないと外から繋がりません)。

セキュリティグループ:
[セキュリティグループを作成する] を選択。
名前: HandsOn-ssh-sg
ルール: SSH (ポート22) を 0.0.0.0/0 (どこからでも) から許可。

※本来は「自分のIP」に絞るのが安全ですが、ハンズオン用に全開放します。
Step 4: 起動と接続確認
[インスタンスを起動] をクリック。
数分待って「実行中」になったら、インスタンスIDをクリックして詳細画面へ。
画面右上の [接続] -> [EC2 Instance Connect] タブを選択 -> [接続]。
ブラウザ上で黒い画面(ターミナル)が開き、鳥のAA(アスキーアート)が表示されれば成功です!

まとめ: 今日のToDoリスト
インスタンス(バースト可能)の特徴を理解した
スポットインスタンスのリスクとメリットを知った
前回作ったVPCとサブネットを指定してEC2を起動した
EC2 Instance Connectでブラウザからサーバーにログインできた
次回のDay 4は、このサーバーにファイルを置いたり、データを保存するための「S3(ストレージ)」を深掘りします。
ただの物置だと思っていませんか?
S3だけでWebサイトを公開する技も紹介します!