APC Automation blog

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

Red Hat Ansible Automation Platformとはなにか

Red Hat Ansible Automation Platformとはなにか

自動化プラットフォームである「Ansible」は、大きく分けて「オープンソースとして提供されている機能(Ansible)」と、「商用ソフトウェアとしてRed Hatが提供している機能(Red Hat Ansible Automation Platform)」の2つに分かれます。

「Ansible」という名前は、徐々に知られるようになってきましたが、Red Hat Ansible Automation Platformが提供する機能の全体像についてはまだ十分に理解されていないのが実情です。

以下では、「Red Hat Ansible Automation Platform」についてご紹介します。

Red Hat Ansible Automation Platform (AAP) 概要

Ansible Automation Platform (以下AAP) とは、ハイブリッドクラウドからエッジまで、大規模なIT自動化を構築・運用するためのフレームワークを提供し、開発や運用チームからセキュリティおよびネットワークチームまで、組織全体のユーザーが自動化を作成、共有、管理できるようにするためのプラットフォームです。

AAPには以下の8つの機能が含まれます。

No. 機能名 役割
1 Automation Execution Environments 自動化実行エンジン
2 Automation Controller AAP管理ツールならびにGUIを提供する
3 Automation Mesh 自動化のスケーリングを提供する
4 Ansible Content Collections Ansible公式のテスト済みモジュール・プラグイン群を配布する
5 Automation Hub Ansible Content Collectionを配布する
6 Red Hat Insights for Red Hat Ansible Automation Platform AAP上の監査やレポーティングを提供する
7 Automation Services Catalog ビジネスユーザーの自動化セルフサービスを支援する
8 Ansible Content Tools 2つのツール(Execution Environment BuilderならびAutomation Content Navigator)の総称

なお、AAPを利用する場合はRed Hatから年間ライセンスを購入する必要があります。AAPのライセンス金額は「管理リソース数(システム数、ホスト数、インスタンス数、VM数、コンテナ数、デバイス数)」ならびに、「サポートレベル(StandardとPremium)」によって決まります。管理ノード数、サポートレベルごとの価格は公開されていないため、Red Hatまたは販売代理店に確認する必要があります。

