IaC — インフラをコードで書いて自動構築する

初級の解説は準備中のため、初級の内容を表示しています。

概要 — まず全体をつかむ

サーバやネットワークを用意するとき、管理画面を 手でポチポチ設定 していくと、手順が人の頭の中にしか残らず、次に同じものを作るとき必ずどこかずれます。これを解決するのが IaC(Infrastructure as Code) です。

詳細 — 1段階ずつ追う

これは何をする係?

IaC は、サーバ・ネットワークといった インフラの構成をコードで書き、ツールに 自動で構築させる 考え方です。

料理でたとえると、勘で味付けするのではなく レシピ(※1 設定ファイル)に分量を書き残す イメージ。レシピどおりに作れば、誰が作っても・何度作っても同じ料理になります。

手作業との違いはここです。

  • 手作業 — 画面を操作。手順は記憶頼み、人によってばらつく
  • IaC — 構成をファイルに記述。そのまま再現 でき、履歴も残る

登場人物メモ:

  • ※1 設定ファイル — 望むインフラの構成を書いたコード。これが「レシピ」になる
  • ※2 プロビジョニング — コードに従ってサーバ等を実際に用意する工程

仕事の流れ

  1. 望むインフラの構成を ファイルに書く(サーバ何台・ネットワークはこう…)
  2. ツールにそのファイルを 読ませる
  3. ツールが構成を 自動で構築(※2 プロビジョニング)する
  4. 同じファイルを使えば、別の場所でも 同じ環境が再現 される

ポイントは、作業の中身が 文章として残る こと。次の人はその文章を読めば、何がどう作られているか分かります。

コード化でうれしい理由

  • 再現できる — 同じコードから同じ環境が何度でも作れる(開発用・本番用をそろえやすい)
  • 履歴が残る — 「いつ・誰が・何を変えたか」がコードの変更として追える
  • レビューできる — 変更を出す前に、他の人が内容を確認できる

手順が人の記憶から コードへ移る ので、属人化(その人しか分からない状態)が減ります。

⚠️ うまくいかないとき

  • 手で直してずれる — コードを通さず画面で直すと、コードと現実が食い違う
  • コードのミスが全体に波及 — 間違ったまま流すと、全環境に同じ間違いが広がる
  • 消す操作も自動 — 「消す」もコードどおり実行されるので、書き間違いに注意

理解度チェック

そのまま解けます(成績は保存されません)。無料アカウントを作ると、学習の記録と進捗の山登りが始まります。

1. 手作業でのインフラ構築が、IaCと比べて劣る点として本文が挙げているのはどれ?

2. IaCで「履歴が残る」とは、具体的にどういうことか?

3. IaCによって「属人化(その人しか分からない状態)」が減るのはなぜか?

4. 同じIaCのコードを別の環境で実行すると、どうなる?

5. IaCを使う環境で、コードを通さず管理画面で直接インフラを変えると何が問題になるか?

6. コードに従って、サーバなどのインフラを実際に用意する工程を何と呼ぶ?(カタカナ)

7. 「インフラの構成をコードに書いて自動構築する」考え方を、英字3文字の略称で答えてください。

8. IaC(Infrastructure as Code)を一言でいうと?