【システム構成】インフラ構築をコードで自動化・一元管理!「IaC」|情報処理問題1000本ノック
クラウド時代におけるインフラ構築・運用の標準手法。手作業による設定ミスや表記ブレを防ぎ、ソフトウェアと同じようにインフラをコード管理する「IaC」の仕組みを攻略しましょう。
1. 【 問題 】:システム統合分野(開発プロセス・システム構築)
【 問題 】 システムの構築や運用に関する記述です。サーバー、ネットワーク、データベースなどのITインフラ構成を、手動の設定作業ではなく、定義ファイル(コード)として記述し、自動的に構築・設定・管理(構成管理)する手法を表す用語は、次のうちどれか。
(ア)IaC(Infrastructure as Code)
(イ)SaaS(Software as a Service)
(ウ)DevOps
(エ)CI/CD
2. 正解:
正解:(ア)IaC(Infrastructure as Code)
3. 解説:「インフラ構築もプログラミングと同じようにコードで管理する!」
IaC(Infrastructure as Code:インフラストラクチャ・アズ・コード)は、サーバーの起動、ネットワーク設定、セキュリティポリシーなどを設定ファイル(YAMLやJSONなど)にコードとして記述し、自動化ツールを用いて環境を構築・管理する手法です。
従来の「管理画面(画面操作)をポチポチ押す」「コマンドを手入力する」という手作業から脱却し、インフラの構成をプログラムのようにバージョン管理(Gitなど)できるのが最大のメリットです。
| 項目 | 従来の手動構築(コンソール操作等) | IaCによる構築(コード管理) |
|---|---|---|
| 作業精度 | ヒューマンエラー(設定漏れ・ミス)が発生しやすい | コード通りに自動実行されるためミスがなく一貫性が保てる |
| 再現性・速度 | 同じ環境を作るのに時間がかかり再現が難しい | 同じコードを実行するだけで何台でも瞬時に複製可能 |
| 履歴管理 | 「誰がいつ何を変えたか」が残りにくい | Git等で変更履歴(誰がいつ何を修正したか)を追跡可能 |
1. 理解のコツ: 「料理のレシピ」で例えてみましょう。
・手動構築:料理人の「勘と手作業」で作るため、日によって味がブレたり別の人が作れなかったりします。
・IaC:「ミリグラム単位まで書かれた完全なレシピ(コード)」を用意し、ロボット(自動化ツール)に作らせます。誰がいつ実行しても全く同じ味(インフラ環境)が完成します。
2. 代表的なツール: Terraform, Ansible, AWS CloudFormation などが代表的です。
3. 試験対策の視点: 基本情報技術者や応用情報技術者試験のシステム開発・DevOps分野で頻出キーワードです。
問題文に「インフラ構成」「設定ファイル・コードで定義」「構成管理」「自動化」「再現性・一貫性」というワードがあれば、迷わずIaC(Infrastructure as Code)を選択しましょう!
4. まとめ
「インフラ環境の構成や設定をコード化し、自動構築・一元管理する手法」。これがIaC(Infrastructure as Code)です。名称の「Infrastructure」の綴りとあわせて正確に覚えておきましょう!