APC Automation blog

ネットワーク自動化支援のAutomation Coordinatorを提供する、エーピーコミュニケーションズ ACTの自動化ブログ

経験が少なくてもAIで効率的なAnsible Playbookの作成が可能!? Ansible Lightspeedを試してみた

Designed by Freepik

初めに

こんにちは、エーピーコミュニケーションズ iTOC事業部の相場です。
今回の記事では、AIによってAnsible Playbook(以下、Playbook)の作成を支援するAnsible Lightspeedを実際に試してみたので紹介します。
なお、本記事ではTech Preview版のAnsible Lightspeed(以下、Lightspeed)を使用しています。

Tech Preview版は本記事公開時点では利用不可能なため、Lightspeedを利用したい場合は、有償で一般提供されている製品版の「Red Hat Ansible Lightspeed with IBM watsonx Code Assistant」をご利用ください。

Ansible Lightspeedとは?

Ansibleは、ネットワーク機器の設定やサーバの構成管理などを自動化するツールです。しかし、Playbook作成には経験と知識を必要とします。ここでAnsible Lightspeedの出番です。この拡張機能は、AIによるサポートで経験の少ない人材でも効率的なPlaybookの作成を可能にします。

他の生成系AIとの違いは?

先ほど「AIによるサポートで効率的なPlaybookの作成が可能」と記述しましたが、ChatGPTなどの他の生成系AIとはどう違うのか?という疑問を持った方もいらっしゃると思います。そこで簡単にAnsibleを使用する環境において、Lightspeedが他の生成系AIと比べてどのように優れているのか説明します。

①コンテンツソースの照合
Lightspeedは生成したコンテンツ(Playbookなど)に対して、その出典や信頼性を示すタグやリンクを付与します。これにより、コンテンツの品質や正確性を確認できます。

②ポスト処理
Lightspeedは生成したコンテンツに対して、文法や表現や論理性などをチェックして修正します。これにより、コンテンツの読みやすさや理解しやすさが向上します。

③前後のタスクを見て適切なPlaybookを生成
Lightspeedは生成したコンテンツに対して、その目的や背景や状況などを考慮して、最適な手順や方法を提案します。これにより、従来手作業で行っていたPlaybookの作成時間が削減されます。

実際に試してみた

実際に幾つかのパターンでLightspeedを試してみました。
①タスク名 “Debug hello world
まずは簡単にお試し。タスク名の一番後ろにカーソルを移動した後、Enterを押すことでAIがタスクの内容を作成します。その後Tabを押せば作成した内容を反映できます。

また、学習に使用したコンテンツソースは以下のように表示されます。

② タスク名 “Run show version”
ベンダ専用のモジュールでもタスク名から作成可能です。ただし特に指定をしない場合、ネットワーク機器関連はciscoのモジュールが使用されました。

③ タスク名 “Run show version on juniper”
こちらもjuniper用のモジュールですが、タスク名で明示的に指定することでjuniper用のモジュールを使用しました。

また、異なるタスク名でも同じタスクを生成する場合もあります。
以下はOSPFのコストを変更(設定)するタスクです。

このようにタスク名が違う場合であっても、目的に対して手段が同じであればこのような結果になります。

Cisco RouterへのHSRPの設定(ChatGPTとの比較)

まず1枚目はChatGPTにより生成したものです。『Configure HSRPというタスク名でansibleのタスクを作成してください。』というプロンプトを入力しました。基本的な設定はコンフィグが入っていることが確認できます。
設定を行うだけであればこのタスクでも十分ですが、モジュール名がFQCNではないこと、IPアドレスやインターフェースを直接書いているため再利用がしづらいことはマイナスです。

2枚目がLightspeedにより生成されたものです。かなり内容が異なります。
まず、コンフィグやインターフェースが変数で指定されています。これはPlaybookの再利用性を高めるうえで適切な手段です。またモジュール名をFQCNで記述することでansible-lintによる構文検査をパス出来ます。

おわりに

以上がAnsible Lightspeedに関する紹介です。
Lightspeedは、Ansibleの経験が少ない人材でも効率的なPlaybookの作成を実現できる画期的なツールです。現段階では、商用環境に適用するにはまだまだリファクタリング要素がありますが、Playbookの書き方を学ぶ上で、初心者の入り口としては有効なツールになり得ます。
Ansibleを利用した自動化の内製化を目指していたり、人材不足に悩まれている方は要チェックです!
製品版のLightspeedはAAPのライセンスを購入することで製品版が利用可能になるので、是非試してみて下さい。