てくなべ (tekunabe)

ansible / network automation / 学習メモ

ネットワークプログラマビリティ勉強会(#npstudy) #12 参加メモ

2017/04/21 にIIJさんで行われたネットワークプログラマビリティ勉強会 #12に行ってきました。ちょっとしたことですがメモを記録しておきます。


オープンソースコンテナネットワークプラグインContiv

感想

  • GUIがついていることに驚きました。

ネットワークエンジニアがニューラルネットワークやってみた

メモ

感想

  • 資料の中でも出てきましたが、ネットワーク的にはこの手の技術で障害予測ができると良いなと思いました。すでに事例があるかもしれません。

Microsoft Technology for ネットワークプログラマ

メモ

  • Bash on Windows の anniversary update で bash -c "ifconfig"のような形で直接bash側のコマンドを呼び出せる
    • 管理者権限なしで ping も打てるようになった
  • Visual Studio Code はクロスプラットフォーム対応の多機能エディタ
  • Power BI は ExcelAccess の間のようなツール
    • ログを取り込んで分析してきれいなダッシュボードで見せるといったことができる
    • ある程度のことは無料でできる。Office 365 のライセンスで、より高度な機能が利用できる

感想

  • Visual Studio Code は私もよく使っています。
  • Atomと比較すると拡張(パッケージ)は少ないですが、デフォルトである程度のことができて、軽いという印象があります。
  • Power BI はダッシュボードが魅力的に見えました。

Ansible for Network Engineer

メモ

  • Ansible の基礎、ARISTAの機器へのコンフィグ投入例、Ansibleハッカソンレポート
  • Ansible は、Chef/Puppetとは異なりエージェントレス
  • Playbookと呼ばれる設定構成ファイルをYAMLで記述する
  • Playbookはサッカーで例えると監督のようなもの(指示出し)
  • ARISTAの機器向けには、eos_commandeos_config などのモジュールが標準である
  • 2017/02/09 - 11 に沖縄オープンラボでAnsibleハッカソンが行われた
    • 失敗談やトラブルの共有は貴重なナレッジとなる
    • ansible-vault はパスワードを暗号化したい時に有効

感想

  • 私もAnsibleをネットワーク機器向けに使えるか色々試しているのですが、まだまだ情報が少ないので、このように発表してくださる方がいらっしゃって助かります。

「自動化と画面」を考えてみました

メモ

感想

  • 作りたいものがあるとき、機能を絞って簡単に試して捨てれるもの、かつ自分でも理解できるレベルのもの、といったポリシーが紹介されていたのが印象に残りました。

タブレットPCでルータを設定してみた with 二次元バーコードリーダ

メモ

  • コマンド類を二次元バーコード化して印刷した紙の手順をリーダで読んでOSPFを設定するデモ動画

感想

  • 発想力に脱帽です。「紙」の可能性の広がりを感じます。

全体を通して

今回初参加だったのですが、思ったよりもテーマが広くて自分にも身近に感じる内容がありました。 人気があって、参加枠に入るのが難しいのですが、次回もぜひ参加したいと思います。

会場提供や、運営、発表をしてくださった皆様、ありがとうございました。

オライリー「Infrastructure as Code」で印象に残ったポイント

先日、オライリー「Infrastructure as Code」の日本語版が発売されました。 www.oreilly.co.jp

副題にある通り「原則とプラクティス」をメインに書かれていて、特定のツールに依存しない内容になっています。 特に1章「課題と原則」は何度も読み直したくなる内容でした。(さらに言うと"1.2.1 Infrastructure as Code の目標" は壁に貼っておきたいような内容)

全体としては 「 予防より復旧 」が重要という印象をうけました。

一通り読んでみましたので、個人的に印象に残ったポイントをまとめます。

1. 大きな変更より小さな変更を日常的にする

  • 小さな変更のほうが失敗したときに問題を特定しやすく、戻しやすい。
  • 小さな変更のほうが確実に改善でき、モチベーションも保たれる。

2. システムを絶えず変更し、改良しているチームの方が大小の障害に対処できる力を持っている

  • "1.6 アンチフラジャイル:「堅牢」を超えて" からの引用。
  • 人体と同じように負荷、変更を避けると弱くなる。負荷、変更によって強化される。

3. 正しい設計は継続的に変化していく

  • "15.1 発展的なアーキテクチャ" からの引用。
  • 完全で「最終的な」設計にたどり着くことはない

4. 高速フィードバック

  • 誤りは早く検出、フィードバックさせることが品質を向上させる。
  • そのためにはモニタリングが重要。

5. 従来のインフラからマイグレーション時の注意点

  • 従来のパターンを当てはめようとすると、かえって複雑になる可能性があるため、今までの概念を破る必要がある。

6. おまけ:初めて聞いた言葉

「構成ドリフト」

  • 設定差異のこと。差異があること自体は悪くないが、管理できていなくてはならない。管理できていない差異はオートメーション恐怖症を生み出す。

スノーフレークサーバー」

  • 他と異なるサーバーのこと。なぜ異なるのか分からなかったり、再構築できない状態は問題である。

「システム疲労

  • 時間の経過でインフラが壊れていくこと。要因としては、脆弱性、ストレージの残容量など。

「フェニックス交換」

  • ブルー - グリーン 交換の進化形で、Immutable Infrastructure の基礎。

Infrastructure as Code の考え方を知るにとても良い本だと感じました。

Ansible でネットワーク機器を操作したい時に参考になりそうな日本語情報

はじめに

構成管理ツールのAnsible はCisco IOS、NX-OS、Juniper JUNOS、ARISTA、VyOS、等々のネットワーク機器に対応したモジュールもあります。

 参考:Network Modules一覧

しかし、比較的最近対応したためか、サーバー系のモジュールと比較すると情報が少ないです。特に日本語の情報が少ないです。 そこで、私が参考にさせていただいたページや、私がQiitaに書いてきたものも含め、日本語のページをまとめておきます。 Ansible 2.1 以降を利用した記事を中心にしています。

全般

ARISTA+α

Juniper JUNOS 系

Cisco IOS

Cisco NX-OS系

Fortigate (FortiOS)系

PaloAlto(PAN-OS)系

F5 系

アンテナを張っているモジュールに偏りがあるので、ほかにもまだ日本語情報があるかもしれません。 もし良い情報があれば、@akira6592 までご連絡いただければ幸いです。

ブログ始めました

はじめまして、akira6592 と申します。 ITエンジニアをしています。技術ネタを中心に書いていく予定です。 特にインフラ、ネットワーク、自動化に興味があります。 よろしくお願いいたします。