LINEで個別相談
DevOps 2026-04-08

IaC(Infrastructure as Code)

インフラ構成をコードとして記述・管理する手法。Terraform・AWS CDK・Ansibleなどのツールを使い、インフラの再現性・バージョン管理・自動化を実現する。

IaC(Infrastructure as Code)とは?

IaC(Infrastructure as Code)は、サーバー・ネットワーク・クラウドリソースなどのインフラ構成をコードとして記述・管理する手法です。コードをバージョン管理することで、環境の再現性・変更履歴の追跡・自動化が実現します。

IaCが解決する問題

従来の手動操作(ClickOps)の問題:

  • 本番・開発環境の設定差異が生じる
  • 誰がいつ何を変更したか不明
  • 環境の再現に時間がかかる
  • 変更のレビューができない

IaCツールの分類

分類説明ツール
プロビジョニングクラウドリソースを作成・管理Terraform, AWS CDK, Pulumi
構成管理OS・ソフトウェアの設定を管理Ansible, Chef, Puppet
コンテナオーケストレーションKubernetesマニフェスト管理Helm, Kustomize

Terraformの基本例

# GCPでCompute Instanceを作成
resource "google_compute_instance" "default" {
  name         = "my-server"
  machine_type = "n2-standard-2"
  zone         = "asia-northeast1-a"

  boot_disk {
    initialize_params {
      image = "debian-cloud/debian-11"
    }
  }
}

IaCのベストプラクティス

  • 宣言的IaC: 「あるべき状態」を記述(HowではなくWhat)
  • Gitでバージョン管理: インフラ変更もPRレビューを行う
  • べき等性の確保: 何度実行しても同じ結果になる
  • 環境ごとに変数化: dev/stg/prdの差異を変数で管理

まとめ

IaCは現代のクラウドインフラ管理の標準です。TerraformはマルチクラウドでシェアNo.1であり、新規インフラ構築時はTerraformから始めることを推奨します。

関連する用語 (DevOps)

全58件を見る

コンテナレジストリ

Dockerコンテナイメージを保存・管理・配布するリポジトリサービス。Docker Hub・GitHub Container Registry・Amazon ECR・GCR・ACRなどがあり、CI/CDパイプラインの中核を担う。

詳しく読む

RBAC

Role-Based Access Control(ロールベースアクセス制御)の略。Kubernetesでは、ユーザーやサービスアカウントに対してロールを割り当て、Kubernetes APIへのアクセス権限を細かく制御する仕組み。

詳しく読む

GitHub Actions

GitHubに組み込まれたCI/CDプラットフォーム。リポジトリへのプッシュやプルリクエストをトリガーに、ワークフロー(.yml)を自動実行できる。テスト・ビルド・デプロイを一元管理できる。

詳しく読む

ArgoCD

Kubernetesのための宣言的GitOps継続デリバリーツール。Gitリポジトリ上のマニフェストと実際のK8sクラスタの状態を常に同期させる。変更を検知して自動でデプロイする。

詳しく読む

Ansible

構成管理・プロビジョニング自動化ツール。YAMLで記述したPlaybookをエージェントレスで実行し、サーバーの設定を一元管理できる。インフラの自動化とべき等性の確保が特徴。

詳しく読む

IT用語: IaC(Infrastructure as Code)とは|インフラをコードで管理する

サーバー・ネットワーク・クラウドリソースをコードで定義・自動構築するIaCの概念とメリットを解説。

詳しく読む

Sponsored Link

バグ・要望を報告する