System.out.println("Java学習中");

【Java / Spring Boot】UI/UXの視点を活かしたバックエンド開発の学習ポートフォリオ

【AWSデプロイ奮闘記:第3回】IAMユーザーで安全を確保し、無料枠のEC2(仮想サーバー)を建設する手順

Adobe Fireflyで作成

🟢 はじめに

前回の記事では、

AWSアカウント作成と、クラウド破産を防ぐ「1円」の請求アラート設定

についてお話ししました。

📝前回の記事はこちら👇

blog.kenichikamoi.com

自分だけの仮想サーバー(EC2)を建設する前に、実務の現場における「セキュリティルール」を一つクリアする必要があります。

現在ログインしている「ルートユーザー」は、アカウントの解約クレカの変更までできてしまい、権限が強すぎます。

普段のサーバー構築作業には、サーバーを作る権限はあるけれど、お金や契約の根幹には触れられない

日常用の鍵(IAMユーザー)

を発行して使います。

まずはこの安全な鍵を作りましょう。

今回は、この安全な「日常使いの鍵(IAMユーザー)」を発行し、

アプリを24時間365日稼働させるための「まっさらな土地(EC2仮想サーバー)」

を開拓していきます。

黒い画面(Linux)を叩いて、一からサーバーを構築していく、本格的なエンジニア体験がここから始まります。


🗝️ 日常用の鍵(IAMユーザー)を生成する

ここからは、AWS「鍵管理所(IAM)」へ向かい、安全な日常使いの鍵を作っていきます。

画面の指示に従って順番に進めていきましょう。

ステップ1:IAM(鍵管理所)へ向かう

AWSコンソールの画面上部にある検索窓(🔍 Search)IAM と入力します。

検索結果の一番上に出てくる 「IAM」 をクリックします。
※「サービス」の項目の中にある、赤い南京錠のアイコンが目印です。

ステップ2:新しいユーザーの作成

左側のメニューから「IAMユーザー」をクリックします。

画面右側のオレンジ色のボタン「ユーザーの作成」をクリックします。

ステップ3:ユーザー情報の入力

🔹ユーザー名:`suzuki-dev` や `suzuki-admin` など、ご自身の名前を入れた日常使いする名前を入力します。

🔹AWS マネジメントコンソールへのユーザーアクセスを提供する:ここにチェックを入れます(これがないと画面にログインできません)。

🔹ユーザータイプ:「IAM ユーザーを作成したい」 を選択します。

🔹コンソールパスワード:「カスタムパスワード」 を選択し、この日常用アカウントのための新しいパスワードを入力します。(先ほど作ったルートユーザーのパスワードとは別のものにしてください)

🔹ユーザーは次回のサインイン時に新しいパスワードを作成する必要があります:今回は自分1人で使うアカウントなので、手間を省くためにチェックを外しておきます。

右下の 「次へ」 をクリックします。

ステップ4:権限を付与する

この鍵に「どこまでの操作を許すか」を決めます。

「許可のオプション」で、一番右の 「ポリシーを直接アタッチする」 を選択します。

すぐ下の「許可ポリシー」の検索窓に AdministratorAccess と入力してエンターを押します。

一覧に表示された AdministratorAccess (オレンジ色のキューブのアイコン)左側の四角にチェックを入れます。

💡 なぜこの権限を選ぶの?

AdministratorAccess は、

サーバーやデータベースを作る権限は全部あげるけど、アカウント自体の解約や支払いの設定はできない

という権限です。

これは、開発現場で最もよく使われる、安全なベストプラクティスの設定です。

右下の 「次へ」 をクリックします。

ステップ5:確認と作成

入力内容を確認し、右下の 「ユーザーの作成」 をクリックします。

⚠️ 超重要:新しい扉(URL)を保存する

ユーザーの作成が成功すると、緑色の帯と共にパスワードなどの情報が表示されます。

ここにある 「コンソールのサインイン URL」

https://(数字).signin.aws.amazon.com/console のようなURL

を、必ずコピーしてメモ帳やブックマークに保存してください。

このURLが、今作った「日常用の鍵」を挿し込むための専用の扉になります。

ルートユーザーがログインするいつものAWSトップページからは、このIAMユーザーではログインできませんのでご注意ください。

🔄 ステップ6:日常の鍵でログインし直す

URLをしっかり保存したら、画面右上のアカウント名をクリックし、「サインアウト」します。

先ほどコピーした 「コンソールのサインイン URL」 にアクセスします。

IAMユーザー名(例:suzuki-dev)と、設定したカスタムパスワードを入力してサインインします。

無事にログインできれば、右上の表示が suzuki-dev @ (数字のアカウントID)に変わっているはずです。

これで、安全な開発環境が整いました。


💻 Webサーバーの土地を開拓する(EC2の作成)

「ルートユーザー」を安全な金庫に封印し、セキュアな開発環境で作業する準備が整いました。

いよいよ次のフェーズへ進みます。

今までご自身のPC(ローカル環境)の中で動かしていたJavaアプリを、

24時間365日動かし続けるための「クラウド上のパソコン(仮想サーバー)」

を立ち上げましょう。

以下の手順に沿って、無料枠の範囲内で安全にサーバーを建設していきます。

