1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【初心者・IaC入門】第0回:クラウド破産を回避せよ!安全に学ぶためのAWS・ローカル環境構築

1
Last updated at Posted at 2026-03-20

※本記事はAIが書いて、人間がファクトチェックしています。
IaCの連載企画、第0回です。


こんにちは!本日から新連載 『IaCで作る「絶対止めない」AWSデプロイ戦略ハンズオン』 をスタートします。

「ローリングアップデートとかブルーグリーンデプロイって言葉は知ってるけど、実際どうやるの?」
「本番環境のデプロイで、ユーザーにエラー画面を見せてしまったトラウマがある…」

そんな方に向けて、AWS環境で 「絶対にサービスを止めないデプロイ」 を、IaC(Infrastructure as Code)ツールを使って実現していく実践的なハンズオン企画です。

記念すべき第0回のテーマは、デプロイ戦略…の前に、「クラウド破産を回避して安全な実験場を作る」 です。これをやらないと本当に危険なので、必ず最後までついてきてくださいね!


1. 【プロローグ】 恐怖!GitHubにキーを上げてしまった先輩の怪談

先輩エンジニア(入社2年目):
「よーし、ついに個人のAWSアカウント作ったぞ!とりあえず練習で書いたコード、GitHubのパブリックリポジトリにプッシュしとこっと。自分の頑張り、世界に見てもらいたいしな!」

(数日後)

先輩エンジニア:
「ん?AWSからメールが来てる。『Your AWS invoice...』? なになに……」

『 ご 請 求 額 : $ 20,000 ( 約 300 万 円 ) 』

先輩エンジニア:
「ヒッ……!?(気絶)」


…これは現場で本当に起きる 「アクセスキー漏洩」によるクラウド破産(不正利用) のリアルな怪談です。
悪意あるボットはGitHubを24時間監視しており、誤って公開されたアクセスキー(AWSを操作するためのパスワードのようなもの)を数秒で検知し、勝手に超ハイスペックなサーバーを何百台も立ち上げて暗号資産のマイニングなどに悪用します。

この連載を安全に、安心して進めるために、まずは「絶対に破産しないための命綱」と「自分のPCからAWSを操作する魔法の環境」を作りましょう!


2. 【図解インプット】 あなたのPCとAWSはどう繋がるのか?

普段、みなさんがAWSを使う時はブラウザ(マネジメントコンソール)からポチポチとボタンを押していると思います。しかし、今回のテーマであるIaC(コードによるインフラ構築)では、手元のPCから直接AWSに命令を下します。

そのために必要なのが以下の仕組みです。

[あなたのPC]
 ├─ VS Code (コードを書くエディタ)
 ├─ Terraform / CDK (IaCツール:インフラの設計図)
 └─ AWS CLI (AWS専用の翻訳機・通信機)
       │
       ▼ (インターネットを経由して命令を送信)
       │ ※ここで「アクセスキー」という通行証を見せる
       ▼
[AWS クラウド] (リソースが自動で作られる!)

この「手元のPCにツールを入れ、安全な通行証を発行する」のが今日のゴールです。


3. 【ハンズオン】 鉄壁の防具を装備し、武器を手に入れる

インターネットに繋がるPC(WindowsでもMacでもOK)を用意してください。所要時間は約45分です。

Step 1: AWSアカウント(ルートユーザー)の作成と「MFA(多要素認証)」の絶対設定

まだアカウントを持っていない方はAWS公式サイトから作成してください(クレジットカードの登録が必要です)。
ログインしたら、何よりも先に MFA(多要素認証) を設定します。最近のAWSではアカウント作成直後のダッシュボードにMFA設定を促す警告が出ているはずなので、それに従って設定を進めましょう。

  1. 画面右上のアカウント名をクリックし、「セキュリティ認証情報」へ。
  2. 「MFAの割り当て」をクリックし、スマホの認証アプリ(Google Authenticator等)を登録します。

image.png

image.png

これをやらないと、パスワードが漏れた瞬間に終わります。必ず設定してください。

Step 2: 命綱「AWS Budgets(予算アラート)」と「コスト異常検出」の設定

次に、万が一料金が発生した時にすぐ気づけるようアラートを設定します。

  1. 検索窓で「Budgets(あるいは予算)」と検索。
  2. 「予算を作成」から「ゼロ支出予算」または「月額コスト予算(例:1,000円)」を作成します。
  3. 超過時に通知を受け取るメールアドレスを登録します。

image.png

さらに強力な防具として、**「AWS Cost Anomaly Detection(AWS コスト異常検出)」**も有効化しましょう。機械学習が想定外のスパイク出費を検知してくれます。

  1. 検索窓で「コスト異常検出」と検索。
  2. 「サブスクリプションの作成」から、通知を受け取るメールアドレスを設定します。無料ですぐに設定できる最強の盾です。これで心理的ハードルが劇的に下がります!

image.png

Step 3: 作業用IAMユーザーの作成とアクセスキー発行

