IT用語: IaC(Infrastructure as Code)とは|インフラをコードで管理する
サーバー・ネットワーク・クラウドリソースをコードで定義・自動構築するIaCの概念とメリットを解説。
IaC(Infrastructure as Code)とは
IaCは、サーバー・ネットワーク・クラウドリソースなどのインフラ構成をコードとして定義し、自動的に構築・変更・削除する手法です。従来の「管理者がコンソールから手動で設定する」方法と対比されます。
IaCのメリット
- バージョン管理: Gitでインフラの変更履歴を管理できる
- 冪等性: 何度実行しても同じ結果になる
- 再現性: 開発・ステージング・本番を同一のコードで構築
- レビュー: インフラ変更もコードレビューで品質担保
- コスト削減: 不要なリソースを見落とさない
主要ツール
| ツール | 用途 |
|---|---|
| Terraform | クラウドリソースの作成・管理 |
| Ansible | OS・ミドルウェアの設定管理 |
| AWS CDK | AWSリソースをTypeScriptで定義 |
| Pulumi | TypeScript/Python等でマルチクラウド管理 |
インフラをコードで定義したファイルはJSON・YAMLが多く、JSONフォーマッターやYAML-JSON変換ツールが役立ちます。
関連する用語 (DevOps)
全58件を見るConfigMap
Kubernetesで設定値(接続先URLや設定パラメーター等)をコンテナから分離して管理するリソース。環境ごとに異なる設定を外出しにすることで、同一イメージを複数環境で使い回せる。
Datadog
クラウドネイティブな統合監視・APMプラットフォーム。インフラ・アプリ・ログ・トレースを一元的に監視できるSaaS型ツール。エージェントをサーバーにインストールして使用する。
フィーチャーフラグ(機能フラグ)
コードのデプロイとは独立して機能のオン/オフを切り替えられる仕組み。段階的ロールアウト・A/Bテスト・カナリアリリース・緊急無効化をコードの再デプロイなしに実現する。
Dockerfile
Dockerイメージをビルドするための設計書ファイル。FROM・RUN・COPY・CMD等の命令を書くことで、ベースOSからアプリのセットアップまでを自動化できる。docker buildコマンドで実行される。
ArgoCD
Kubernetesのための宣言的GitOps継続デリバリーツール。Gitリポジトリ上のマニフェストと実際のK8sクラスタの状態を常に同期させる。変更を検知して自動でデプロイする。
APIゲートウェイ
クライアントと複数のバックエンドサービスの間に立つ単一の入口(エントリポイント)。認証・レート制限・ルーティング・ロギング・キャッシュを一元管理し、APIの公開・保護・管理を行う。