goodbyegangsterのブログ

備忘録的な

Ansible

Linuxの踏み台サーバ経由で、WindowsサーバにAnsibleを実行する方法

AWSではよくある下記にような構成で、Ansibleを実行する方法。playbookを実行するところがPCで、操作対象となるサーバがAWS上のWindows、sshポートフォワーディングして接続します。 ローカルフォワーディングの設定 利用する ssh_config に、踏み台サーバの…

テスト用のplaybookで利用できるモジュールたち

Ansibleでテスト用のplaybookを書く時の、一般的な使い方をまとめておきます。 環境情報 wait_forモジュール port生死の確認 ファイル内文字列の確認 assertモジュール コマンド実行結果を確認 failモジュール webサイトのページ確認 参考:テスト用playbook…

playbookのテストで利用できるオプションやlinterについて

Ansibleで書いたplaybookのテストを実行できる方法をまとめています。 環境情報 シンタックスチェック playbookのdry run(チェックモード) チェックモードの問題点1:依存関係のあるタスクでの利用 チェックモードの問題点2:チェックモードをスキップす…

Ansible Vaultで機密情報を管理する方法

AnsibleのPlaybookで、パスワード等の機密情報を記載したい場合があります。テンプレートファイルを見れば、パスワードが丸わかりとなってしまうため、これを暗号化して利用する方法が用意されており、それが Ansible Vault となります。 公式ドキュメントは…

Ansibleのcommandモジュールで冪等性を担保する

Ansibleにてモジュールの用意されていない操作を実行する場合、OS上でコマンドを実行してくれるモジュールが用意されています。 command や shell がそれにあたります。 Ansible - command Ansible - shell しかしながら、公式では可能な限り command モジュ…

Ansibleで試しにRoleを作ってみた

Ansibleによりnginxを設定してみます。 ansible-garaxyにあるRoleを引っ張ってくる方が早いのでしょうが、Ansibleの勉強も兼ねて、自分でRoleを作ってみます。 環境情報 cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core) ansible --version an…

WindowsサーバーにAnsibleから接続する

Windows2016のサーバーを、Ansibleで操作するための、接続設定を行います。公式のWindows関連のAnsibleマニュアルはこちら。 Windows Guides — Ansible Documentation 検証した環境 Host側 Client側 検証した環境 Host側 Windows2016 DataCnenter Clinet側 W…

EC2 External Inventory Scriptを使って、EC2のDynamic Invetoryを利用してみる

AnsibleでInventoryファイルをイチイチ管理するのがめんどくさい。ということで、「EC2 External Inventory Script」を試してみました。これはAWSのEC2に対するdynamic investoryを作成してくれるAnsibleのスクリプトになります。公式のドキュメントはこちら…

ansible-galaxyを利用する

ansible-galaxyは、Ansibleで利用するRoleをまとめている、Githubみたいなサービスです。色んな企業や有志の方が、Ansibleで利用できるRole集を公開してくれています。これを使えば、自分でPlaybookを書かなくて済みますし、自分でPlaybook書く場合でも参考…

Windowsにて、踏み台サーバ経由でAnsibleを利用する方法

クライアントがWindows10の環境にて、踏み台サーバ経由でAnsibleを利用する方法を記載します。AnsibleのPlaybookの実行はwsl上で実行するのですが、Ansibleの各種定義ファイルはWindows側ファイルシステムに置いてある方が管理しやすいことも多く、その点を…

WindowsのWSLで、Ansbileを利用する方法

Ansibleのplaybookを実行するにはLinux環境が必要となるため、Windowsで利用するには工夫が必要となります。今回は、WindowsのSubsystem for LinuxのUbuntu環境を用いて、Ansibleを利用する方法を記載します。 環境情報 Windows 10 Pro Windows SubSystem fo…