ルートユーザー(メールアドレスでログインする最強権限のアカウント)での普段使いはNGです。

  1. IAMコンソールから「ユーザーの作成」を開き、自分用のユーザー(例:dev-user)を作ります。権限は一旦 AdministratorAccess を付与します(※本番環境では最小権限の原則に従いますが、今回は学習用のため)。
  2. ルートユーザーと同様にMFAの設定を忘れずに。
  3. 作成したユーザーの画面から「セキュリティ認証情報」タブを開き、「アクセスキーの作成」 を行います。
  4. 表示された アクセスキーID と シークレットアクセスキー を手元にメモしてください。

image.png

image.png

🚨【超重要】🚨
この2つの文字列が載ったファイルを絶対にGitHubなどの公開の場にアップロードしないでください!Gitを使う際は必ず .gitignore ファイルを設定し、terraform.tfvars や .env といったキー情報やパスワードを書き込みがちなファイルを除外するクセをつけましょう。

Step 4: ローカルPCの武器屋(ツールインストール)

最後に、手元のPCに必須ツールをインストールします。以下の公式サイトから、ご自身のOS(Windows / Mac)に合わせたものを入れてください。

  1. VS Code(最強のエディタ)
  2. AWS CLI(AWSをコマンドで操作する基本ツール)
  3. Git(コード管理用)
  4. Terraform & Node.js(第2回以降で使うIaCツールと実行環境。Node.jsはLTS(長期サポート)版を選んでください)

4. 【トラシュー体験】 コマンドが「見つかりません」のパターン

さて、無事にAWS CLIのインストールが終わりましたね。確認してみましょう。
インストール前から開いていたターミナル(コマンドプロンプトやPowerShell、ターミナル.appなど)があれば、以下のコマンドを打ってみてください。

aws --version

【よくある結果】

command not found: aws
(または「'aws' は、内部コマンドまたは外部コマンド...として認識されていません。」)

「えっ、さっきインストール成功したのに!?」 と絶望したあなた、安心してください。初学者が陥りやすいパニックです。
原因は、現在開いているターミナルが 「新しくインストールされたツールの場所(PATH)をまだ知らない」 からです。

【解決策】
ターミナルを一度「×」ボタンで閉じ、もう一度新しく開き直してから、再度 aws --version を実行してください。

$ aws --version
aws-cli/2.x.x Python/3.x.x ...

※バージョン番号は実行したタイミングによって異なりますが、2系(または3系)が表示されればOKです!

バージョンが表示されれば大成功です。PATH(パス)を通す、環境変数を反映させる、という言葉を覚えておきましょう。

最後に、Step3で取得したキーをPCに覚えさせます。

aws configure

と入力し、聞かれるままに アクセスキーID、シークレットアクセスキー、デフォルトリージョン(ap-northeast-1)、フォーマット(json)を入力すれば準備完了です!

🚨【超重要:もう一つの怪談】🚨
aws configure を実行すると、あなたのPCの奥深く(~/.aws/credentials)に今のパスワードが**平文(暗号化されていない状態)で保存されます。「ファイルに書いてGitHubに上げなければOK」と思いがちですが、PC内に保存されたキーを悪意あるプログラムが盗むリスクもゼロではありません。
本連載では初学者がスムーズに学べるようこの方法を使いますが、
「本連載(第6回)がすべて終わったら、必ずAWSコンソールからこのアクセスキーを『無効化』または『削除』する」**と、ここで私と約束してください!


5. 【AI活用コラム】 インストールでつまずいた時の「正しいAIへのSOS」

環境構築はPCのOSバージョンや設定によってエラーが千差万別です。もしエラーが出たとき、ChatGPTやGeminiに単に「Terraform インストールできない」と聞いても、一般的な回答しか返ってきません。

現場で活躍するエンジニアは、以下のような 「魔法のプロンプト」 を使います。

【AIへのSOS テンプレート】
以下の環境で〇〇をインストールしようとしたら、エラーが出ました。原因と解決策を教えてください。

・OS: [例:Windows 11 / macOS Sonoma (M3チップ)]
・実行したコマンド: [例:brew install terraform]
・エラーの全文:

[ここにターミナルに出たエラーを英語のままコピペする]

このように「自分の前提条件(コンテキスト)」をAIに渡すことが、優秀なエンジニア(そして自走できるエンジニア)への第一歩です。


6. 【今回のリザルト】

  • かかった費用: 0円(完全無料枠)
  • 構築した環境: IaC無双するための最強のローカル環境
  • 手に入れたもの: 「いくら使っているか分からない」という恐怖からの解放(安心感)と、トラブルシューティングの基礎知識

【次回予告】
準備は整いました!次回はいよいよ、あなたのPCからコードの魔法を使ってAWS上にWebサーバーを立ち上げます。しかし、そこに待ち受けるのは「サービス瞬断」の恐怖……。絶対に見逃すな!第1回でお会いしましょう。

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?