Ansibleによる設定投入とは?ネットワーク機器を安全に自動設定する方法

当ページのリンクには広告が含まれています。
ネットワーク上級編 55/全70記事

この記事は、 「ネットワーク上級編|要件定義・設計・クラウド・自動化へ進む」 の第55回です。

第6章では、Python・Ansible・API・Gitなどを使い、 ネットワーク運用や設定作業を自動化するための基礎を学びます。

NETWORK ADVANCED|CHAPTER 6 AUTOMATION

Ansibleによる設定投入とは?ネットワーク機器を安全に自動設定する方法

1台ずつSSHでログインし、同じ設定を繰り返し投入する作業は、 台数が増えるほど時間とミスのリスクが大きくなります。 Ansibleを利用すると、設定内容をPlaybookとして記述し、 複数のネットワーク機器へ同じルールで設定を反映できます。 今回はCisco IOSを例に、Inventory、Playbook、設定投入、 バックアップ、差分確認、冪等性まで実務を意識して学びます。

対象レベル Level 3〜4・上級
想定読了時間 約30分
身につく成果 Ansibleで設定を投入できる
前提知識 SSH・Cisco IOSの基礎
演習環境 Linux/WSL+検証用機器

前回の 「54. SSHによる情報取得」 では、ネットワーク機器へSSH接続し、情報を取得する考え方を学びました。

今回は一歩進み、 情報を見る側から、ネットワーク機器の状態を変更する側 へ進みます。

自動化で特に重要なのは「動けばよい」ではありません。 大量の機器へ一斉に設定できるからこそ、 対象機器、変更内容、バックアップ、差分、失敗時の停止条件 を明確にする必要があります。

この記事を読み終えるとできること

  • Ansibleがネットワーク自動化で果たす役割を説明できる
  • InventoryとPlaybookの違いを説明できる
  • network_cliを使った接続構成を理解できる
  • cisco.ios.ios_configで設定を投入できる
  • 複数機器へ同じPlaybookを適用する考え方を理解できる
  • バックアップと差分確認を組み込める
  • 冪等性が重要な理由を説明できる
  • 本番投入前に確認すべきポイントを整理できる

Ansibleとは何か

最初に覚える定義

Ansibleとは、機器やサーバーに対して実行したい処理をコードとして定義し、 複数の対象へ自動的に適用するための自動化ツールです。

ネットワークエンジニアが手作業で設定変更を行う場合、 一般的には次のような作業を繰り返します。

  1. 対象機器へSSHでログインする
  2. 現在の設定を確認する
  3. コンフィグレーションモードへ入る
  4. 必要な設定を入力する
  5. 設定結果を確認する
  6. 設定を保存する
  7. 次の機器へログインする

2台程度であれば手作業でも対応できます。 しかし、20台、50台、100台と対象が増えると、 同じコマンドを何度も入力することになります。

Ansibleでは、こうした作業内容を Playbook に記述し、対象機器を Inventory で管理します。

Ansibleの価値は「コマンドを速く打てること」だけではありません。

「どの機器へ、どの設定を、どの条件で適用するか」を ファイルとして残し、同じ処理を再現できる点が重要です。

なぜネットワーク設定にAnsibleを使うのか

1

作業時間を短縮できる

複数機器に対して、同じ設定変更をまとめて実行できます。 台数が増えるほど手作業との差が大きくなります。

2

入力ミスを減らせる

検証済みPlaybookを利用することで、 機器ごとの手入力によるタイプミスを減らせます。

3

作業内容をコードで残せる

「何を変更したのか」がPlaybookとして残るため、 レビューや再利用がしやすくなります。

4

機器間の設定差異を抑えられる

NTP、Syslog、SNMPなど、 共通設定を一定のルールで展開できます。

手動作業とAnsibleを比較する

項目 手動SSH Ansible
対象台数 増えるほど作業量が増える 複数台をまとめて処理できる
入力 機器ごとにコマンドを入力 Playbookへ処理を定義
再現性 作業者に依存しやすい 同じPlaybookを再実行できる
レビュー 手順書・ログで確認 Playbook自体をレビューできる
大量変更時の影響 作業は遅いが影響も段階的 速いが、誤設定も高速に広がる可能性がある

自動化すると、誤設定まで自動化されます。

「自動化=安全」ではありません。 本番利用では、対象制限、レビュー、バックアップ、事前確認、 段階投入などを組み合わせる必要があります。

Ansibleによる設定投入の全体像

