てくなべ (tekunabe)

ansible / network automation / 学習メモ

HashiCorp Vault の動的シークレット機能で AWS の一時的 な IAM ユーザーを作成してみた

はじめに Software Design 2022年5月号の Vault の連載の記事は「動的シークレットで安全性を高めよう」という内容でした。 興味が湧いたので、HashiCorp Learn の Dynamic Secrets も合わせて読んだうえで、試してみました。 AWS の IAM ユーザーの一時的に…

[AWS] アタッチされていない EBS ボリューム一覧を AWS CLI で表示する

aws

EC2 インスタンス削除時に、自動でEBS ボリュームも削除されるつもりだったのにうっかり残っていた、という経験はありますでしょうか。 このようなとき、アタッチされていない EBS ボリュームの一覧を取得したいときがあるかもしれません(ありました)。 AW…

[ansible] あのモジュール、どのコレクションにいった?を探す

はじめに Ansible(-base) 2.10 から、多くのモジュールはコレクションという管理、配布方式に移行しました。 その関係で「前あったあのモジュール、プラグインはどのコレクションにいったんだ?」と気になることがあるかもしれません。 正確には、しれません…

[Ansible] ansible-navigator 2.0.0 新機能ピックアップ Part 2: その他編

はじめに 先日、ansible-navigator 2.0.0 がリリースされました。 Release v2.0.0 · ansible/ansible-navigator · GitHub 前回の記事で、追加されたサブコマンドを取り上げました。 tekunabe.hatenablog.jp 今回はそれ以外の気になったものを取り上げます。 …

[Ansible] ansible-navigator 2.0.0 機能ピックアップ Part 1: 追加サブコマンド編

はじめに 先日、ansible-navigator 2.0.0 がリリースされました。 github.com ansible-navigator は、Playbook 実行や実行環境の管理などの機能を持つ TUI ツールです。 2.0.0 では、実行環境のビルドや ansible-lint を呼び出す機能などの追加や、設定ファ…

[Ansible] azure.azcollection.azure_rm インベントリプラグインで停止中のVMも対象にする

はじめに Ansible から Azure の VM の情報を取得して動的にインベントリを生成できる azure.azcollection.azure_rm インベントリプラグインという便利なものがあります。 こちらの issueを見てなるほどと思ったのですが、デフォルトだと実行中(running)で…

[Ansible] Ansible から HashiCorp Vault のシークレットを取得する

はじめに 前回の記事で、HashiCorp Vault の kv シークレットエンジンを使ってシークレットの登録をしました。 今回は、そのシークレットを Ansible から取得して表示したり、機器への接続パスワードに利用することを試します。 Ansible の community.hashi_…

HashiCorp Vault によるシークレットの登録と確認を気軽に試してみた

はじめに Software Design 2022年4月号で始まった連載「HashiCorp Vaultではじめるシークレット管理」を読んで、HashiCorp Vault(以下 Vault)に興味を持ちました。 他、HashiCorp Learn の Vualt のコンテンツも参照してみました。 あくまでお試しレベルです…

[Ansible] Ansible 3 以降のモジュール一覧のページ

はじめに Ansible のモジュールの一覧を確認したいときは、よく公式ドキュメントを参照します。Ansible 2.9 までは、Module Indexというページがあり、さらにカテゴリごとのページに飛べます。また、All modules というページでは全モジュールの一覧が表示さ…

[Ansible] スキップされたタスクの結果は is skipped でもあり is succeeded でもある

はじめに Ansible では、タスクの実行結果を変数に保存し、その結果を後続のタスクで確認する機能があります。 docs.ansible.com そういえばどうなんだろうシリーズといいますか、「スキップされたタスクって succeeded 扱いだっけ?」と思ったことがありま…

[Ansible] もくもく会コンテンツのリポジトリにある資料「Ansible Best Practices」

Ansible ユーザー会では定期的にもくもく会というハンズオンイベントを開催しています。 次回は 2022/04/21 です。 コンテンツは以下のリポジトリにあります。 github.com 先日見つけたのですが、Ansible Best Practicesという資料がありました。 こうかいて…

[Ansible] Automation Controller 上で実行環境コンテナ内のコレクション一覧を確認する(やや力技)

はじめに AAP 2.x になってから、Ansible の実行環境が Python の venv から、コンテナに変わりました。 コンテナの中に、利用するコレクションを仕込んでおくわけですが、Automation Controller を触ってるときに、コンテナ内のコレクション一覧を確認した…

Backlog の Git 機能の課題とプルリクエスト連携機能をためした

はじめに タスク管理ツール(SaaS)である Backlog にはGit ホスティング機能があります。 https://support-ja.backlog.com/hc/ja/categories/360002262194-Git-Subversion プルリクエスト機能もあるため、課題と関連付けできると経緯をトレースできていいな…

firewalld の Intra Zone Forwarding の機能有無やデフォルト値

はじめに firewalld の firewall-cmd --list-all の結果で、forward という項目がある環境とない環境があることに気が付きました。forward-ports とはまた別物です。 0.9.0で導入された、Intra Zone Forwarding という機能のものによるようです。 気になった…

Red Hat Enterprise Linux 9.0 Beta の Python 環境を少し探ってみた

はじめに Red Hat Enterprise Linux 9.0 Beta を、GUIでない方のサーバーとしてインストールしました。 Python 周りがどうのようになっているのか、試しながら調べてみました。あくまで私の環境で調べたという状態なので、お手元と異なるかもしれません。 py…

