かべぎわブログ

技術的なことについてかけたらいいな…

Ansibleでjinja2のifをつかって条件分岐させる

概要 Ansibleのplaybookの中でjinja2の記法をつかって条件分岐させてみたいと思います。 playbook例 prodがhonならhonban、kaiならkaihatsuと出力するように設定しています。 実行してみる honbanと出力されていることがわかります。 $ ansible-playbook jin…

Ansibleのwait_for_connectionをつかってOSの再起動を待つ

概要 Ansibleのwait_for_connectionを利用してターゲットノードのOSを再起動の完了を待ってみようと思います。 playbook例 shellでサーバの再起動を実施しています。asyncとpollを指定することでsshコネクションが切断されても処理をそのまま続けることがで…

AnsibleでターゲットのIPアドレスを取得する

概要 Ansibleを利用してターゲットノードのIPアドレスを取得してみたいと思います。 playbook例 実行してみる IPアドレスが出力されていることがわかります! $ ansible-playbook default_address.yml -v PLAY [target] ***********************************…

複数のAWSマネジメントコンソールを利用するときのChromeの設定のすすめ

AWS

概要 AWSのマネジメントコンソールを複数アカウント/ユーザ分利用することがまれによくあると思います。 別のアカウントでマネジメントコンソールを立ち上げたときに以下のような画面が出てしまって、セッションが全部切り替わってしまって、あーーーーーー …

Pythonで平成があと何日あるのか計算する

概要 Pythonをつかって平成があと何年で終わってしまうのか計算してみたいと思います。 前提 2019/05/01から新元号になります。 というわけで平成最後の日は2019/04/30です。 できたもの こんなかんじでやってます。 標準ライブラリのdatetimeを利用して計算…

Ansibleのblockinfileモジュールをつかってテキストファイルに行を追加する

概要 Ansibleのblockinfileモジュールをつかってテキストファイルに任意の行を追加してみたいと思います。 playbook例 実行してみる $ ansible-playbook blockinfile.yml -v PLAY [localhost] ************************************************************…

Ansibleのreplaceモジュールをつかって文字列を置換してみる

概要 Ansibleのreplaceモジュールを利用して、テキストファイルなどの文字列を置換してみようと思います。 playbook例 ちょっとした説明 destで置換したいファイルを指定します。 regexpで置換したい文言を指定します(正規表現可) replaceで置換後の文言を指…

Ansibleでcronを設定してみる

概要 Ansibleのcronモジュールを利用してcrontabを設定してみようと思います。 playbook例 以下のように設定しています。 minuteやhourなどにcronで実行したい時間を設定します。 省略すると*扱いとなります。 jobは実行したいコマンドです。 実行してみる $…

Ansibleのhostnameモジュールでホスト名を変更する

概要 Ansibleのhostnameモジュールを利用してサーバのホスト名を変更してみます。 playbook例 こんなかんじで自分自身のホスト名をwawawa_serverに変更しています。 become: trueで実行しないと権限の関係で変更ができない可能性があるので要注意です。 実行…

Ansibleのexpectで対話型のスクリプトを実行してみる

概要 Ansibleのexpectを利用して対話型のスクリプトを実行してみようと思います。 準備 Ansibleでexpectモジュールを利用するためにはpexpectのインストールが必要です。 以下のコマンドでインストールしておきます。 $ sudo pip install pexpect playbook例…

readコマンドで対話的なシェルスクリプトをつくる

概要 readという標準入力を1行読み込むことのできるコマンドを利用して対話的なシェルスクリプトを作ってみようと思います。 スクリプト スクリプトはこんなかんじ ちょっとした説明 readコマンドを利用して標準出力を読み込んで変数に格納しています。 それ…

ホテイのじゃがベーコンブラックペッパー味の缶詰がハイパーうまい

ホテイのじゃがベーコンブラックペッパー味がハイパーうまいです。 外観はこんなかんじ 内観はこんなかんじ じゃがいもはこんなかんじ ハイパー味が濃い ベーコンはこんなかんじ やわらかい おわり ホテイフーズ じゃがベーコン ブラックペッパー味 90g×4個…

Ansibleのバージョンを指定してインストールする

概要 Ansibleの特定のバージョンをインストールする方法をご紹介します! バージョンを指定してインストール たとえば、バージョン2.4.3をインストールする場合は以下のコマンドのようにバージョンを指定してpip installを実行します。 $ sudo pip install a…

Ansibleのblock内のalwaysの動きを確認してみる

概要 Ansibleのblockのなかでalwaysディレクティブを指定してみて動きを確認してみます。 alwaysの説明 alwaysはblock内で指定できるディレクティブで、その名の通りいつでも実行される処理です。 タスクが成功しても失敗しても実行されるため、エラーハンド…

Ansibleのblock内のrescueの動きを確認してみる

概要 Ansibleのblock のなかでrescureディレクティブを指定してみて動きを確認してみます。 そもそものrescueの説明 rescueはblock内で定義したタスクのどれかがエラーになったときに実行する処理を記載することができるディレクティブです。 タスクが失敗し…