ネットワーク機器をAnsibleで操作する場合、 基本的にはAnsibleを実行する Control Node から対象機器へ接続します。

Ansibleからネットワーク機器へ設定を投入する流れ

Ansible Control Node Inventory・Playbookを保持
SSH / network_cli ネットワーク機器へ接続
SW01 Cisco IOS
SW02 Cisco IOS
RTR01 Cisco IOS

Cisco IOSをSSH経由で操作する例では、 Ansibleの ansible.netcommon.network_cli 接続を利用し、 Cisco IOS用Collectionのモジュールを使って処理します。

つまり、Ansibleが単純にキーボード入力を再現しているのではなく、 対象OSに対応したモジュールを使って処理を定義します。

Inventory・Playbook・Moduleを理解する

Ansibleを学ぶときは、 最初に次の4つを区別すると理解しやすくなります。

用語 役割 ネットワークでの例
Inventory 操作対象を定義する SW01、SW02、RTR01
Playbook 実行する処理をYAMLで記述する インターフェースへdescriptionを設定する
Module 具体的な機能を提供する cisco.ios.ios_config
Variable 機器ごとに変わる値を持つ IPアドレス、hostname、VLAN番号

Inventory=誰に、Playbook=何をするか と覚えると分かりやすいでしょう。

検証環境を準備する

今回は、LinuxまたはWSL上のAnsible Control Nodeから、 SSHでCisco IOS系の検証機器へ接続する想定にします。

今回の検証構成

Ansible 192.168.10.100
SW01 192.168.10.11
SW02 192.168.10.12

1.Ansibleを確認する

ansible --version

2.必要なCollectionを確認・導入する

ansible-galaxy collection list

ansible-galaxy collection install ansible.netcommon
ansible-galaxy collection install cisco.ios

Cisco IOS向けの cisco.ios.ios_config などは、Cisco IOS用Collectionに含まれています。

3.最初に手動SSHを確認する

ssh ansible@192.168.10.11

Ansibleで接続できない場合、 Ansibleの設定だけでなく、SSH、IP到達性、認証、 Enable権限なども確認する必要があります。

自動化を始める前に、 同じControl Nodeから手動SSHできること を確認しておくと、障害切り分けが容易になります。

Inventoryを作成する

最初に、Ansibleが操作する機器をInventoryへ登録します。

ここでは inventory.yml を作成します。

---
all:
  children:
    cisco_switches:
      hosts:
        sw01:
          ansible_host: 192.168.10.11
        sw02:
          ansible_host: 192.168.10.12

      vars:
        ansible_connection: ansible.netcommon.network_cli
        ansible_network_os: cisco.ios.ios
        ansible_user: ansible
        ansible_become: true
        ansible_become_method: enable

各項目の意味

項目 意味
sw01 Ansible上で使用する機器名
ansible_host 実際に接続するIPアドレスやホスト名
ansible_connection ネットワーク機器への接続方式
ansible_network_os 対象ネットワークOS
ansible_user SSH接続ユーザー
ansible_become 特権モードへの昇格を使用するか
ansible_become_method Cisco IOSではenableを利用する例がある

Inventoryを確認する

ansible-inventory -i inventory.yml --graph

イメージとして、次のように対象機器を確認できます。

@all:
  |--@ungrouped:
  |--@cisco_switches:
  |  |--sw01
  |  |--sw02

本番環境でパスワードをInventoryへ平文で直接書くことは避けます。

SSH鍵やAnsible Vaultなどを利用し、 認証情報をPlaybookやGitリポジトリへそのまま残さない設計にします。

Playbookを作成する

次に、SW01とSW02の GigabitEthernet1/0/1 へdescriptionを設定するPlaybookを作ります。

ファイル名を interface_description.yml とします。

---
- name: Configure interface description
  hosts: cisco_switches
  gather_facts: false

  tasks:
    - name: Configure GigabitEthernet1/0/1
      cisco.ios.ios_config:
        parents:
          - interface GigabitEthernet1/0/1
        lines:
          - description Uplink-to-Core
        backup: true

Playbookを分解して理解する

hosts

hosts: cisco_switches

Inventoryで定義した cisco_switches グループを対象にします。

gather_facts

gather_facts: false

今回は通常のサーバー向けFacts収集を使用しないため、 falseとしています。

cisco.ios.ios_config

cisco.ios.ios_config:

Cisco IOSのコンフィグレーションを管理するためのモジュールです。

parents