(引用元: https://www.ansible.com/products/pricing )

サポートレベルは、StandardとPremiumの2段階が設定されています。サポート内容はどちらも同じですが、サポート時間だけが異なっています。平日8時間サポートのStandardに対し、Premiumでは24時間365日サポートが提供されます。

ちなみに、Automation ControllerはOSS版が提供されています。なお、OSS版は本番環境での利用は推奨されていないため、本番環境で利用する場合は、ライセンス購入が必要です。

Red Hat Ansible Automation Platform 各機能紹介

1.Automation Execution Environments

(画像引用元: https://www.redhat.com/ja/blog/whats-new-in-ansible-automation-platform-2-automation-controller )

Automation Execution Environmentは、AAPでのすべての自動化が実行されるコンテナイメージです。自動化の実行がコントロールプレーンから切り離されることで、開発サイクルが短縮され、環境全体のスケーラビリティ、信頼性、可搬性が向上します。

2.Automation Controller

(画像引用元: “Ansible: Up and Running, 3rd Edition” early release. O’Reilly Media Inc. Capter 23. Ansible Automation Platform Figure 23-4 Ansible Automation Controller dashboard)

Automation Controllerは、AAPにおける「管理ツール」ならびに「GUI」を提供する役割を果たします。具体的には、ダッシュボードによる視覚化、ロールベースの権限管理、ジョブ管理、ジョブテンプレート、REST APIなどが利用できます。Automation Controllerを導入することにより、高い管理性やセキュリティ対策、ならびにジョブテンプレート等を利用できるようになり、さらなる効率化が期待できます。

(画像引用元: https://www.redhat.com/ja/blog/whats-new-in-ansible-automation-platform-2-automation-controller )

Automation ControllerはOSS版が提供されており、「AWX」と呼ばれます。

詳細については、当社ブログをご覧ください。

automation.ap-com.co.jp

3.Automation Mesh

Automation Meshとは、自動化をスケーリングするための、シンプルで信頼性の高いフレームワークです。

  • 動的なクラスタの容量
    • 必要に応じて実行能力を増加可能
  • グローバルなスケーラビリティ
    • 実行プレーンはネットワークの遅延や接続の中断に対して回復力があり、不安定なネットワークに対して強靭
  • 安全な自動化
    • 実行ノードとコントロールノードの間の双方向の通信は完全な TLS による認証とエンドツーエンドでの暗号化を実施

(引用元: https://rheb.hatenablog.com/entry/ansible_automation_platform_2_1_released )

(画像引用元: https://rheb.hatenablog.com/entry/ansible_automation_platform_2_1_released )

4.Automation Content Collections

Red Hatが公式に提供するモジュールやプラグインを「Automation Content Collections(以下、Collections)」と呼びます。Collectionsは、Red Hatがテストを行った認定済みのコンテンツで、1,000以上のCollectionが提供されています(2022/7現在)。

なおCollectionsは、コミュニティが作成したモジュールやプラグインを共有するサイトである「Ansible Galaxy」と、Red Hat公式のモジュールやプラグインのみを配布する「Automation Hub」から入手できます。

5.Automation Hub

(画像引用元: https://www.ansible.com/products/content-collections )

Automation Hubは、上記4のCollectionsが配布されるサイトで、Red Hatがテストを完了したコンテンツのみが配布されます。

6.Automation Analytics and Red Hat Insights for Red Hat Ansible Automation Platform

Red Hat Automation Analyticsならび、Red Hat Insights for Red Hat Ansible Automation Platformは、以下の機能を有するツールです。

  • 自動化分析機能 (Automation Analytics)
    • 自動化により節約できたコストを自動計算し算出
    • 自動化されたタスクごとの1~3年の時間とコスト節約を予測
    • 自動化パフォーマンス分析レポート
    • クラスタ内または複数クラスタ間の問題調査
  • 監視機能 (Red Hat Insights for Red Hat Ansible Automation Platform)
    • エコシステムへ影響を与える前に、セキュリティとパフォーマンスの問題を特定
    • 問題解決を行うためのPlaybookを生成
    • システム全体の相違や逸脱を検出
    • 作成したポリシーに逸脱した問題が発生した際に通知

(引用元: https://www.ansible.com/products/insights-for-ansible )

7.Automation services catalog

Automation services catalogとは、ユーザーがAnsibleを利用して自動化を行うためのセルフサービス機能を提供するサービスです。

  • 適切なポリシーとガバナンスを適用した上で、一般ユーザー自身が自動化実施を可能にする
  • 自動化処理実施前の承認プロセスを導入
8.Ansible content tools

Ansible content toolsとは、AAP上で利用するツールである「Execution Environment Builder (以下Ansible Builder)」と「Automation Content Navigator(以下、Ansible Navigator)」の総称です。

  • Ansible Builderは、Ansibleのカスタマイズされた実行環境をビルドするツール
  • Ansible Navigatorは、コマンドベースのプレイブック実行ツール

エーピーコミュニケーションズが最適なAnsible自動化ソリューションを提供

Ansibleの導入といっても、自動化の目的やシステム環境などによりユースケースが異なります。このため、「AAPが提供するどの機能を利用すれば、自動化における目的が達成されるか」は、一概にお伝えできません。

当社、エーピーコミュニケーションズでは、Ansibleを利用したネットワーク自動化支援サービスである「Automation Coordinator」を提供しております。既に、多くのお客様が当社サービスならびに導入コンサルティングを利用して、工数削減、人的リソース削減、オペレーションの均一化などを実現しています。なお、また当社では、ネットワーク自動化以外のAnsible導入支援も実施しております。

Ansibleを利用した自動化についてご検討の際は、ぜひお問い合わせください。

www.ap-com.co.jp


APC-ACT
ACTは株式会社エーピーコミュニケーションズ(APC)の自動化に特化したチームです。現在は特にネットワーク自動化に重点を置いています。
当ブログは、執行役員 名田と、マーケ担当 嶋津が主に情報発信を行っています。

ネットワーク自動化用語集: Automation Controller (旧 Ansible Tower)

ネットワーク自動化用語集: Automation Controller (旧 Ansible Tower)

Automation Controllerとは、商用版のAnsibleである「Red Hat Ansible Automation Platform」に含まれる管理ツールです。バージョン3まではAnsible Towerと呼ばれていました。

Automation Controllerの機能

以下では、Automation Controllerに含まれる主要な機能を紹介します。

Automation Controller
(画像引用元: “Ansible: Up and Running, 3rd Edition”. O’Reilly Media Inc. Capter 23. Ansible Automation Platform Figure 23-4 Ansible Automation Controller dashboard)

ダッシュボード 実行ジョブや処理結果などが視覚化されることに加え、メールやチャットへの処理通知が可能
セキュリティ強化 ロールベースの権限管理機能が利用可能で、各ユーザーが業務に必要なリソースだけを制御できるよう設定可能。他認証システム利用や、ジョブ実行時の認証情報(パスワード、秘密鍵など)の暗号化も利用可能
高度なジョブ管理 ジョブの並列実行ならびに、ジョブスケジューリングが可能
ジョブテンプレートの利用 ジョブテンプレート(プレイブックを含むジョブを実行する際に必要なパラメータのセット)を定義できるため、繰り返しのジョブ実施時の利便性が向上
REST API利用 REST APIに対応するため、他システムとの統合が容易

OSS版と商用版の違い

商用版「Automation Controller」は、OSS版である「AWX」も提供されています。Automation ControllerとAWXでは、同等レベルの機能が提供されていますが、以下の点が異なります。

  • 本番環境における利用
    • AWXは本番環境での利用は非推奨となります
  • 製品リリース
    • AWXは最低限のテストでリリースされますが、Automation Controllerでは安定バージョンがリリースされます
  • アップグレード
    • AWXは最低限のテストでリリースされますが、Automation Controllerではライフサイクル期間内の製品の複雑なアップグレードテストも実施されます
  • セキュリティパッチ・バグフィックス
    • AWXは最新版のみの提供ですが、Automation Controllerは製品ライフサイクル期間内の全バージョンに提供されます
  • Red Hat公式サポート
    • AWXは公式サポートがありませんが、Automation Controllerでは公式サポートが提供されます。

<ネットワーク自動化のお悩みは、エーピーコミュニケーションズにご相談ください>

ネットワーク自動化サービス「Automation Coordinator」
お客様ごとの最適な業務プロセスコンサルティングを含めたAnsibleによる自動化の導入(実際の運用)、ハイスキルなエンジニアによる並走型支援、クライアントワーク、チケットサポート、最終的にはお客様が自動化を自律して運用するためのスキル習得トレーニングまでをパッケージ化して提供するネットワーク運用の自動化支援サービスです。

APC-ACT
ACTは株式会社エーピーコミュニケーションズ(APC)の自動化に特化したチームです。現在は特にネットワーク自動化に重点を置いています。
当ブログは、執行役員 名田と、マーケ担当 嶋津が主に情報発信を行っています。

ネットワーク自動化用語集: Ansible Playbook

ネットワーク自動化用語集: Ansible Playbook

Ansible Playbook(以下、プレイブック)とは、Ansibleが行う処理を記述するファイルを指します。

プレイブックについて

プレイブックは、構成管理・自動化ツールであるAnsibleに対して、「ターゲットノード(管理対象)に対して、こうした順番で、このような処理を行ってください」と指示を行うファイルです。Ansibleは、プレイブックに記載された指示を上から下に実施し、何度処理が実施されても同じ結果が得ることができます。この性質は、「冪等性(べきとうせい)」と呼ばれます。

またプレイブックは、YAMLという「構造を持ったテキスト」により記述されます。YAMLプログラミング言語ではなく、XMLJSONなどの形式と比べて理解および記述が容易であることも特徴です。

プレイブックの構成
(出典: Ansible実践ガイド第3版 著: 北山晋吾、佐藤学、塚本正隆、畠中幸司、横地晃[インプレス刊] P82 Figure 3-4 プレイブックの構成)

上記は、全ての管理対象(hosts: all)に対して、「NTPサーバーのインストール、設定、再起動、有効化」を行った後に、Webサーバー(webservers)に対してのみ「HTTPサーバーのインストール」を行うという内容です。プレイブックはYAMLで記述されている為、プログラム経験の浅いユーザでも比較的、容易に内容を把握することが可能です。

プレイブックの管理性を高める「ロール」

1つのプレイブック内に、複雑な処理を多数記述した場合、プレイブックが長文化して管理性や可読性の観点で問題が生じます。これを回避するために、「プレイブックを機能ごとに分割し、必要に応じて呼び出して利用する」ことができる「ロール」を利用します。

ロールの仕組み
(出典: Ansible実践ガイド第3版 著: 北山晋吾、佐藤学、塚本正隆、畠中幸司、横地晃[インプレス刊] P116 Figure 3-7 ロールの仕組み)

上記例は、プレイブック形式で記述されたセクションを、ロール形式に置き換えた場合の例です。「vars」「tasks」「handlers」の各セクションをそれぞれYAMLファイルに分割して、Ansibleが認識できる指定のディレクトリに保存します。

プレイブック作成における注意点

以下では、プレイブックを作成する上で、3つの基本的な注意点を紹介します。プレイブックを作成する際に、ぜひ留意ください。

1.可読性を高める/td> 作成者以外が読んでも分かる書き方にする。組織内でプレイブック記述ルールを決めるのがよい。
2.肥大化させない 用途に応じてプレイブックを分割する。これにより、運用効率化と、エラー箇所特定の迅速化につながる。
3.シンプルに書く 処理をできるだけ簡単に記述する。

<ネットワーク自動化のお悩みは、エーピーコミュニケーションズにご相談ください>

ネットワーク自動化サービス「Automation Coordinator」
お客様ごとの最適な業務プロセスコンサルティングを含めたAnsibleによる自動化の導入(実際の運用)、ハイスキルなエンジニアによる並走型支援、クライアントワーク、チケットサポート、最終的にはお客様が自動化を自律して運用するためのスキル習得トレーニングまでをパッケージ化して提供するネットワーク運用の自動化支援サービスです。

APC-ACT
ACTは株式会社エーピーコミュニケーションズ(APC)の自動化に特化したチームです。現在は特にネットワーク自動化に重点を置いています。
当ブログは、執行役員 名田と、マーケ担当 嶋津が主に情報発信を行っています。

Ansible Galaxyとはなにか

Ansible Galaxyとはなにか

自動化プラットフォームであるAnsibleは、処理をYAMLベースのプレイブックに記述するため、高度なプログラム言語を用いる必要がありません。しかし、全ての処理を一から設定する場合は、多くの学習コストと工数が必要になる場合があります。

Ansibleでは、「コミュニティが作成したコレクションやロール」が共有され、無料で利用できる仕組みが提供されています。以下でご紹介します。

Ansible Galaxy概要

Ansible Galaxy
利用できるユーザー 無料および有料ユーザー
利用方法 SaaS
インターネット経由での利用 (SaaS) 可能
Red Hat認定のコレクション提供 不可
コミュニティ作成のロール利用 可能

Ansible Galaxyとは、Ansibleコミュニティが開発したコレクションやロールの検索、ダウンロード、共有が行えるサイトです。

Ansible Galaxyは、コミュニティベースの共有サイトであり、「Red Hat Ansible Automation Platform」の有償契約がなくても利用できます。コミュニティが作ったコレクションやロールを無償で利用できます。また、自身が作成したコレクションやロールをアップロードし、コミュニティメンバーと共有することもできます。

なお、Red Hat認定コレクションが提供される「Automation Hub」ならびに、Automation Hubを社内ネットワークで利用できる「Private Automation Hub」は、Ansible Automation Platform (AAP) サブスクリプション契約の有料ユーザーのみに提供されます。

Ansible Galaxyトップページ
(Ansible Galaxyトップページ https://galaxy.ansible.com/ )

Ansible Galaxyを利用するメリットは、以下の4点が挙げられます。

  • (1) 多数のコレクション・ロールの配布
    • 2022/6現在、1,500以上のコレクションと2万9,000以上のロールがAnsible Galaxy上で配布
  • (2) 必要かつ信頼性の高いコレクション・ロールの検索性が高い
    • コレクション・ロールにはタグが付与されており、検索性が高い
    • 評価や、ダウンロード数などが表示されているため、ダウンロードする前に、定評あるコレクション・ロールか、そうでないかを判別できる
  • (3) 工数の節約が可能
    • コレクション・ロールを1から作るのと比べて、工数を節約可能
  • (4) 無料での提供
    • Ansible Galaxy利用に際して、費用は必要ない

なお、Ansible Galaxyを利用する際には、「動作保証がない」という点について留意しておく必要があります。

  • Ansible Galaxy上で配布されているコレクションやロールのうち、コミュニティベースで作成されたものは、動作保証はありません。
  • また、想定しない動作をした場合のサポートや、損害が生じた場合の補償もありません。このため、自己責任での利用が求められます。ダウンロードしたコレクションやロールをテストした後に本番環境で利用しましょう。
  • なお、ダウンロードしたコレクションやロールがそのまま利用できない場合は、開発元やコミュニティに問い合わせを行う、または自身でコレクションやロールを修正して利用可能な状態にする必要があります。

Ansible Galaxyを利用する

アクセスする

  • https://galaxy.ansible.com/ にアクセス
  • アカウント作成やログインを行わずに、Ansible Galaxyを利用できます。
  • なお、下記で紹介しているMy ContentやMy Importsを使用したい場合は、アカウント作成・ログインが必要です。
必要なコレクション・ロールを探し、ダウンロードする

  • 左側の「Search」からコレクション・ロールの検索が可能。また、中央の「Most Popular」の下にカテゴリ分けされたリンクから、人気の高いコレクション・ロールへのアクセスも可能。

  • Searchボタンをクリックすると、コレクション・ロールの一覧画面と、検索窓が表示されます。

  • コレクションまたはロール名をクリックすると、詳細について確認できます。
  • 下記コマンドでインストールできます。
    • ansible-galaxy collection install コレクション名
    • ansible-galaxy role install ロール名
  • コレクションまたはロールのカスタマイズが必要な場合は、自分で修正できます。修正後、GitHubでプルリクエストを送り、マージされれば、他のユーザーもあなたが修正したロールが利用できるようになります。これは、Ansible Galaxyのコミュニティの貢献にもつながります。

Ansible Galaxyの他の機能

  • Community
    • コレクション・ロールの作者(Author)を検索できます。
  • My Content
    • 自分がアップロードしたコンテンツが表示されます。
  • My Imports
    • Ansible Galaxyに自分が作成したロールをインポート(アップロード)した際のインポートプロセスが表示されます。
  • Preferences
    • 自身のアカウントページです。登録メールアドレスの設定、API Keyの表示、通知の設定などが行なえます。

まとめ

以上、Ansible Galaxyの概要ならびに画面について紹介いたしました。Ansible Galaxyは、「多数の選択肢がある」「検索しやすい」「工数の削減ができる」「コストがかからない」といったメリットがあります。

反面、コミュニティが作成・配布するコレクション・ロールは信頼性が高いとは限りません。例えば、インストールしたロールが古いAnsibleのバージョンにしか対応していない、といった理由で動作しない場合は、自身で修正する必要があります。また、インストールして利用したことにより被害が生じた場合も補償はありません。よって、本番環境で利用する前には、注意が必要です。

上記のデメリットを考慮しても、コミュニティが作成したコレクション・ロールを利用できる点は大きなメリットです。よって、「常に完璧に動作するものが提供されているわけではない」という前提に立ち、活用をするのがよいでしょう。


<ネットワーク自動化のお悩みは、エーピーコミュニケーションズにご相談ください>

ネットワーク自動化サービス「Automation Coordinator」
お客様ごとの最適な業務プロセスコンサルティングを含めたAnsibleによる自動化の導入(実際の運用)、ハイスキルなエンジニアによる並走型支援、クライアントワーク、チケットサポート、最終的にはお客様が自動化を自律して運用するためのスキル習得トレーニングまでをパッケージ化して提供するネットワーク運用の自動化支援サービスです。

APC-ACT
ACTは株式会社エーピーコミュニケーションズ(APC)の自動化に特化したチームです。現在は特にネットワーク自動化に重点を置いています。
当ブログは、執行役員 名田と、マーケ担当 嶋津が主に情報発信を行っています。

ネットワーク自動化用語集: Ansible Galaxy

ネットワーク自動化用語集: Ansible Galaxy

Ansible Galaxyとは、自動化ツールであるAnsibleの利用者向けに提供されているサービス (SaaS) です。Ansible Galaxyでは、Ansibleコミュニティが開発したコレクションならびにロールの検索、ダウンロード、共有が行えます。

Ansibleには、無料版と有料版(Red Hat Ansible Automation Platform、以下AAP)がありますが、Ansible Galaxyはどちらのユーザーも利用できます。

Ansible Galaxyへは、https://galaxy.ansible.com/ からアクセス可能です。コレクション・ロールを入手するだけであれば、アカウント作成ならびにログインを行わずに利用できます。Cisco、Juniper、Aristaといったネットワーク機器メーカー向けのコレクションも提供されています。

Ansible Galaxyトップページ
(Ansible Galaxyトップページ https://galaxy.ansible.com/ )

Ansible Galaxyを利用するメリットは以下の通りです。

  • 1,500以上のコレクションと2万9,000以上のロールの配布 (2022年8月5日 [更新日] 現在)
  • コレクション・ロールの検索性の高さ
  • 自身でコレクション・ロールを作るのに比べ工数節約が可能
  • 無料での提供

なお、Ansible Galaxyを利用する際には、コミュニティにより作成されたコレクション・ロールには「動作保証がない」点に留意しておく必要があります。

  • Ansible Galaxy上で配布されているコレクション・ロールを利用して、損害が生じた場合の補償はありません。テストを行った後に本番環境で利用しましょう。
  • 入手したコレクション・ロールをそのまま利用できない場合は、開発元やコミュニティに問い合わせできます。問い合わせで問題が解決しない場合は、自身でコレクション・ロールを修正する必要があります。

なお、AAP提供元であるRed Hatは、Ansible Galaxyとは別に「Automation Hub」というサービス (SaaS) も提供しています。Automation Hubからは、Red Hat認定のコレクションの入手が可能です。なお、AAPユーザー向けのサービスであるため、利用するにはRed Hatサブスクリプションが必要になります。


<ネットワーク自動化のお悩みは、エーピーコミュニケーションズにご相談ください>

ネットワーク自動化サービス「Automation Coordinator」
お客様ごとの最適な業務プロセスコンサルティングを含めたAnsibleによる自動化の導入(実際の運用)、ハイスキルなエンジニアによる並走型支援、クライアントワーク、チケットサポート、最終的にはお客様が自動化を自律して運用するためのスキル習得トレーニングまでをパッケージ化して提供するネットワーク運用の自動化支援サービスです。

APC-ACT
ACTは株式会社エーピーコミュニケーションズ(APC)の自動化に特化したチームです。現在は特にネットワーク自動化に重点を置いています。
当ブログは、執行役員 名田と、マーケ担当 嶋津が主に情報発信を行っています。

ネットワーク自動化用語集: Ansible (Red Hat Ansible Automation Platform)

ネットワーク自動化用語集: Ansible (Red Hat Ansible Automation Platform)

Ansibleについて

Ansibleとは、Red Hatが開発する構成管理・自動化ツールです。Ansibleは、構成管理などの繰り返し作業を自動化することで、生産性の向上、アプリのライフサイクル管理、予測可能性・信頼性・セキュリティの確保を実現します。

Ansibleを利用すると、以下のような作業が実施できます。

なお、Ansibleは以下の特徴を有します。

エージェントレス 管理対象となる機器(マネージドノード)に、エージェントをインストールせずに管理が行える
YAMLによる処理記述 プログラミング言語は使用せずに、HTMLやXMLのような「構造を持ったテキスト形式」であるYAMLを用いて、「プレイブック」(YAMLファイル) に処理を記述するため、学習が容易
幅広い管理対象 以下のような、幅広い対象を管理することが可能
  • クラウド基盤
  • ファイル
  • モニタリング
  • ソース管理
  • クラスタリング
  • ID
  • ストレージ
  • コマンド
  • ITインフラ
  • ネットワーク
  • メッセージング
  • データベース
  • パッケージ管理
  • 通知
  • 証明書と鍵管理
  • Windowsなど
冪等性(べきとうせい)の担保 構成管理ツールとして「ある処理を1回だけ行っても、複数回処理を行っても、同じ結果が得られる」性質である「冪等性」を重視

Red Hat Ansible Automation PlatformならびOSS版について

Ansibleには、Red Hatから提供される商用版と、OSS版が存在します。

商用版は「Red Hat Ansible Automation Platform」と呼ばれ、自動化エンジンに加えて多数のツールやサービス、Red Hat公式サポートが利用可能となります。価格体系は、年間サブスクリプションとなっており、サポートレベル(StandardとPremium)ならびに管理ノード数により異なります。

OSS版では、自動化エンジンである「Ansible」と、管理ツールである「AWX」が提供されています。OSS版は、本番環境での利用は非推奨であるため、本番環境で利用する場合や、製品サポートを受けたい場合は、商用版の利用が推奨されます。

Ansibleに関する詳しい説明はこちらからどうぞ。 automation.ap-com.co.jp


<ネットワーク自動化のお悩みは、エーピーコミュニケーションズにご相談ください>

ネットワーク自動化サービス「Automation Coordinator」
お客様ごとの最適な業務プロセスコンサルティングを含めたAnsibleによる自動化の導入(実際の運用)、ハイスキルなエンジニアによる並走型支援、クライアントワーク、チケットサポート、最終的にはお客様が自動化を自律して運用するためのスキル習得トレーニングまでをパッケージ化して提供するネットワーク運用の自動化支援サービスです。

APC-ACT
ACTは株式会社エーピーコミュニケーションズ(APC)の自動化に特化したチームです。現在は特にネットワーク自動化に重点を置いています。
当ブログは、執行役員 名田と、マーケ担当 嶋津が主に情報発信を行っています。

Ansibleクックブック の著者が語る「ネットワーク自動化を成功させる最大の鍵」

今年3月に発売された「Ansibleクックブック」。 この書籍の執筆に参加した弊社エンジニア3名に、Ansibleによるネットワーク自動化の難しさや導入のコツ、そしてネットワーク自動化を成功させる上での「最大の鍵」について語ってもらいました。

参加者
三枝 浩太
プロフェッショナル職エンジニア
官公庁向けネットワークの設計、構築業務を経験。2017年に株式会社エーピーコミュニケーションズへ入社。入社後Pythonを利用したネットワーク運用自動化に興味を持ち学習をしていた際にAnsibleと出会う。趣味はNikeのスニーカー蒐集。

宮﨑 啓史
シニアプロフェッショナル職エンジニア
メールやwebのインフラ構築やバックエンド開発、組み込みアプリ開発などの経験を経て、2020年に株式会社エーピーコミュニケーションズへ入社。現在はAnsibleを使ったネットワーク自動化を推進する部署に所属。朝晩の散歩が日課

横地 晃
テクニカルエバンジェリスト
インフラ構築からシステム開発まで行う、ITなんでも屋的なポジションでエンジニアキャリアをスタート。ネットワーク運用自動化の支援業務や自動化トレーニングの講師を担当している。他、Ansibleユーザー会などのコミュニティへの参加や運営、技術ブログの投稿がライフワーク。

ネットワークはノードの集合体、1機器で完結しないが故の難しさがある

-ネットワーク自動化の「便利さ」は色々なところで語られているので、今回はあえて「難しさ」からお聞きしたいと思います

宮﨑:そうですね…… Ansibleを用いて自動化すると、Playbookを書き、そのPlaybookが正しく処理を行うかテストしてから本番投入となります。これまでは手順書を作って構築をしていたところから、コード(Playbook)を書いたりテストをしたりと構築プロセスがガラッと変わるので、それは自動化導入の最初のハードルになりますよね。

横地:Playbookに加えて、IPアドレスやインターフェースの番号みたいな作業ごとに異なるパラメーターを、Ansibleが読み取れる形式で用意しておく必要があるので、そこで難色を示されることはありますね。スペース1個多いとか、カンマ1個少ないとかだけでAnsibleは読み取れないので。

三枝:ネットワークっていう観点でいうと、作業前後の確認がすごく多いので、設定変更の部分は自動化ですぐ終わるのに、前後の確認に手間がかかって、全体フローとして結構時間がかかっちゃうっていう場合があるのも特徴な気がします。

宮﨑:サーバ側では初期状態チェックした記憶があまりないですね。Playbookで書いた状態にするっていう動きが基本なので。作業前の状態がどうであれ最終的にはPlaybookに書いたとおりになれば良しだし、既にPlaybookに書いた状態でPlaybookを実行しても結局そのまんまだから、あんまり初期状態にはこだわらなかったですね。

横地:ネットワークの場合、設定をAからBに変えるときに「あらかじめAになっていること」っていう確認をしてから次の作業に進むんですよね。ルーティングがないこと、ネクストホップがどっちであること、インターフェースの状態が何であることって。そこで違っていたら作業は中断して、設定を元に戻して作業をリスケするので、このスタイルの手順はAnsibleの特徴である冪等性(ある操作を何度実行しても常に結果が同じになる性質)と相性が悪いんです。

三枝:ネットワークは色々なノードの集合体だからなんですかね。ある機器に設定を入れた後に別の機器が想定外の状態になっていることに気づいたとして、それぞれの作業前の状態を知らないと、それがこの作業の影響なのかが分からない。こういうケースも実際にあるので。
あとは、切り戻しを考えるとかなり難しくなるなっていうのは感じていますね。切り戻しは対象機器の状態とかネットワーク全体の状態とかいろいろな観点があって、作業フローがすごく複雑になってしまうのでここまでを含めて自動化するのはかなり難しい。

ー手順書の場合は切り戻し手順も一緒に作りますが、自動化する場合はどうするんですか?

横地:切り戻しをすべて自動化するのはなかなか難しいので、切り戻し用のConfig生成まで自動化しておいて実行自体は人力でやるよう運用方法に落とし込んだりします。

三枝:「こういう状態からこうなったらこのコマンドを入れて、この状態だったら戻す」みたいな手順が完璧にできているのであれば、切り戻しも含めた自動化はできるかも知れないけど、「作業者が"いい感じ"に判断して戻す」っていうものは厳しいですよね。いい感じって何?ってなっちゃうから。
切り戻しが自動化できないと、その部分だけ手順書が残り続けてしまうので、そこは悩ましいところです。

ネットワーク自動化には、高いハードルを超えるだけの価値がある

宮﨑:確かに導入ハードルが高かったり一部手順書が残ったりはしますが、それでも従来のように二人でダブルチェックしながら手順書に従ってコマンドを1つずつ入れていくなんていう作業が、コマンド1つでシュッとできるっていう魅力は大きいですよね。

横地:そうですね。今まで手動で一行一行慎重にやっていたところを、コマンド一発でバーンと処理が走ってくれるというのは単純に面白いですね。気持ちがいい。

三枝:これまでお話したような理由もあって、「ネットワークは自動化できない、しにくい」っていうイメージが強いので、それが自動化できたときは感動しますよね。

まずは定型作業から。自動化を前提とした作業の組み換えも効果的

ーこの辺も踏まえて、ネットワーク自動化のコツってありますか?

宮﨑:定型作業から自動化するとか。Ansibleに限らないですけど、作業を効率化するときはやっぱり定型作業が手を付けやすいですよね。

三枝:showコマンドで情報を取るとか、Configのバックアップを取るとか、そういう低リスクでできる作業から始めるのがいいんじゃないですかね。切り戻し作業のような「機器の状態がAだったらこうする、Bだったらこうする」っていう複雑なフロー(条件分岐)になると、Playbookの造りが難しくなって誰も改修できない塩漬けPlaybookになりがちなので、まずは単純な作業から始めるのがいいと思いますね。

横地:今ある作業を自動化する前提で組み替える、というのもありますね。自動化したらいらなくなるコマンドを削除したり、順番を入れ替えたり。あとは、どうしても人の判断を挟まなきゃいけない場合、「自動化→人の確認→自動化→人の確認」みたいに、人と機械の間を行ったり来たりするのは結構ストレスフルだと思うので、人の確認が1回で済むようにするとか、なるべく往復が少なくなるように手順を組み替えるのがいいと思います。

自動化成功の鍵は「中の人たちの"自律性"」

ーここまでのお話を聞いていると、NW自動化を始めるならやっぱりプロに任せるのがいいのかな、って思うのですが……

三枝:プロに頼むのもいいと思うんですけど、丸投げではなく、実際にそれを使う人たちが積極的に関わって行ったほうがいいと思います。チームの中にある暗黙知というか、隠れた手順って少なくなくて、そういうのって外の人から見えないんですよね。なので、委託先が作ったPlaybookをテストする段階で「あれ?このコマンドないの?」ってなったり。

横地:自動化による恩恵を受けるには、設定変更(コマンド投入)だけではなく、むしろそれ以外の部分、それこそ作業前後の確認とか、作業にあたっての承認とか、似て非なるような手順の標準化・パターン化とか、そういうことに向き合わないとうまくいかないんです。そして、それを知っているのって中の人だけなんですよね。暗黙の前提になっていて外からヒアリングしても中々顕在化しなかったりするので、中の人たちが自律性というか、自動化するぞ!っていう強力な勢いみたいなものを持ち続けることは必要だと思います。

ーこれまでに見た良い事例はありますか?

三枝:以前参入していたお客様先でネットワーク自動化の導入をお手伝いさせて頂いたんですけど、そちらでは自動化に興味を持っているメンバーを募って取り組みを始められていました。自動化やAnsibleに関しては初学者が多く最初は苦労されてましたが、「こんなふうに動くんだ、こんなに早く作業が終わるんだ、自分たちでできるんだ」っていうのを実感したことで、自動化の範囲を自分たちで広げられていました。

横地:あるお客様からは、Playbookレビューのときに「中身の説明をしてほしい」というリクエストが有りました。あまりないことだったので、「理解したいという欲が出てきたんだな」と印象に残りました。その後、追加のPlaybook作成をご依頼いただいたのですが、契約上お受けできなかったんですよね。ですが、最終的には「自分たちで作ってみるのでアドバイスやレビューをして欲しい」という方向になったので、「理解したい」という欲が「自分たちでもやれるかも」という自信に変わっていったのかなって思いました。

宮﨑:すべてを一緒に作るところまで行かなくても、Playbookを読めるくらいのトレーニングを受けるとか、一部のPlaybookだけ一緒に作るとか、そういう関わり方から始めるのでも良いと思います。

ーだからネットワーク自動化サービス「Automation Coordinator」はお客様による内製化の自律支援を推してるんですね。ありがとうございました!


ネットワーク自動化サービス「Automation Coordinator」では、現在の状況に合わせた最適な業務プロセスコンサルティングから自動化の導入(実際の運用)、最終的にはお客様が自動化を自律して運用するためのスキル習得トレーニングまでをパッケージ化して提供しています。

自動化サービス導入後にお客様自身でPlaybookを改修する場合などは、サポートチケットをご利用いただけます。サポートチケットでは、お客様が必要なタイミングで必要なサポートをお受けいただけます。

www.ap-com.co.jp