ステップ1:建設予定地(EC2ダッシュボード)へ向かう

画面上部の検索窓(🔍 Search)EC2 と入力し、出てきた 「EC2(クラウド内の仮想サーバー)」 をクリックします。

念のため、画面右上の地域「アジアパシフィック(東京) 」になっているか再度確認してください。

IAMの画面は全世界共通だったため、ここで東京に戻す必要がある場合があります。

ステップ2:インスタンス(サーバー)の起動

EC2ダッシュボードの画面中央、または右上にあるオレンジ色の「インスタンスを起動」ボタンをクリックします。

ステップ3:サーバーの基本設定(名前とOS)

🔹名前とタグ:サーバーの「名札」です。task-app-web など、何のサーバーか分かりやすい名前を入力します。

🔹アプリケーションおよび OS イメージ:サーバーの頭脳(OS)を選びます。デフォルトで選択されている 「Amazon Linux」 のままでOKです。

「無料利用枠の対象」というラベルがついていることを確認してください。

ステップ4:インスタンスタイプの選択

サーバーの性能(CPUやメモリの大きさ)を選びます。

ここは必ず t2.micro または t3.micro (無料利用枠の対象)が選ばれていることを確認してください。

ここを間違えると課金が発生します。

💡 なぜ「t3.micro」が無料枠になっているの?

AWSでは、古い世代のサーバー(t2シリーズ)から新しくてより高性能な世代(t3シリーズ)への移行が順次進められています。

そのため、アカウントを作成した時期データセンターの状況によっては、新世代の「t3.micro」公式の無料枠として提供されます。

画面にしっかりと 「無料利用枠の対象」 と表示されていれば、それがあなたのアカウントにおける正式な無料サーバー(月間750時間)として適用されます。

ステップ5:サーバーの鍵(キーペア)を作成する

クラウド上のサーバーに外から入るための「物理的な電子キー」を作ります。

「キーペア (ログイン)」の項目で、右側の「新しいキーペアの作成」をクリックします。

キーペア名task-app-key などを入力します。

キーペアのタイプRSAプライベートキーファイル形式.pem が選ばれている状態にします。

右下のオレンジ色の 「キーペアを作成」 ボタンを押します。

🚨 【注意点】

ボタンを押すと、task-app-key.pem というファイルが手元のPCにダウンロードされます。

このファイルは、後でサーバーに接続(SSHログイン)するために絶対に必要になる超重要アイテムです。

デスクトップや専用のフォルダなど、分かりやすい場所に大切に保管してください。

ステップ6:ネットワーク(セキュリティグループ)の設定

誰がこのサーバーにアクセスできるか(関所のルール)を決めます。

「ネットワーク設定」の項目で、以下の2つにチェックを入れます。

🔹「からの SSH トラフィックを許可する」(自分のPCからコマンドを打ち込むための専用の通り道です)

🔹「インターネットからの HTTP トラフィックを許可する」(世界中の人がWebブラウザからアプリを見るための通り道です)

💡 なぜ今は「HTTPS」のチェックを入れないのか?

実務のWebアプリでは暗号化された安全な通信(HTTPS: 443番ポート)が必須ですが、これを開通させるには「SSL証明書(電子的な身分証明書)」が必要です。

今回はまだサーバーの「更地」を作ったばかりで証明書がありません。

もし今HTTPSを開けても、ブラウザが「危険なサイトです!」と警告を出してしまいます。

ですので、まずは通常のHTTP(80番ポート)だけを開けておき、アプリが正常に動くことを確認するのがインフラ構築のセオリーです。

HTTPSは、後から数クリックで簡単に追加できます。

ステップ7:いざ、建設

画面右側の「概要」パネルで、無料枠内になっていることを最終確認し、右下のオレンジ色の「インスタンスを起動」ボタンをクリックします。

これで、あなただけのWebサーバーAWS上に誕生しました。

※セキュリティのため、VPC IDインスタンスIDはマスキングしています。


✍️ おわりに

AWSという広大なクラウド大陸に、あなただけの仮想サーバー(EC2)が誕生しました。

ここまでの作業で、

インフラの基礎となる「権限管理(IAM)」と「ネットワークの関所(セキュリティグループ)」

のセオリーをしっかりと学ぶことができました。

さて、今はまだサーバーという「更地」が建っただけの状態です。

次回は、今回ダウンロードした「鍵ファイル(.pem)」を使って、このサーバーの内部へ潜入(SSH接続)します。

そして、本格的な「サーバーの内装工事」を始めていきます。

🔹作業机を広げる(スワップメモリの作成):メモリ1GBの無料枠サーバーでもJavaがサクサク動くように補強します。

🔹エンジンの搬入(Java&MySQLのインストール):アプリを動かすための土台を作り上げます。

次回からは、「黒い画面(Linuxコマンド)」でコマンドを叩いてサーバーを作り上げていきます。

※今回ダウンロードした .pem ファイルは、次回必ず使いますのでデスクトップなどに大切に保管しておいてください🗝️

最後までお読みいただき、ありがとうございました🙇‍♂️


【プロフィール・作品置き場】

kenichikamoi.com


🎵 Youtube(楽曲一覧)はこちら

www.youtube.com