てくなべ (tekunabe)

ansible / network / automation / 学習の記録

[Ansible] 「つまずき Ansible 【Part26】ansible.cfg を触る」ふりかえり

はじめに 2021/01/17 に、YouTube Live で「つまずき Ansible 【Part26】ansible.cfg を触る」という配信をしました。 実際に作業しながら(ときには)エラーと戦って進めるシリーズです。 今回は、設定ファイルである ansible.cfg で、何かを設定変更する試…

[Ansible] UNIX タイムスタンプを任意の日付時刻フォーマットに変換する strftime

はじめに 1609948923 のような UNIX タイムスタンプを、2021/01/07 01:02:03 のようなフォーマットに変換する方法です。 これをやりたい機会があって調べてたのですが、思いの外目当ての情報ににたどり着けず・・。 結局ちゃんと公式ドキュメントに書いてあ…

[Ansible] 「つまずき Ansible 【Part25】assert で期待値確認をしたい」ふりかえり

はじめに 2021/01/09 に、YouTube Live で「つまずき Ansible 【Part25】assert で期待値確認をしたい」という配信をしました。 実際に作業しながら(ときには)エラーと戦って進めるシリーズです。 今回は、条件式を与えて期待値のチェックなどができる、as…

[AWS] Transit Gateway とオンプレの VPN 接続を試してみた

はじめに AWS の VPC を VPN で接続する方法自体は、以前から仮想プライベートゲートウェイ(VGW)経由の方法がありました。 2018年に Transit Gateway というものを経由する方法もできてたことを知りました。 Transit Gateway を利用する場合は、VPC ごとに…

[AWS] VPC 関連の個人的メモ

aws

はじめに 引き続き、VPC 周りを学習中です。 用語や特性、どのような関連があるのかを整理するために、個人的なメモをまとめます。 VPC 仮想ネットワーク CIDR は一度決めたらあとから変更できないため、余裕をもった設計にしておく サブネット VPC 内に作る…

[AWS] ALB への証明書インポート時の互換性エラー(Common Name 未設定の凡ミス)

aws

はじめに ALB のリスナーの設定として、証明書をインポートしようとしたら以下のエラーが発生しました。 ただの凡ミスだったのですが、その症状と原因と対処です。 同じエラーメッセージでも複数の原因があるかと思います。 症状 表示されたのは以下の証明書…

自分のグローバルIPアドレスを知れるサービス ifconfig.io

はじめに 今作業しているマシンが、インターネットへ通信するときに、送信元IPアドレスが何になるか知りたいときはないでしょうか。 そんなときに私が使っているのが、https://ifconfig.io/ というサービスです。 以下の特徴があります。 curl ifconfig.io …

[AWS] VPC 周りの設定とインバウンド、アウトバウンド通信可否の個人的まとめ

aws

はじめに AWS の VPC 周りを学習中です。 その中で、インターネットゲートウェイ、NAT ゲートウェイ、パブリックIP の有無と、インタネットからEC2 インスタンスへインバウンド、インターネットへのアウトバウンド通信の関係が少々ややこしく感じました。 自…

[Ansible] AWS CloudShell でも Ansible したい

はじめに 先日、AWS CloudShell が利用できるようになりました。 aws.amazon.com www.publickey1.jp とても気軽に使えて良いなと思ったので Ansible をインストールして、AWS 上のリソースを操作できるか使えるか試してみました。 Playbook の実行、ad-hoc …

[Ansible] NetBox のタグを定義する netbox_tag モジュールの使い方

はじめに NetBox では、デバイスやIPアドレスなど様々なオブジェクトにタグを付けることができます。 NetBox 2.8 までは、タグは予め定義は不要だったのですが、NetBox 2.9 から事前の定義が必要になりました。逆にいうと未定義のタグを適用できません。 こ…

docker-compose.yml の内容を上書きする docker-compose.override.yml

はじめに 最近、netbox-docker の README.md を見て知ったのですが、docker-compose.yml の内容を上書きする docker-compose.override.yml というファイルがあるそうです。 docker-compose.yml はそのままのこしておき、docker-compose.override.yml でカス…

[Ansible] git config に相当する git_config モジュールを試す

はじめに git の設定を行う git config コマンドに相当する git_config モジュールがあります。 というより、最近存在を知りました。簡単な例ですが、まとめます。 動作環境 ansible 2.9.14 Playbook git config --global user.email sakana@example.com git…

[Ansible] ansible-galaxy コマンドの参照先を Automation Hub に変更する

はじめに ansbile-galaxy コマンドは role や collection のインストールなどを行います。 デフォルトでは、Ansible Galaxyを参照します。 設定を変更することで、Automation Hub (レッドハット社提供の配布サービス) に変更できます。 ansible.tower collec…

[Ansible] 「つまずき Ansible 【Part24】2020年のふりかえり」ふりかえり

はじめに 2020/12/26 に、YouTube Live で「つまずき Ansible 【Part24】2020年のふりかえり」という配信をしました。 tekunabe.connpass.com 普段は実際に作業しながら(ときには)エラーと戦って進めるシリーズです。が、今回は2020年最後ということで、今…

[Ansible] Ansible 実行環境としての Python とスクリプト実行環境としての Python の指定を合わせる

