サーバやネットワークを用意するとき、管理画面を 手でポチポチ設定 していくと、手順が人の頭の中にしか残らず、次に同じものを作るとき必ずどこかずれます。これを解決するのが IaC(Infrastructure as Code) です。
初級の解説は準備中のため、初級の内容を表示しています。
概要 — まず全体をつかむ
詳細 — 1段階ずつ追う
これは何をする係?
IaC は、サーバ・ネットワークといった インフラの構成をコードで書き、ツールに 自動で構築させる 考え方です。
料理でたとえると、勘で味付けするのではなく レシピ(※1 設定ファイル)に分量を書き残す イメージ。レシピどおりに作れば、誰が作っても・何度作っても同じ料理になります。
手作業との違いはここです。
- 手作業 — 画面を操作。手順は記憶頼み、人によってばらつく
- IaC — 構成をファイルに記述。そのまま再現 でき、履歴も残る
登場人物メモ:
- ※1 設定ファイル — 望むインフラの構成を書いたコード。これが「レシピ」になる
- ※2 プロビジョニング — コードに従ってサーバ等を実際に用意する工程
仕事の流れ
- 望むインフラの構成を ファイルに書く(サーバ何台・ネットワークはこう…)
- ツールにそのファイルを 読ませる
- ツールが構成を 自動で構築(※2 プロビジョニング)する
- 同じファイルを使えば、別の場所でも 同じ環境が再現 される
ポイントは、作業の中身が 文章として残る こと。次の人はその文章を読めば、何がどう作られているか分かります。
コード化でうれしい理由
- 再現できる — 同じコードから同じ環境が何度でも作れる(開発用・本番用をそろえやすい)
- 履歴が残る — 「いつ・誰が・何を変えたか」がコードの変更として追える
- レビューできる — 変更を出す前に、他の人が内容を確認できる
手順が人の記憶から コードへ移る ので、属人化(その人しか分からない状態)が減ります。
⚠️ うまくいかないとき
- 手で直してずれる — コードを通さず画面で直すと、コードと現実が食い違う
- コードのミスが全体に波及 — 間違ったまま流すと、全環境に同じ間違いが広がる
- 消す操作も自動 — 「消す」もコードどおり実行されるので、書き間違いに注意
理解度チェック
そのまま解けます(成績は保存されません)。無料アカウントを作ると、学習の記録と進捗の山登りが始まります。
問1. 手作業でのインフラ構築が、IaCと比べて劣る点として本文が挙げているのはどれ?
問2. IaCで「履歴が残る」とは、具体的にどういうことか?
問3. IaCによって「属人化(その人しか分からない状態)」が減るのはなぜか?
問4. 同じIaCのコードを別の環境で実行すると、どうなる?
問5. IaCを使う環境で、コードを通さず管理画面で直接インフラを変えると何が問題になるか?
問6. コードに従って、サーバなどのインフラを実際に用意する工程を何と呼ぶ?(カタカナ)
問7. 「インフラの構成をコードに書いて自動構築する」考え方を、英字3文字の略称で答えてください。
問8. IaC(Infrastructure as Code)を一言でいうと?