てくなべ (tekunabe)

ansible / network automation / 学習メモ

Jinja2 にコメントを入れる

これは エーピーコミュニケーションズ Advent Calendar 2021 の3日目の記事です。 はじめに Ansible などで利用されるテンプレートエンジン Jinja2には、コメントのシンタックスが用意されています。 jinja.palletsprojects.com コメントのシンタックス {# …

Internet Week 2021「C6 どう使う?データセンターネットワーキング最前線 Yahoo! JAPAN実用例]」参加メモ

はじめに 2021/11/16 - 26 開催の Internet Week 2021で「C6 どう使う?データセンターネットワーキング最前線 Yahoo! JAPAN実用例」というプログラムを拝聴しました。 ZTPの実装方法や、Ansible のロール、テンプレート、変数ファイルの作り方について興味…

JANOG48 Meeting 参加レポート

はじめに 2021/07/14-16 に岐阜県大垣市で開催(オンラインも)された JANOG48 Meeting に(オンラインで)参加ました。 ものすごく遅れたタイミングで、かつ、ものすごくちょっとした内容ですが、見たプログラムのメモや感想などを残しておきます。 資料は…

[ansible] ansible 関連のリリース情報まとめRSS(ansible、molecule、各種コレクションなど)

はじめに Ansible のニュースレターである The Bullhorn の Issue #34で知ったのですが、ansible や molecule、それから各種コレクション(おそらくansible community package内)のリリース情報をまとめて取得できる RSS フィードがあります。 特にコレクシ…

[AWS] サイト間VPNの設定がどの段階で課金されるのか調べた

aws

はじめに サイト間 VPN の設定をした時に、どのタイミングで料金が発生するのか、分からなかったので調べました。 結果としては、対向のVPN装置のとのトンネル状態にかかわらず、AWS側のサイト間VPNの設定をした段階のようです。 AWS VPN の料金 https://aws…

[Ansible] Ansible 2.9 で インストールしたcollection のバージョン一覧を表示する(jq利用)

はじめに Ansible 2.9 には ansible-galaxy collection list のような、コレクションの一覧を表示するコマンドがありません。 おそらく、各コレクションの MANIFEST.json の version を見るしかないかと思います。 例: ansible.utils 2.4.0 の MANIFEST.json…

[Ansible] 設定項目やディレクティブ、コマンドのプションなどの索引ページ

たまたま見つけたのですが、Ansible の公式ドキュメント上に、設定項目やディレクティブ、コマンドのプションなどの索引ページがあることを知りました。 docs.ansible.com ざっと見てみて「こんなのあったっけ?」という新発見につながったりしそうな気がし…

[VS Code] アクティブなエディターのタブの背景色を変える tab.activeBackground

