
【初心者向け】Terraform と Ansible をやさしく実践|インフラ構築と構成管理の最初の一歩
🚀 はじめに この記事でわかること Terraform と Ansible の役割の違い(何を自動化するツール?) ないと何が大変?あると何が楽? の具体例 超シンプルな実践チュートリアル(ローカルで安全に“雰囲気”を体験) 次に学ぶと良い関連テーマ ✅ 概要解説 Terraform・Ansibleとは何か 一言でいうと: Terraform = 「家(インフラ)を建てるための設計図と職人の指示書」 Ansible = 「建った家の中(サーバーの中身)を整える家事代行・内装業者」 Terraform(テラフォーム) クラウド(AWS/Azure/GCPなど)にサーバー、ネットワーク、ストレージといった “土台”を作る ツール。 “コード(HCL) でインフラを宣言”すると、そのとおりに作る/壊す/差分更新してくれます。 = IaC(Infrastructure as Code) の代表選手。 Ansible(アンシブル) できあがったサーバーにソフトを入れる・設定を変える・ファイルを置くなどの “中身の整備”を自動化。 “プレイブック(YAML)”に手順を書くと、複数台に一気に同じ状態をつくってくれます。 = 構成管理ツール の代表選手。 何のためにあるのか 人手の作業ミスを減らし、同じ結果を何度でも作れるようにするため 構築・設定のスピードアップ(環境差やメモ忘れをなくす) 設計や履歴がコードとして残るので、引き継ぎや再現が簡単に ないとどうなるの? 手作業のクリックやコマンドが増え、うっかり設定漏れが発生 何が違って不具合なのか、“差”が追えない(再現が難しい) 人依存になりやすく、忙しい時ほど時間が溶ける どんな場面で使えるの? Terraform: AWSで「EC2(サーバー)1台+セキュリティ設定」を毎回安全に作る Azure/GCPでネットワーク+VM+ストレージの組み合わせを使い回したい 検証環境を作って壊すを何度も繰り返す Ansible: サーバーにNginxやApacheをインストールして同じ設定にする ユーザー追加・ログ設定・アプリ配布などの日常運用を自動化 10台・100台のサーバーに一気に同じ変更を適用 まとめ:Terraformは“外観と土台”、Ansibleは“内装と日々の暮らし” を整える役割と考えるとスッキリします。 💡 小話・豆知識・逸話 “宣言的”と“手続き的” Terraformは宣言的:「最終的にこうなっていてほしい」を書きます。 Ansibleも基本は宣言的ですが、タスクを順番に並べる手続き的な側面もわかりやすいです。 ⇒ “最終形を宣言”して、必要な操作はツールが計算してくれるのが気持ちよさの源。 手で作る→壊せない問題 人がクリックで作ったリソースは、どこで作ったか忘れがち。 Terraformで作れば terraform destroy で綺麗にお片付けできます。 ...