新しいPCを買おうと思えば20〜30万円。スペックを上げたければ部品を買い直し、OSを入れ直し、設定を一から見直す必要があります。一方でクラウドに目を向けると、Webブラウザでボタンを数回ポチポチ押すだけで、ものの1〜2分で自分専用のサーバーが手に入ります。要らなくなれば1クリックで削除でき、課金は使った時間ぶんだけ。Amazonが運営するAWSのEC2を使いこなせるようになると、この自由でスピーディーな世界が、毎日の開発環境として日常になります✨
EC2を一度自分の手で動かしておくと、転職活動でのアピール材料になるだけでなく、副業やポートフォリオ用のWebアプリ公開、機械学習の重い学習処理、オンプレミスでは試しづらい構成の検証など、できることの幅が一気に広がります。今日からその第一歩を踏み出していきましょう🚀
AWSはAmazonが提供しているクラウドサービスのプラットフォームで、数百種類のサービスが揃っています。ファイル保存に強いS3、イベント駆動でコードを動かせるLambda、リレーショナルデータベースのRDS、そしてクラウド上に仮想コンピューターを立てられるEC2。今回フォーカスするのはこのEC2です。
EC2の魅力をひと言で言えば「CPUの数・メモリ・OSを選んで、ボタン1つで自分好みのサーバーが作れる」という点に尽きます。物理サーバーと違って初期コストはほぼゼロ、起動している時間だけの従量課金。スペックが足りなくなっても作り直しが簡単で、不要になれば即削除。自宅にサーバーを置く場合のように家のネットワークが重くなる心配もなく、データセンターは24時間365日警備されているので、セキュリティ面でも安心感は段違いです🔒
AWSのトップページから「今すぐ無料サインアップ」を選び、メールアドレスとアカウント名を入力。送られてくる確認コードで認証し、パスワードと連絡先情報を登録します。サポートプランは無料の「ベーシック」を選んでおけば最初は十分です。
マネジメントコンソールから「EC2」を開き、左メニューの「キーペア」を選択。右上の「キーペアを作成」をクリックし、名前を入力、タイプはRSA、ファイル形式はPEMにして作成します。ダウンロードされた秘密鍵ファイル(.pem)はMacなら~/.ssh/、WindowsならC:\Users\ユーザー名\.ssh\に保存し、Macでは権限をchmod 400で絞っておくのが定番です。
EC2ダッシュボードから「インスタンスを起動」を押し、名前(例: my-server)を入力。OSはUbuntu Server 22.04を選び、インスタンスタイプは無料枠で使えるt2.microを選択。先ほど作成したキーペアを指定し、ネットワーク設定でHTTPとHTTPSのトラフィック許可にチェックを入れます。ストレージは8GBのデフォルトのまま、最後に「インスタンスを起動」をクリックすれば完成です。
インスタンス詳細画面の「接続」ボタンから「SSHクライアント」タブを開き、表示されているssh -i "鍵.pem" ubuntu@パブリックDNSのコマンドをコピー。ターミナル(Macはターミナル.app、WindowsはPowerShell)に貼り付け、鍵のパスを実際のファイルパスに書き換えて実行すれば、クラウド上のUbuntuにログイン完了です。
VS Codeに「Remote - SSH」拡張機能をインストールし、左サイドバーの「リモートエクスプローラー」を開いて+ボタンからSSHコマンドを登録。~/.ssh/configに保存しておけば、以降はワンクリックでサーバーに接続でき、ローカルのVS Codeでサーバー上のファイルを直接編集できます。viに不慣れでも、いつもの開発環境のまま快適に作業できるのが大きな魅力です💻
サーバー上でsudo apt update後にsudo apt install python3-pip、続けてpip install flaskを実行。flask_app/templates/index.htmlに簡単なHTMLを書き、main.pyでrender_template("index.html")を返すルートを定義。flask run --port 80 --host 0.0.0.0で起動すれば、ブラウザからhttp://パブリックIP/にアクセスするだけで、世界中のどこからでも自作Webアプリが見られる状態になります🌐
EC2は起動している時間だけ課金されます。使わない時間は「インスタンスの状態 → 停止」で止め、もう完全に不要になったら「インスタンスの終了」で削除。停止し忘れて高額請求…という事故を防ぐためにも、終わったら必ず一覧で状態を確認する習慣を付けましょう⚠️
動画と公式ドキュメントだけでも学習は進みますが、体系的に整理された書籍を一冊持っておくと、知識の定着スピードがまったく違ってきます。さらに、長時間のクラウド作業を支えてくれるハードウェアを整えれば、毎日の学習が驚くほど快適になります。ここでは、EC2やAWS全体の理解を深めるのに役立つアイテムを紹介します。
EC2はAWSのほんの一部分。S3、VPC、IAM、Lambda、RDSなど主要サービスの位置づけを最初に俯瞰しておくと、後々の学習効率が劇的に上がります。図解が豊富な定番の入門書を一冊やり込めば、AWS認定クラウドプラクティショナー(CLF)の試験範囲もカバーできて一石二鳥です。
EC2の基本操作に慣れてきたら、AWS認定ソリューションアーキテクト アソシエイト(SAA)を目指すのが王道ルート。実務に直結する設計知識が体系的に身につき、転職・副業市場での評価もぐっと高まります。試験対策本+問題集をセットでやり切れば、3か月程度で十分合格圏内です。
EC2の真価は、その上で動かすアプリケーションがあってこそ。FlaskやFastAPIを使ったWeb開発の入門書を読んでおくと、テンプレート分割・データベース連携・認証機能の追加など、本格的なアプリへ育てていく筋道が見えてきます。学んだ内容をそのままEC2にデプロイすれば、最高のアウトプット練習になります。
SSH接続中のターミナル、VS Codeのエディタ、AWSのWebコンソール、ブラウザのドキュメント。クラウド開発はとにかく見るウィンドウが多くなります。15.6インチクラスのモバイルモニターを一枚追加すれば、左にコンソール、右にエディタという快適レイアウトが完成。出張や旅先でも開発環境を再現できる、地味に効いてくる投資です。
SSH接続でコマンドを叩く時間が長くなるほど、キーボードの打鍵感が作業効率を左右します。打ち心地のよいメカニカルキーボードに変えるだけで、長時間のターミナル作業でも疲れにくく、タイポも減って結果的にミスによる無駄な再起動・再課金を防げます。
新規アカウントには「AWS無料利用枠」があり、t2.micro/t3.microインスタンスを月750時間まで12か月間無料で使えます。学習用途なら十分ですが、停止し忘れや別タイプの起動には課金が発生するので、コスト通知のアラートを早めに設定しておくのがおすすめです。
後でまた使う予定があるなら「停止」、もう完全に不要なら「終了」を選びます。停止状態ではインスタンス本体の課金は止まりますが、EBSボリュームの保管料はわずかに発生します。終了するとボリュームごと削除されるため、戻すことはできません(別途設定でボリューム保持も可能)。
多くの場合、秘密鍵ファイルの権限が原因です。Macならchmod 400 ~/.ssh/your-key.pemを実行して権限を絞ってください。それでも繋がらない場合は、ユーザー名(Ubuntu AMIならubuntu)、IPアドレス、セキュリティグループの22番ポート開放を順に確認しましょう。
Route 53などのDNSサービスでドメインを取得し、EC2のElastic IPに紐付ければOKです。本番運用するなら、AWS Certificate Managerで無料のSSL証明書を発行し、Application Load BalancerやNginx経由でHTTPS化する構成が定番になります。
AWS Budgetsで月額の予算と通知メールを設定し、CloudWatchで請求アラームを作成しておくと安心です。さらに、利用しないリージョンのインスタンスを放置していないか定期的にチェックする習慣を付けると、想定外の課金をほぼ防げます。
クラウドのサーバーをWebブラウザだけで作って、SSHで接続して、好きなOSとミドルウェアを入れて、Webに公開する。EC2の基本操作は、慣れてしまえば10分ほどで一連の流れが回せるようになります。そしてこのスキルが手元にあるだけで、「Webアプリを世に出せる人」「機械学習をクラウドで回せる人」「インフラを語れるエンジニア」へと一段ステップアップできます🌟
AWS全体を俯瞰する書籍で土台を作り、認定資格でスキルを言語化し、開発環境を快適に整えていく。この三本柱を半年・一年と積み上げていけば、気づいたときには副業案件や転職市場で「クラウドが分かる即戦力」と評価される自分になっています。今日のうちにアカウントを作って、最初のインスタンスを立ち上げてみてください。やってみれば、想像していたよりずっと簡単で、ずっと面白い世界が広がっています🚀