インフラ自動化の目的は、ツールを使って各種タスクを実行し、管理者の関与を最小限にすることだ。サーバプロビジョニング、ソフトウェアの更新、アプリケーションのデプロイ(展開)、ネットワーク監視など、さまざまな業務を自動化できる。
インフラ自動化にはさまざまなメリットがある一方で、課題も存在する。本稿は、インフラ自動化のメリットと課題について解説する。
インフラ自動化で得られるメリットは以下の通りだ。
- 効率性
- 人手の作業が減るため、少人数のITチームでもより多くの業務を処理できるようになる
- 一貫性
- 自動化ツールは、あらかじめ定義された一定の手順で処理を実行するため、構成のばらつきを防ぎ、標準化されたインフラ運用を可能にする
- セキュリティ向上
- 設定ミスや重要なアクセス制御の漏れといったヒューマンエラーを防ぎ、セキュリティリスクを低減できる
- 再現性とスケーラビリティ
- インフラ自動化では、サーバ構成をファイルに記録して保存する。この構成情報を再利用することで、サーバやネットワークといったリソースの追加が容易になり、大規模システムも展開しやすくなる
こうした利点から、インフラ自動化は現代企業においてますます重要な役割を果たしている。
インフラ自動化にはさまざまな利点がある一方で、幾つかの課題も存在する。
- 異種システムの存在
- 企業はさまざまなサーバやPCを併用しており、それぞれに異なる構成が必要な場合、自動化は複雑になる
- 対象外OSの存在
- 自動化ツールが全てのOSで稼働するわけではない
- 例えば、コンテナオーケストレーションツール「Kubernetes」はOSとして主に「Linux」を搭載するサーバクラスタで機能するため、「Windows」搭載サーバでは制限がある
- 設定ミス
- 自動化ツールは設定通りに動作する。不適切なポリシーや見落としがあると、誤った設定が広範囲に適用されてしまうリスクがある
- スキルギャップと学習コスト
- 自動化ツールを習得するには時間がかかる。自動化ツール「Chef」を使い慣れた管理者でも、同じ自動化ツールである「Puppet」を新たに学ぶには時間が必要だ
- ツールの複雑さ
- 自動化ツールそのものが新たな管理対象となる。効果を上げるには管理負荷に見合うメリットが必要だ
- 問題の見落とし
- 管理者が自動化ツールに依存し過ぎると、プロビジョニングの失敗やアップデートの不具合などの通知を見逃す恐れがある
以下、自動化に関する代表的なツールをカテゴリーごとに紹介する。
- Puppet
- リソースの望ましい状態を定義すれば、それに沿ってツールが自動的に必要な処理を実行する「宣言型アプローチ」を採用している
- スケーラブルだが、複雑な処理には向かない
- Chef
- 明示的に構成手順を記述すれば、それに沿ってツールが処理を実行する「命令型アプローチ」を採用している
- 複雑な処理も実行できるよう設定可能だが、記述内容が煩雑になりやすい
- Ansible
- 主に宣言型アプローチで動作し、小規模なITインフラに向いている
- プログラミング言語「Python」で記述したプログラムによって操作でき、シンプルな構文が特徴だ
- Terraform
- オンプレミスサーバ、クラウドサービスを問わず幅広く利用できるツールだ。宣言型の構成ファイルを使用して、ITインフラを自動でプロビジョニングする
- AWS CloudFormation
- クラウドサービス群「Amazon Web Services」(AWS)に特化したプロビジョニングツールだ。AWSで稼働するITインフラの定義を「JSON」または「YAML」形式で記述し、ITインフラを自動的に構築、管理する
- Azure Resource Manager(ARM)
- クラウドサービス群「Microsoft Azure」向けのプロビジョニングツールだ。Microsoft Azureのリソース定義をJSON形式で記述することで、ITインフラを自動的に構築、管理できる
- Docker
- アプリケーションをコンテナとしてパッケージする。コンテナは、アプリケーションとその実行に必要な機能群もまとめて含んでいるため、稼働するシステム構成に依存せず、異なるサーバに移動しても同じ動作を再現できる。これによって、アプリケーションのデプロイ自動化や運用効率化が実現しやすくなる
- Kubernetes
-
- コンテナ化されたアプリケーションのデプロイ、管理、スケーリングをサーバクラスタ全体で自動化する。大規模かつ複雑なシステム運用に適しており、自己修復や自動スケーリングなどの高度な機能を備える
- Prometheus
- CPUやメモリ使用率などのメトリクス(指標)を収集する。アラートも生成できるが、通知の管理には別のツールと連携させる必要がある
- Grafana
- メトリクスやログを可視化する。ITインフラの状況の把握に有効だ
これらの監視ツールは単体で自動化を実現するわけではないが、Prometheusが「仮想サーバのメモリ不足」を検出し、それに基づいて自動的にリソースを割り当てるといった形で、自動化プロセスの一部を担うことができる
TechTarget.AI編集部は生成AIなどのサービスを利用し、米国Informa TechTargetの記事を翻訳して国内向けにお届けします。
Copyright © ITmedia, Inc. All Rights Reserved.
本記事は制作段階でChatGPT等の生成系AIサービスを利用していますが、文責は編集部に帰属します。