parents:
  - interface GigabitEthernet1/0/1

どの設定階層の下へコマンドを投入するかを指定します。

lines

lines:
  - description Uplink-to-Core

インターフェース配下へ存在させたい設定を定義します。

backup

backup: true

設定変更前のrunning-configをバックアップするために使用します。

Playbookを実行する

InventoryとPlaybookを作成したら、 ansible-playbook で実行します。

ansible-playbook \
  -i inventory.yml \
  interface_description.yml

正常に変更された場合、出力は次のようなイメージになります。

PLAY [Configure interface description] ****************

TASK [Configure GigabitEthernet1/0/1] *****************
changed: [sw01]
changed: [sw02]

PLAY RECAP *********************************************
sw01 : ok=1 changed=1 unreachable=0 failed=0
sw02 : ok=1 changed=1 unreachable=0 failed=0

changedの意味

changed=1 は、Ansibleの処理によって対象機器の状態に変更が発生したことを示します。

設定後は機器側でも確認します。

show running-config interface GigabitEthernet1/0/1

設定例:

interface GigabitEthernet1/0/1
 description Uplink-to-Core

Playbookが成功したことと、業務通信が正常であることは別です。

自動化でも、設定確認だけでなく、 疎通確認やルーティング確認などの試験を行います。

複数機器へ異なる設定を投入する

自動化では、全機器へ完全に同じ設定を入れるだけではありません。

たとえば、機器ごとにインターフェースdescriptionを変える場合は、 Variableを利用できます。

Inventoryへ変数を持たせる

---
all:
  children:
    cisco_switches:
      hosts:
        sw01:
          ansible_host: 192.168.10.11
          uplink_description: Uplink-to-Core01

        sw02:
          ansible_host: 192.168.10.12
          uplink_description: Uplink-to-Core02

      vars:
        ansible_connection: ansible.netcommon.network_cli
        ansible_network_os: cisco.ios.ios
        ansible_user: ansible
        ansible_become: true
        ansible_become_method: enable

Playbookから変数を参照する

---
- name: Configure uplink descriptions
  hosts: cisco_switches
  gather_facts: false

  tasks:
    - name: Configure description
      cisco.ios.ios_config:
        parents:
          - interface GigabitEthernet1/0/1
        lines:
          - "description {{ uplink_description }}"
        backup: true

同じPlaybookを利用しながら、 機器ごとに値を変更できるようになりました。

共通ロジックと機器固有値を分離する

Playbook 設定処理を共通化
Variables 機器固有値
SW01 / SW02 個別設定を生成

実務では、IPアドレス、VLAN、NTPサーバー、 Syslogサーバーなどもデータとして分離して管理できます。

冪等性を理解する

Ansibleを理解するうえで重要な言葉が 冪等性(Idempotency) です。

重要用語

同じ処理を繰り返し実行しても、 すでに目的の状態であれば不要な変更を行わない考え方です。

たとえば、すでに次の設定が存在するとします。

interface GigabitEthernet1/0/1
 description Uplink-to-Core

Playbookでも同じ状態を要求している場合、 再実行時には変更が不要と判断されることが期待されます。

sw01 : ok=1 changed=0 unreachable=0 failed=0

なぜ冪等性が重要なのか

  • Playbookを繰り返し実行しやすくなる
  • 不要な設定変更を減らせる
  • 現在状態と期待状態の差を意識できる
  • 自動化処理の再現性を高められる

Cisco IOSでは、短縮コマンドではなく、 running-configに近い正式なコマンド表記 を使用することが重要です。

たとえば、 int Gi1/0/1 より interface GigabitEthernet1/0/1 のような表記を利用します。

本番投入を安全にする方法

Ansibleで設定できるようになった後に、 さらに重要になるのが 安全に実行する設計 です。

① 対象確認
② バックアップ
③ 差分確認
④ 段階投入
⑤ 結果確認

1.対象機器を制限する

最初から全台へ投入せず、 --limit を使って対象を限定する方法があります。

ansible-playbook \
  -i inventory.yml \
  interface_description.yml \
  --limit sw01

まずSW01だけで確認し、問題がなければ対象を広げるという使い方ができます。

2.変更前にバックアップする

- name: Backup configuration
  cisco.ios.ios_config:
    backup: true

「自動化だからバックアップ不要」ではありません。 むしろ短時間で多数の機器を変更できるため、 バックアップと切り戻しの設計が重要になります。

3.差分を確認する

