
🟢 はじめに
前回の記事では、
について書きました。
📝前回の記事はこちら👇
今回の記事では
について解説したいと思います。
⚖️ PaaSとIaaSの違い
🤔 なぜPaaSではなく、あえてAWS(IaaS)を選んだのか?
いよいよインターネットの世界への公開(デプロイ)作業のスタートです。
開発において一番感動する瞬間ですね。
は、個人開発者にとって「料金」と「学習コスト」の面で非常に重要なポイントになります。
方法は大きく分けて2つあります。
☁️ 選択肢A:PaaS(自動化された土地)
RenderやFly.ioなどに代表されるサービスです。
🔹メリット
コードを渡す(GitHubと連携する)だけで、面倒なインフラ設定をシステムが全自動でやってくれます。
無料枠(Free Tier)があるサービスも多いです。
🔹デメリット
しばらくアクセスがないとサーバーが「休眠状態」になり、
という大きな罠があります。
さらに、Java(Spring Boot)はメモリを多く消費するため、
ことがあります。
🏗️ 選択肢B:IaaS / VPS(自由な開拓地)
AWS(EC2)や、さくらのVPSなど、自分でLinuxサーバーを借りて、一からJavaやMySQLをインストールする環境です。
🔹メリット
カスタマイズ性が抜群です。
AWSの場合は
ため、設定さえ間違えなければ最初の1年間はほぼ0円で本格的なサーバーを動かすことが可能です。
🔹デメリット
ため、インフラの知識が求められます。
また、設定を間違えて有料サービスを放置すると、後で恐ろしい金額の請求が来る「クラウド破産」のリスクもあります。
🧭 私が「AWS(IaaS)」での本格デプロイを決断した理由
手軽に公開して完成の喜びを味わうなら「ルートA(PaaS)」一択です。
しかし、私は今回、あえてエラーとの激しい戦いが予想される「ルートB(AWS)」を選択しました。
その理由は、
としての証明になるからです。
私はこれまで、サーバーヘルプデスクやテスターとしてITインフラの後方支援(運用や品質保証)を担ってきました。
その現場経験があるからこそ、
がいかに実務で重要かを痛感しています。
開発とは全く違う「インフラの壁」に立ち向かうことになりますが、ここを乗り越えればポートフォリオのデプロイができます。
もしっかりと仕掛けつつ、安全第一でAWSという広大な土地の開拓を進めていきましょう。
🛡️ 0円で構築する「鉄壁のAWSアーキテクチャ」
というイメージがあるかもしれませんが、設定するサービスとサイズさえ間違えなければ、
で動かすことが十分に可能です。
ただし、AWSはあくまで「プロ用のインフラ環境」です。
初心者向けの安全装置はないため、ボタンを1つ押し間違えるだけで
が潜んでいます。
ポートフォリオを安全に公開するために、私が徹底的に調べ上げた
をご紹介します。
1️⃣ EC2(Webサーバー)は「t3.micro」一択と「スワップ領域」
🔹無料枠の条件
t2.micro または t3.micro というサイズを1台のみ(月間750時間=24時間稼働OK)
🔹プロの対策
実は、無料枠のEC2はメモリが「1GB」しかありません。
Java(Spring Boot)はメモリを多く消費する大食漢なので、そのまま起動するとメモリ不足でアプリが落ちてしまいます。
そこで、
のが、無料で安定稼働させるための絶対条件になります。(具体的な手順は後述します)
2️⃣ RDS(データベース)の「マルチAZ」トラップ
🔸無料枠の条件
db.t3.micro などのサイズを1台のみ。
🔸プロの対策
ここがAWS最大の初見殺しです。
RDSを設定する際、「可用性と耐久性」という項目で「マルチAZ(予備サーバーを作成する)」を選ぶと、一発で無料枠から外れて課金が発生します。
※実を言うと、私はこの「マルチAZ」の罠などの複雑な設定に阻まれ、今回はRDSの分離を見送ってEC2の中にMySQLを同居させる決断をしました。もし皆さんがRDSに挑戦する際は、必ず「シングルAZ」を選んでください。
💀 絶対に回避すべき「3つの課金トラップ」
上記のサーバーサイズを守っていても、油断すると少額の課金が発生する罠があります。
1️⃣ 宙に浮いたIPアドレス(Elastic IP)の罠
URLを固定するための「Elastic IP」という機能は、
です。
しかし、節約しようとして「EC2サーバーを停止(ストップ)」させると、IPアドレスだけが宙に浮いた状態になり、
として少額の課金が発生し始めます。
一度設定したら、サーバーは止めずに動かし続けるのが無料の鉄則です。
2️⃣ ストレージ(EBS)の容量オーバー
EC2やRDSにくっつけるハードディスク(EBS)は、合計で30GBまで無料です。
例えば
などと欲張って設定してしまうと、超過した10GB分に課金が発生してしまいます。
3️⃣「1年後」の切れ目
AWSの無料枠の多くは「アカウント作成から12ヶ月間」です。
1年と1日目からは、無料枠だったサーバーにも容赦なく通常の利用料金がかかり始めます。
転職活動やポートフォリオとしての役割を終えたら、忘れずにリソースを削除(または停止)しましょう。
✉️ 最大の防御:「AWS Budgets(請求アラート)」
トラップを色々とお伝えしましたが、これらを恐れて立ち止まる必要は全くありません。
AWSには、誤って設定を間違えてしまった時に備えて
が用意されています。
インフラ構築の最初のステップとして、サーバーを建てるよりも何よりも先に、まずはこの「請求アラート」を設定することが大切です。
✍️ おわりに
次回の記事では、この鉄壁の防御の設定を含めた「準備編」からスタートしていきます。
最後までお読みいただき、ありがとうございました🙇♂️