はじめに ネットワークモジュールを中心に使っていると、ターゲットノードではなくコントロールノード(Ansible実行サーバー)の Python を利用することが多いです。 あくまで個人の主観ですが、Ansible 自体の実行環境としての Python (ansible_playbook_py…

CML の Web UI で複数ノードを選択する3つの方法

はじめに シスコの仮想ラボ環境 CMLでノードをいくつも配置していると、複数ノードまとめて起動や停止したいたいときがあります。 ラボ全体でしたら、それはそれで操作方法があるのですが「これとこれとこれだけ」という指定するには別の操作が必要です。 私…

[Ansible] true か false か null かで返す値を変える ternary フィルター

はじめに ternary フィルターは、対象の値が true か false かに応じて別の値を返します。 Jinja2 の if をいれる必要はありません。 この記事では、簡単なサンプルでご紹介します。 環境 ansible 2.9.14 true か false か この2値で分ける方法です。 Playbo…

[Ansible] ホストを動的にグループ化する group_by モジュール

はじめに group_by モジュールは、Playbook 実行中に動的にグループ化できます。 用途は色々考えられますが、この記事では、複数台の Cisco IOS 機器のバージョンを収集した上で、特定のバージョン飲みを対象とする Play を実行する例をご紹介します。 環境 …

CML 2.1.0 から 2.1.1 へのアップグレード方法

cml

はじめに Cisco の仮想ラボ環境の CML ですが、2020年11月 に 2.1.1 がリリースされていました。 新機能追加はなく、バグフィックスです。 CML 2.1.1 Release Notes 一番気になったのは以下の点です。 The refplat-20201020-fcs.iso released with CML 2.1.0…

[Ansible] delegate_to: localhost や connection: local 指定時の ansible_host、inventory_hostname の関係

これは、Ansible Advent Calendar 2020 (Adventar版) の 25日目の記事です。 はじめに ターゲットノードにログインするのではなく、Ansible コントロールロードからなにか処理(APIを叩くなど)をする場合、connection: local や delegate_to をあわせて指定…

[Ansible] フロースタイルでマッピング(ディクショナリ)を定義する場合の注意

これは、Ansible Advent Calendar 2020 (Adventar版) の 23日目の記事です。 はじめに YAML のマッピング(ディクショナリ)の書き方は、大きく分けて、ブロックスタイルとフロースタイルの 2つあります。 ブロックスタイルで書くケースで書くことが多いかと…

[Ansible] ansible-galaxy collection list で site-packages 配下の Collection も表示させるワンライナー

これは、Ansible Advent Calendar 2020 (Adventar版) の 22日目の記事です。 はじめに pip install ansible で Ansible 2.10 をインストールすると、2.9 まで標準で含まれたモジュールに概ね相当する Collection がセットでインストールされます。 Python の…

[Ansible] Playbook 実行結果ログを JSON で出力して jq で抽出する

これは Ansible Advent Calendar 2020 (Qiita版) の 21日目の記事です。 ■ はじめに Ansible には callback plugin という仕組みがあり、結果出力の形式を変更できます。 JSON Callback Plugin もあり、Playbook の実行結果を JSON で得て、jq などと組み合…

[Ansible] コントロールノードから ICMP ping を実行する(ただしcommandモジュール)

これは、Ansible Advent Calendar 2020 (Adventar版) の 21日目の記事です。 はじめに Ansible には、ping モジュールという接続確認モジュールがあります。 コントロールノードからターゲットノードへの SSH 接続 + Python 実行までを確認します(ICMPでは…

[Ansible] Jinja2 で同じ値のリピートを生成する

これは、Ansible Advent Calendar 2020(Adventor版)の20日目の記事です。 はじめに 少しタイトルがわかりにくいかもしれませんが、例えばこうです。 abc という文字列を 3回繰り返し abcabcabc にする [1, 2, 3] というリストを 3回繰り返し [1, 2, 3, 1, 2,…

[Ansible] 「つまずき Ansible 【Part23】AWX をコマンドなどで操作する」ふりかえり

はじめに 2020/12/19 に、YouTube Live で「つまずき Ansible 【Part23】AWX をコマンドなどで操作する」という配信をしました。 実際に作業しながら(ときには)エラーと戦って進めるシリーズです。 今回は、AWX を画面以外で操作する方法を扱いしました。 …

[Ansible] ACI モジュールの認証情報を環境変数で指定してPlaybookをすっきりさせる

これは、Ansible Advent Calendar 2020 (Qiita版)の19日目の記事です。 はじめに Ansible には Cisco ACI の操作にも対応していて、モジュールが多数あります。 参考 Cisco ACI Guide aci_* モジュール一覧 内部的には APIC の API を利用しますが、httpapi …

[Ansible] Ansible 2.10 の次は 3.0.0

これは Ansible Advent Calendar 2020 (Adventar版) の 14日目の記事です。 はじめに 現在、コミュニティ版としての 最新安定版は Ansible 2.10 系です。 もともとのロードマップでは、Ansible 2.10 系 の次は Ansible 2.11 系でした。ですが先月、2.10 系の…

[Ansible] 「つまずき Ansible 【Part22】AWX 16.0.0 を試す」ふりかえり

はじめに 2020/12/13 に、YouTube Live で「つまずき Ansible 【Part22】AWX 16.0.0 を試す」という配信をしました。 実際に作業しながら(ときには)エラーと戦って進めるシリーズです。 tekunabe.connpass.com 今回は、先日 リリースされた AWX 16.0.0 を…

[Ansible] 「つまずき Ansible 【Part21】ansible.utils collection を試す」ふりかえり

はじめに 2020/12/12 に、YouTube Live で「つまずき Ansible 【Part21】ansible.utils collection を試す」という配信をしました。 実際に作業しながら(ときには)エラーと戦って進めるシリーズです。 tekunabe.connpass.com 今回は、先日 1.0.0 になった…