Upgrade to Pro — share decks privately, control downloads, hide ads and more …

20240314_AnsibleNight

 20240314_AnsibleNight

内田開偉

March 14, 2024
Tweet

More Decks by 内田開偉

Other Decks in Business

Transcript

  1. https://www.ap-com.co.jp/ Copyright © AP Communications Co., Ltd. All rights reserved.

    Ansibleの「きほん」の「き」
 
 SlackID:uchida0411
 株式会社エーピーコミュニケーションズ
  内田 開偉(うちだ かい)

  2. Page 2 Copyright © AP Communications Co., Ltd. All rights

    reserved. • 自己紹介
 • 改めてAnsibleって何者?
 • Ansibleの長所
 • Ansibleの短所
 • インベントリファイルってなに?
 • プレイブックファイルってなに?
 • 何から始めればいいの?(困った時は?)
 • まとめ
 アジェンダ

  3. Page 3 Copyright © AP Communications Co., Ltd. All rights

    reserved. • 内田 開偉(うちだ かい) と申します
 • NW運用2年、NW構築4年、Ansible1年(お遊び入れたら4年?)
 • エーピーコミュニケーションズ(APC)という会社に在籍しています
 (UPSやアパレルの会社じゃなくてSIerです)
 (最近だとカプセルトイの企画・監修などもやってる会社です)
 自己紹介
 6月に第2弾が 発売されるよ! 併せて第1弾が 再々販されるよ!
  4. Page 4 Copyright © AP Communications Co., Ltd. All rights

    reserved. • Red Hat社が開発・サポートしています
 • プログラミング言語としてはPythonで動作しています
 • IT機器の管理を効率化・自動化するIT自動化ツールです
 ◦ コードでITインフラを操作する
 IaC(Infrastructure as Code)を実現するイメージです
 
 ⇒例えば手動オペレーションや簡易的なスクリプトで実施していた
  情報収集や設定変更などの作業を効率化・自動化できます
 ⇒自動化によって早く、正確に、楽に、操作することを目指せます
 改めてAnsibleって何者?

  5. Page 5 Copyright © AP Communications Co., Ltd. All rights

    reserved. • シンプル(書きやすく、他の人が書いたものも理解しやすい)
 ◦ YAML(後述)という形式を用いており、
 何を実行しようとしているかがイメージしやすい
 ◦ 他のプログラミング言語と比べて学習コストが低い
 
 ⇒ツール導入の際に専門知識を持ったメンバーしか利用できず、
  普及が進まなかったりすることが往々にしてあるかと思いますが、
  チームのみんなで開発したり利用したりしやすいです。
 Ansibleの長所①

  6. Page 6 Copyright © AP Communications Co., Ltd. All rights

    reserved. • パワフル(様々な製品群で利用することができる)
 ◦ サーバ系
 ▪ Linux(RHEL系、Debian系 etc...)
 ▪ Windows Server
 ◦ ネットワーク系
 ▪ Cisco(IOS、ASA、ACI、Meraki etc...)
 ▪ Juniper(Junos...)、YAMAHA(RTX、SWX...)
 ▪ FortiGate(FortiOS...)、F5(BIG-IP...) etc...
 ◦ クラウド系
 ▪ AWS、Azure、Google Cloud etc...
 ⇒コミュニティ活動などにより、どんどん対応製品が増えています
 Ansibleの長所②
 

  7. Page 7 Copyright © AP Communications Co., Ltd. All rights

    reserved. • エージェントレス(操作したい機器へのツールインストールが不要)
 ◦ SSH接続 & Python実行 できる機器で利用できます。
 ベンダのホームページにて対応機種を公開しているケースも
 増えてきた印象です。  例)YAMAHA(※1)
 ◦ インストール不要のため既設機器や増設機器への影響調査や、
 インストール作業で過剰に時間を取られることがありません
 
 ⇒インストール作業がもし簡単なものであったとしても
  大規模ネットワークになればなるほど膨大な時間がかかります。
  そもそもインストールが不要なので導入ハードルが低いです。
 
  (※1) https://www.rtpro.yamaha.co.jp/RT/docs/ansible/index.html
 Ansibleの長所③

  8. Page 8 Copyright © AP Communications Co., Ltd. All rights

    reserved. • 冪等性(べきとうせい)の保証
 ◦ ある操作を1回行っても複数回行っても結果(状態)が同じになる性質
 ◦ Ansibleでは設定変更する際に決め打ちで投入するのではなく、
 現状がどうなっているかを最初に確認し、必要な時にだけ
 設定することで予期せぬトラブルが回避できるようになっています。
 ◦ 例)1回目に実行した時
 (設定変更したためchangedがカウントされている)
 
 
 ◦ 例)2回目に実行した時
 (設定変更していないためchangedがカウントされていない)
 Ansibleの長所④

  9. Page 9 Copyright © AP Communications Co., Ltd. All rights

    reserved. • 複雑な処理には工夫が必要
 ◦ YAML(後述)では正規表現などでの複雑な表記を避けるように
 設計されているため、ある程度 規則的な処理が自動化対象となります。
 (カスタムすることで複雑な処理もできる)
 • (目視ではない)機械的なチェックには作り込みが必要
 [xx]が[yy]になっていたら[zz]を行うといった処理ができます
 例)
  ダイナミックルーティングのインターフェースコストを変えた後に
  [ルーティングテーブル]が
  [意図した内容]に切り替わってたら、
  [事後のshowコマンドを取得する]など
 • SSH通信について考慮する必要がある
 ◦ Telnetからの移行(Telnetも完全NGではないがSSHが推奨)や、
 ACLの見直しなど既存の管理通信について見直す必要があるかも?
 Ansibleの短所

  10. Page 10 Copyright © AP Communications Co., Ltd. All rights

    reserved. • 操作したい機器情報(マネージドノード)を書くファイルです。
 • INI形式かYAML形式(後述)で書きます。
 ◦ Cisco向けの情報をINI形式で書くと以下のようなイメージ
 
 管理IPアドレス
 接続方式
 OS情報
 ログインID/PW
 特権モードへの移行有無
 特権への昇格方法
 特権パスワード
 etc...
 インベントリファイルってなに?

  11. Page 11 Copyright © AP Communications Co., Ltd. All rights

    reserved. • 操作したい処理内容の情報を書くファイルです。
 • YAML(ヤムルと読む)という形式で書きます。
 • 各マネージドノードに応じてモジュール(手段)と
 パラメータ(具体的にどう処理するか)を書きます。
 • インデント(字下げ)がとっても重要で
 勉強し始めの頃にエラー吐かれたら大体コレが原因です。
 
 • (プチ情報)複数のデータを渡したい場合に書くリストや、
 「データ名: 値」で表現できるディクショナリなど、
 Pythonや他のプログラミング言語で出てくるような要素も含まれて
 います(つまりプログラミングに強くなるきっかけになります。)
 プレイブックファイルってなに?

  12. Page 12 Copyright © AP Communications Co., Ltd. All rights

    reserved. • 記述イメージ
 Ciscoルータから
 show runと
 show verを取得して、
 画面に出力する場合は
 右記のようなイメージ
 
 (参考)
 commands:の下の
 showコマンド2つがリスト
 register: result
 がディクショナリ
 プレイブックファイルってなに?

  13. Page 13 Copyright © AP Communications Co., Ltd. All rights

    reserved. • Red Hat社の「interactive labs」は
 環境準備が不要のためとっても始めやすい(日本語もあるよ)
 https://www.redhat.com/ja/interactive-labs
 
 • また各種トレイルマップ(登り方・歩き方の手引書)が分かりやすい
 ◦ YAML山https://www.redhat.com/ja/explore/ansible/trailmap/yaml
 ◦ Button山 https://www.redhat.com/ja/explore/ansible/trailmap/button
 何から始めればいいの?(困った時は?)

  14. Page 14 Copyright © AP Communications Co., Ltd. All rights

    reserved. 各種ユーザー会に参加するのも良いです!!
 • Ansible Night:3ヶ月に1回くらいの頻度で実施しています。
 ⇒コチラが今回のイベント(次回も楽しみ~)
 • Ansibleもくもく会:1ヶ月に1回くらいの頻度で、
 サーバ編とネットワーク編を実施しています。次回は4/18(木)!
 • Ansible ユーザー会 Slack:情報交換や質問など。
 参加は https://bit.ly/ansiblejp-slack から
 • Ansible ユーザー会 Discord:もくもく会オンライ会場など。
 参加は https://discord.gg/GKJHHFZ6q9 から
 • X(Twitter)ハッシュタグ:#ansiblejp
 • X(Twitter)コミュニティ
 何から始めればいいの?(困った時は?)

  15. Page 15 Copyright © AP Communications Co., Ltd. All rights

    reserved. • どの業界・技術もそうですが先人達が貴重な情報を
 残してくださっているため随時参考にするのがオススメです。
 ◦ 公式ドキュメント
 ◦ qiita
 ◦ 赤帽エンジニアブログ
 ◦ てくなべ
 ◦ zaki work log
 
 何から始めればいいの?(困った時は?)

  16. Page 16 Copyright © AP Communications Co., Ltd. All rights

    reserved. • (弊社エンジニアが携わらせていただいた)書籍が
 インプレス社から各種出版されておりますので、
 よろしければお手に取ってご覧ください。
 何から始めればいいの?(困った時は?)

  17. Page 17 Copyright © AP Communications Co., Ltd. All rights

    reserved. • AnsibleはRed Hat社が開発しているIT自動化ツール
 • 長所はシンプル、パワフル、エージェントレス
 • また冪等性(べきとうせい)を保証していて堅牢性が高い
 • 短所は複雑な処理や機械的なチェックに工夫が必要な点など
 • インベントリファイルは機器情報を記載するファイル
 • プレイブックファイルは処理内容を記載するファイル
 • YAMLという形式で記述しインデント(字下げ)が重要
 • 興味を持ったらRed Hat社コンテンツ、ユーザー会イベント、
 書籍などの中から自分に合うものから手を付けてみましょう
 (困ったら各種ブログも見てみましょう)
 まとめ

  18. https://www.ap-com.co.jp/ Copyright © AP Communications Co., Ltd. All rights reserved.

    Ansibleの「きほん」の「き」
 END
 
 えんでぃ さんのパートへGo~~