モジュールや処理内容が対応している場合は、 Ansibleのdiff機能を使って変更内容を確認できます。

ansible-playbook \
  -i inventory.yml \
  interface_description.yml \
  --check \
  --diff

--check は本番投入前の確認に役立ちますが、 すべての処理が完全なシミュレーションになるとは限りません。

実機または検証環境での事前試験と組み合わせて利用します。

4.設定保存の扱いを決める

running-configをstartup-configへ保存する必要がある場合は、 保存方法もPlaybookで設計します。

- name: Configure interface
  cisco.ios.ios_config:
    parents:
      - interface GigabitEthernet1/0/1
    lines:
      - description Uplink-to-Core
    backup: true
    save_when: changed

「設定投入」と「保存」を分けるのか、 同じPlaybookで実施するのかは、 運用ルールや切り戻し方針に合わせて決めます。

5.投入後の確認も自動化する

設定を入れて終了するのではなく、 必要に応じて状態確認もPlaybookへ組み込みます。

- name: Check interface configuration
  cisco.ios.ios_command:
    commands:
      - show running-config interface GigabitEthernet1/0/1
      - show interfaces GigabitEthernet1/0/1 status
  register: result

- name: Show result
  ansible.builtin.debug:
    var: result.stdout_lines

設定投入と確認を一連の処理として考える ことが、実務の自動化では重要です。

Ansibleによる設定投入でよくある失敗

失敗1:いきなり全台を対象にする

Playbookの誤りがある状態で全台へ投入すると、 影響範囲も一気に拡大します。

検証機 → 本番1台 → 少数グループ → 全体、 のように段階的に展開します。

失敗2:Inventoryの対象を確認しない

Playbookが正しくても、 Inventoryのグループ分けが間違っていれば 意図しない機器を変更する可能性があります。

失敗3:パスワードをGitへ保存する

Inventoryやgroup_varsへ平文パスワードを書き、 そのままGitへcommitする運用は避けます。

失敗4:バックアップを取得しない

自動化でも障害は起こり得ます。 変更前状態へ戻せる準備が必要です。

失敗5:changedだけ見て成功と判断する

Ansibleの処理成功と、 実際の通信やサービス正常性は同じではありません。 業務要件に基づく試験が必要です。

失敗6:短縮コマンドを使う

running-configとの比較が正しく行えず、 毎回changedになるなど、 冪等性を崩す原因になることがあります。

設計・運用上の判断基準

Ansibleを業務へ導入するときは、 Playbookを書く技術だけでは不十分です。

「どこまで自動化するか」を設計する必要があります。

観点 確認する内容
対象 どの機器・拠点・環境を自動化するか
権限 Ansible用アカウントにどこまで権限を与えるか
認証情報 SSH鍵やVaultなどをどう管理するか
レビュー 誰がPlaybookを確認・承認するか
検証 本番前にどの環境でテストするか
バックアップ 変更前コンフィグをどこへ保存するか
投入単位 一括か、機器・拠点単位で段階的に行うか
失敗時 停止条件と切り戻し方法をどうするか
証跡 実行者・Playbook・対象・結果をどう残すか

自動化に向いている作業

  • NTPサーバーの統一
  • Syslog送信先の追加・変更
  • SNMP設定の展開
  • インターフェースdescriptionの統一
  • 共通ACLの展開
  • 設定バックアップ
  • showコマンドによる状態確認
  • 設定差分の検出

慎重に扱うべき作業

  • 管理用IPアドレスの変更
  • SSH経路そのものに影響する設定
  • ルーティングプロトコルの大規模変更
  • 全社WANの経路変更
  • 機器再起動を伴う変更
  • 遠隔拠点で切り戻し手段がない変更

AnsibleとのSSHセッションを切断するような設定を変更すると、 Playbook自身が途中で通信できなくなる可能性があります。

管理IP、ルーティング、ACL、AAAなどを変更する場合は、 特に切り戻し方法を検討します。

顧客・上司へAnsible導入を説明する方法

顧客にAnsibleを説明するとき、 「YAMLでネットワーク機器を操作できます」 だけでは価値が伝わりにくいでしょう。

技術ではなく、 業務上の効果 に変換して説明します。

説明例

現在は50台のスイッチへ同じ設定変更を手作業で実施しています。 Ansibleを利用すると、検証済みの設定内容をPlaybookとして管理し、 対象機器へ共通の手順で適用できます。