はじめに VS Code のエディター部分でファイルを開くとタブ表示になりますが、いまアクティブ(開いている)なタブどれなのか色的に少しわかりにくなと感じていました。 アクティブなタブの背景色を変える方法を Twitter で教えていただいた(ありがとうござ…

ip コマンドの -j オプションで JSON 出力する

はじめに コマンドの出力結果を機械的に抽出や加工したい場合、JSONなどの構造化データだと正規表現を書くことをぐっと減らせて便利です。 たまたま ip コマンドは -j または --json というオプションで json 出力できることを知りました。 -p オプションを…

[Ansible] 「つまずき Ansible 【Part34】ansible-core 2.11.0 の changelog を眺める」ふりかえり

はじめに 2021/05/01 に、YouTube Live で「つまずき Ansible 【Part34】ansible-core 2.11.0 の changelog を眺める」という配信をしました。 connpass.com 今回は、先日リリースされた ansible-core 2.11.0 の changelog の中で個人的に気になったところを…

[Ansible] 親サブネットから利用可能な子サブネットを求める ipsubnet フィルター

はじめに Ansible には、IP アドレスを扱うための様々なフィルターがあります。 docs.ansible.com その中に ipsubnet というフィルターがあります。 このフィルターにはいくつか機能があり、例えば「10.0.0.0/24」内で /25 で区切ったときの N 番目のサブネ…

カラビナでラックのケーブルを整線する

はじめに 自宅にいくつかネットワーク機器があり、家具であるメタルラックを利用しています。 だんだんとケーブルの本数も増えてくると、きれいに整線したくなってきます。 データセンターのようなきちんとした場所であれば、ケーブルマネジメントのような専…

[GitLab] CI が成功しないと Merge できないようにする

はじめに GitLab には GitLab CI という機能があり、git push のような更新のタイミングで CI を実行できます。 デフォルトでは、マージリクエストの画面で CI の成功/失敗に関わらず Merge ボタンが押せます。 柔軟といえば柔軟ですが、厳密にしたい場合は…

[Python] システムワイドのパッケージを利用できるように venv を作成するオプション --system-site-packages

はじめに venv はデフォルトでは、システムワイド(グローバル、OSレベル)な Python 環境を参照しません。 venv 作成時に --system-site-packages オプションを参照するようになります。 これにより、venv にないパッケージでもシステムワイドに入っていれ…

Cisco IOS で 平文パスワード指定時にハッシュ化するアルゴリズムを指定する

はじめに ログインユーザーのパスワードや enable secret に対するハッシュアルゴリズムがいくつかあります。 ハッシュアルゴリズムを指定しない場合は自動で選択されますが、algorithm-type というオプションで明示的にも指定できます(昨日知りました)。 …

[Ansible] 「つまずき Ansible 【Part33】VS Code で Playbook を書きやすくしたい」ふりかえり

はじめに 2021/03/13 に、YouTube Live で「つまずき Ansible 【Part33】VS Code で Playbook を書きやすくしたい」という配信をしました。 実際に作業しながら(ときには)エラーと戦って進めるシリーズです。 tekunabe.connpass.com 今回は、VS Code にイ…

JANOG47 Meeting in Fukuoka 参加レポート

はじめに 2020/01/27-29 にオンラインで開催された JANOG47 Meeting in Fukuoka に参加ました。 前回の JANOG 46 では、現地とオンラインのハイブリッドでの開催でしたが、今回はオンラインのみとなりました。 このような制約があるなかでも開催されたことが…

[Ansible] 「つまずき Ansible 【Part32】凡ミスTOP5」ふりかえり

はじめに 2021/02/27 に、YouTube Live で「つまずき Ansible 【Part32】凡ミスTOP5」という配信をしました。 実際に作業しながら(ときには)エラーと戦って進めるシリーズです。 tekunabe.connpass.com 今回は、私がよくやりがちな Playbook 上のミスを6個…

[Ansible] 「つまずき Ansible 【Part31】Katacoda Ansible 101 をやってみる」ふりかえり

はじめに 2021/02/13 に、YouTube Live で「つまずき Ansible 【Part31】Katacoda Ansible 101 をやってみる」という配信をしました。 実際に作業しながら(ときには)エラーと戦って進めるシリーズです。 tekunabe.connpass.com 今回は、先日の Ansible Nig…

[Ansible] 「つまずき Ansible 【Part30】Ansible 3.0.0b1 を少し探る」ふりかえり

はじめに 2021/02/07 に、YouTube Live で「つまずき Ansible 【Part30】Ansible 3.0.0b1 を少し探る」という配信をしました。 実際に作業しながら(ときには)エラーと戦って進めるシリーズです。 今回は、まだベータですが先日リリースされた Ansible 3.0.…

[Ansible] 「つまずき Ansible 【Part29】フィルター」ふりかえり

はじめに 2021/02/06 に、YouTube Live で「つまずき Ansible 【Part29】フィルター」という配信をしました。 実際に作業しながら(ときには)エラーと戦って進めるシリーズです。 今回は、値を変換したり抽出したりするフィルターをいくつか試しました。 参…

[Ansible] cisco.ios.ios_ping モジュールに size と df_bit オプションを追加しました

はじめに Cisco IOS のネットワーク機器 から 指定の宛先に ICMP による Ping を実行する cisco.ios.ios_ping というモジュールがあります。 指定した宛先などのオプションに基づいて ping コマンドを生成し、IOS の機器上で実行して結果を表示します。 [Ans…

[Ansible] 「つまずき Ansible 【Part28】ping 系モジュールを試す」ふりかえり

はじめに 2021/01/30 に、YouTube Live で「つまずき Ansible 【Part28】ping 系モジュールを試す」という配信をしました。 実際に作業しながら(ときには)エラーと戦って進めるシリーズです。 今回は、ping や ios_ping や win_ping などの ping 系モジュ…

[Ansible] 「つまずき Ansible 【Part27】ネットワーク機器の状態確認をしたい」ふりかえり

はじめに 2021/01/23 に、YouTube Live で「つまずき Ansible 【Part27】ネットワーク機器の状態確認をしたい」という配信をしました。 実際に作業しながら(ときには)エラーと戦って進めるシリーズです。 今回は、以下の記事を参照しながら、ネットワーク…

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