実践! ネットワーク運用のコード化[最終回]Ansibleの活用による運用設定

APIや構成管理ツールを活用することで、ネットワーク運用はどう変わるのか。最終回となる今回は、構成管理ツールであるAnsibleを用いたネットワーク設定の自動化についてご紹介します。

構成管理ツールの大きな利点は、サーバーの構築の手順をコード化して決まった設定を自動で行える点だけではなく、誰が作業しても同じ結果が得られ、目的とする状態にできる(冪等性)ことです。

ネットワーク機器への対応は2016年ごろから開始され、多くのベンダーのOSに対応してきています(図表1)。そのため、ネットワーク業界からも注目が集まり、検証や情報収集が進んだ企業では実際に活用し始めています。以前から、データセンター事業者はサーバーの構築に利用してきましたが、ネットワーク機器にも活用の幅を広げています。

図表1 Ansibleのネットワークモジュールの例
図表1 Ansibleのネットワークモジュールの例

データセンターのインフラは、サーバーとトップオブラックのスイッチを1つのPOD(サービス提供の基本単位)として増設することがほとんどで、サーバーとスイッチをセットアップするパラメータなどはPOD間でほぼ同一になるよう設計されています。そのため、サーバーもスイッチも同じように構成管理ツールでセットアップすることが有効で、サービスの提供にかかる工数の削減やオペレーションミスの低減につなげることができます。

第1回「APIと構成管理ツールの活用法」でもご紹介したように、構成管理ツールにはいくつか種類があり、現在では「Ansible」「Puppet」「Chef」の3種類がメジャーなものと言えます。後発のツールは扱いやすいように改善されてきており、近年ではAnsibleに注目が集まっています。その理由としては以下の点が挙げられるでしょう。

プログラミングの知識がなくても作成できる
YAML形式のテキストに手順を列挙するだけ

エージェントレスである
SSH接続できるだけでよいので導入が容易

処理が簡単で理解しやすい
編集は、対象となる機器と実行する処理の2つで、処理順序は記述順

豊富なモジュール
サーバーやネットワーク機器だけでなく、コンテナの作成などクラウド連携も可能

Ansibleの基本的な仕組みAnsibleは、IT機器に対して自動的に設定を行うことができる構成管理ツールです。その概要を図表2に示します。

図表2 Ansibleの概要
図表2 Ansibleの概要

設定を行うためには、管理対象の機器を記述する「Inventoryファイル」と、設定内容を記述する「Playbook」を用意する必要があります。

Inventoryファイル
管理対象の機器と環境変数を定義

Playbook
Inventoryファイルで定義した機器に対して行う設定内容を記述

これらのファイルはシンプルで理解しやすい言語で記述するように設計されており、取り組みのための学習コストはそれほど高くありません。

Ansibleの特徴として、エージェントレスで機器の設定ができることが挙げられます。エージェントとは、機器を操作するために必要となる専用の管理ソフトウェアのことです。

エージェントレスではない構成管理ツールを用いる場合には、管理対象の機器に専用のソフトウェアをインストールする必要があり、アンインストールされると機器が管理できなくなります。また、管理対象の機器によってはエージェントをインストールできない場合もあります。

Ansibleはエージェントをインストールする必要がなく、基本的にSSH経由で機器にアクセスして操作します。SSHは広く一般に使われている、歴史ある暗号化通信のプロトコルであり、SSHが適切に設定されていれば、Ansibleを実行するホストと機器間の通信経路はセキュアに保たれます。また、対象機器によってはSSH以外にHTTPSも利用可能です。

月刊テレコミュニケーション2017年12月号から一部再編集のうえ転載
(記事の内容は雑誌掲載当時のもので、現在では異なる場合があります)

続きのページは、会員の方のみ閲覧していただけます。

RELATED ARTICLE関連記事

SPECIAL TOPICスペシャルトピック

スペシャルトピック一覧

FEATURE特集

NEW ARTICLES新着記事

記事一覧

WHITE PAPERホワイトペーパー

ホワイトペーパー一覧
×
無料会員登録

無料会員登録をすると、本サイトのすべての記事を閲覧いただけます。
また、最新記事やイベント・セミナーの情報など、ビジネスに役立つ情報を掲載したメールマガジンをお届けいたします。