これにより、作業時間の短縮だけでなく、 機器ごとの設定漏れや入力ミスを減らし、 実施した変更内容をコードとして残せるようになります。

一方で、一括変更による影響を抑えるため、 本番では事前バックアップ、レビュー、 対象機器の限定、段階投入を組み合わせます。

技術をビジネス価値へ変換する

技術 顧客へ伝える価値
Playbook 作業手順を標準化・再利用できる
Inventory 対象機器を一元管理しやすくなる
冪等性 不要な変更を抑えやすい
Gitとの連携 変更履歴やレビューを管理しやすい
自動バックアップ 変更前状態を記録しやすい

Ansibleでよく使う英語表現

英語 意味 実務でのイメージ
inventory 対象機器一覧 管理対象ホストを定義する
playbook 処理内容を記述したファイル 作業手順をYAMLで定義する
task 処理単位 descriptionを設定する
module 機能単位 ios_configなど
idempotent 冪等な 繰り返しても不要な変更を行わない
backup バックアップ 変更前設定を保存する
diff 差分 変更前後を比較する
configuration management 構成管理 設定を一定の状態へ維持する

公式ドキュメントを検索するときの例

Ansible Cisco IOS configuration
Ansible ios_config example
Ansible network_cli Cisco IOS
Ansible network automation inventory
Ansible ios_config backup
Ansible Vault network credentials

製品名とエラー内容を英語で組み合わせて検索できると、 公式ドキュメントやIssueへ到達しやすくなります。

理解度チェック

記事の内容を理解できたか確認してみましょう。

問題1.AnsibleのInventoryの役割として最も適切なものはどれですか。

  1. ネットワーク機器のOSをインストールする
  2. 操作対象となる機器やグループを定義する
  3. パケットをキャプチャーする
  4. ルーティングテーブルを自動生成する
解答を見る
正解:B

Inventoryでは、Ansibleが操作するホストやグループ、 接続先などを定義します。

問題2.Playbookは主に何を定義するためのものですか。

  1. 実行する処理
  2. LANケーブルの種類
  3. ルーターのCPU性能
  4. ISPの契約情報
解答を見る
正解:A

Playbookには「どの対象へ、どの処理を行うか」を YAML形式で記述します。

問題3.冪等性とは何ですか。

解答を見る

同じ処理を繰り返し実行しても、 すでに目的の状態になっていれば 不要な変更を行わないという考え方です。

問題4.本番環境で大量の機器へPlaybookを投入する前に行うべきことを3つ挙げてください。

解答例を見る
  • 対象機器を確認する
  • Playbookをレビューする
  • 変更前コンフィグをバックアップする
  • 検証環境で事前テストする
  • 差分を確認する
  • 最初は少数の機器へ投入する
  • 切り戻し方法を確認する

問題5.Ansibleの実行結果が「changed=1」なら、業務通信も正常だと言い切れますか。

解答を見る
いいえ。

Ansibleタスクが成功したことと、 実際の通信やサービスが正常であることは別です。 投入後に疎通や状態確認を行う必要があります。

実践演習:2台のスイッチへNTP設定を投入する

最後に、簡単なネットワーク自動化を設計してみましょう。

要件

  • 対象はSW01とSW02
  • SW01:192.168.10.11
  • SW02:192.168.10.12
  • NTPサーバー:192.168.100.10
  • Cisco IOSを使用
  • SSHで接続
  • 変更前にrunning-configをバックアップする

課題1.Inventoryを作る

inventory.yml を作成してください。
解答例を見る
---
all:
  children:
    cisco_switches:
      hosts:
        sw01:
          ansible_host: 192.168.10.11
        sw02:
          ansible_host: 192.168.10.12

      vars:
        ansible_connection: ansible.netcommon.network_cli
        ansible_network_os: cisco.ios.ios
        ansible_user: ansible
        ansible_become: true
        ansible_become_method: enable

課題2.NTP設定用Playbookを作る

ntp.yml を作成してください。
解答例を見る
---
- name: Configure NTP
  hosts: cisco_switches
  gather_facts: false

  tasks:
    - name: Configure NTP server
      cisco.ios.ios_config:
        lines:
          - ntp server 192.168.100.10
        backup: true
        save_when: changed

課題3.最初にSW01だけを対象にする

–limit を使った実行コマンドを考えてください。
解答を見る
ansible-playbook \
  -i inventory.yml \
  ntp.yml \
  --limit sw01

課題4.投入後の確認項目を考える