[Ansible/AAP] Automation mesh でコントロールノードと実行ノードの分離を試してみた

はじめに ■ 1. Automation mesh におけるノードの種類 ■ 2. 今回の環境 (コントロールノードと実行ノードの分類) ■ 3. 下準備 3.1. subscription-manage による作業 3.2. SSHキーの接続 ■ 4. インストール 4.1. インストーラーの準備 4.2. inventory の修…

[Ansible] ansible-lint 6.0.0 のインストールで ansible-core 2.12.3 も一緒にインストールされる

はじめに 先日 ansible-lint 6.0.0 がリリースされました。 github.com .config/ansible-lint.yml を読み込むようになったり、ansible 2.9 や Python3.6、3.7 がサポートされなくなったり、フォーマット機能がつくなど変更がありました。 また、インストール…

[Ansible] 「つまずき Ansible 【Part36】ansible-navigator」ふりかえり

はじめに 動画 ansible-navigator とは 準備 インストール TUI による Playbook 実行 まずは実行 ansible-playbook コマンドと同じ形式でもOK アーティファクト(ログ)の保存とリプレイ機能 アーティファクトの例 リプレイ機能で再現表示 設定は ansible-nav…

[Ansible] よく見る公式ドキュメントのページ5選

はじめに チーム内で、Ansible の公式ドキュメントの見方についての話になったときに、よく参照するドキュメントはどこかという話に発展しました。 5つ紹介します。対象プラットフォームに限定しないものを取り上げています。 1. 各モジュールの説明ページ …

[Ansible] pip install ansible でバージョン5以降がインストールできないときはpythonバージョンを確認

とある環境で pip で ansible の 5系をインストールしようと思ったら、エラーになったことがありました。 $ pip install ansible==5.2.0 ERROR: Could not find a version that satisfies the requirement ansible==5.2.0 (from versions: 1.0, 1.1, 1.2, 1.…

[Terraform] IOS XE Terraform provider で設定変更を試してみた

はじめに ■ 1. 共通 .tf ファイルの準備 1.1. terraform.tf の作成 1.2. provider.tf の作成 ■ 2. NTP サーバー設定0台から3台へ (POST) 2.1. ntp_post.tf の作成 2.2. terraform init の実行 2.3. terraform plan の実行 2.4. terraform apply の実行 2.5.…

はてなブログで目次を生成する見出しレベルをCSSで調整する

目次機能とは はてなブログには目次を簡単に生成できる目次機能があります。 [:contents] と差し込むだけです。 ボタンもある 目次の対象にされるのは markdown でいう # 見出し による見出しです。## 見出し や `### 見出し のような下のレベルまで目次の対…

[Ansible] 「つまずき Ansible 【Part35】ロールの実行に必要な変数をチェック」ふりかえり

はじめに 動画 ロールと変数とチェック Role argument validation 必須チェック エラーになるケース 正常なケース チェックの無効化 型チェック 選択肢チェック validate_argument_spec モジュール チェックモードでもvalidateされる ansible-docによるargum…

[Ansible] 安全側に倒す ansible.cfg の設定

はじめに 意図しないまま実行を進めないようにするため、ちょっとしたことでもエラーに倒して早めに処理を止める設定の紹介です。インベントリ周りが中心です。 ansible.cfg [defaults] duplicate_dict_key=error [inventory] host_pattern_mismatch=error a…

[Ansible] --vault-password-file で指定するファイルはスクリプトでも可なので環境変数も参照できる

--vault-password-file オプションとは Ansible にはパスワードなどの機密情報を暗号化する ansible-vault という機能があります。 Playbook 実行時には何かしらの方法で復号パスワードを指定する必要があります。ansible-playbook コマンドにも関連オプショ…

[ansible] ansible-navigator で --step や vars_prompt によるインタラクティブな操作をする

はじめに ansible-navigator は、Playbookの実行、ドキュメントなどの情報が表示できる TUI ツールです。 Playbook の実行に関しては、ansible-playbook コマンドでできることはだいたいできると思ってよさそうです。 ansible-playbook コマンドの各オプショ…

JANOG49 Meeting in Kagoshima 参加レポート

はじめに 2022/01/26-28 に鹿児島県鹿児島市で開催(オンラインとハイブリッド)された JANOG49 Meeting にオンラインで参加しました。 見たプログラムについて、感想やメモ書きレベルですが残しておきます。 資料は公開されているので、気になったプログラ…

Azure の公式ドキュメントを修正してみた

はじめに Azure の公式ドキュメントには、Ansible から操作するための情報が多く載っていてありがたいです。 docs.microsoft.com 眺めていたら、Get Started: Configure Ansible on an Azure VMというページで、インデントがおかしいところがありました。 イ…

[Ansible/Azure] azure_rm インベントリプラグインでインベントリ名を仮想マシン名に合わせる

はじめに azure.azcollection.azure_rm というインベントリプラグインは、AzureのVMの情報を動的に取得できます。 対象のリソースグループ名やグループ化の仕方、変数の持ち方などをYAMLで定義します。 このインベントリプラグイン利用時に、インベントリ名…

[Ansible] 2021年のAnsibleリリースまとめ

はじめに 2020年は、ansible-base (現 ansible-core) と collection に分かれての配布が始まったことが大きな出来事でした。 2021年も、ansible-core も、コミュニティが選別したcollectionをセットにしたパッケージもそれぞれアップデートされていきました…