「Ansibleがfailed=0だった」以外に、 何を確認するべきでしょうか。

3つ以上挙げてください。
解答例を見る
  • running-configにNTP設定が存在するか
  • 想定外の設定差分がないか
  • NTPサーバーへIP到達性があるか
  • NTP同期状態が正常か
  • 変更前バックアップが保存されているか
  • 既存通信へ影響がないか
  • startup-configへ必要な設定が保存されているか

課題5.障害ケースを考える

SW01では成功しましたが、 SW02だけ次の結果になりました。

sw01 : ok=1 changed=1 unreachable=0 failed=0
sw02 : ok=0 changed=0 unreachable=1 failed=0

SW02で確認すべき項目を考えてください。

unreachableになった原因候補を書いてください。
解答例を見る
  • 192.168.10.12へIP到達性があるか
  • SSHサービスが有効か
  • TCP/22がACLやファイアウォールで遮断されていないか
  • InventoryのIPアドレスが正しいか
  • SSHユーザーや認証方式が正しいか
  • Control Nodeから手動SSHできるか

自分の言葉で説明する課題

上司から次の質問を受けました。

「SSHでコマンドを流すPythonスクリプトと、 Ansibleを使うのは何が違うの?」

1分程度で説明してください。

自分の言葉で回答を書いてみましょう。
説明例を見る

PythonでSSH接続を自作すれば、 自由度の高い処理を作れます。 一方、AnsibleではInventoryで対象機器を管理し、 PlaybookとネットワークOS用モジュールを利用して、 「機器をどの状態にするか」を定義できます。

特に複数機器への共通設定、 冪等性を意識した構成管理、 Playbookのレビューや再利用を行いたい場合に Ansibleが使いやすいケースがあります。

逆に複雑なデータ処理や独自ロジックが必要な場合は、 Pythonの方が適する場合もあります。 目的に応じて使い分けます。

実務で使うならここまで考える

学習環境では、 「Playbookを書いて設定できた」 ところまででも十分な成果です。

しかし、実務でネットワーク自動化を担当するなら、 次の段階まで考えられると価値が高まります。

  1. 設定値をコードから分離する Inventory、group_vars、host_varsなどを使い、 共通処理と機器固有データを分けます。
  2. 認証情報を安全に管理する SSH鍵やAnsible Vaultなどを利用し、 パスワードを平文で管理しないようにします。
  3. GitでPlaybookを管理する 誰が、いつ、どの設定ロジックを変更したのかを追跡できるようにします。
  4. レビュー工程を作る 本番投入前にPlaybookと差分を別担当者が確認できるようにします。
  5. 投入後の検証まで自動化する showコマンドやAPIを利用して、 設定だけでなく状態まで確認します。

自動化の完成形は「設定コマンドを自動入力すること」ではありません。

設計、レビュー、バックアップ、変更、確認、履歴管理まで含めて 安全で再現可能な作業フローを作ることが重要です。

まとめ

  • Ansibleを使うと、ネットワーク機器への設定処理を Playbookとして記述できる
  • Inventoryでは対象機器、 Playbookでは実行する処理を定義する
  • Cisco IOSをSSH経由で操作する場合、 network_cliとCisco IOS用Collectionを利用できる
  • cisco.ios.ios_config を使ってIOS設定を管理できる
  • Variablesを利用すると、 共通Playbookと機器固有値を分離できる
  • 同じPlaybookを繰り返し実行するためには 冪等性を意識することが重要
  • 本番では対象機器の確認、バックアップ、 差分確認、段階投入、事後確認を行う
  • 自動化すると誤設定の展開も高速になるため、 安全設計が手作業以上に重要になる

Ansibleを使えること以上に、 「安全に自動化できる仕組みを設計できること」が 上級ネットワークエンジニアに求められるスキルです。

次の記事:56. REST APIの基本

今回は、AnsibleからSSHを利用して ネットワーク機器へ設定を投入する方法を学びました。

しかし、近年のネットワーク製品やクラウドサービスでは、 CLIだけでなく REST API を使って設定や情報取得を行えるものも増えています。

次の記事では、 HTTP、GET、POST、PUT、DELETE、 エンドポイント、ステータスコードなど、 REST APIを理解するための基本を学びます。

参考:公式ドキュメント

ネットワーク上級編 55/全70記事

第6章では、Python、SSH、Ansible、REST API、JSON・YAML、 Git、テレメトリー、AIを使い、 ネットワーク運用を自動化・可視化する方法を学びます。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次