このすみエンジニアブログスマートフォン用の表示で見るこのすみエンジニアブログ2018-02-18Ansibleの基礎を勉強しているのですが、初心者向けに内容を整理しましたテクノロジーオライリーの「初めてのAnsible」を読んでます。見る途中からプレイブックが複雑になって難しくなってくるのですが、基礎を整理したいので、ブログに書いてみます。Ansibleとは何か私が整理した限り、Ansibleは以下のような事を実現するツールとして知られています。デプロイメントツールオーケストレーションツールプロビジョニングツール構成管理ツール最も重要な点として、手作業で打ち込んでいたLinuxコマンドを自動化するための、デプロイメントツールとしての側面があげられます。AnsibleはYAML形式で管理するため、サーバの構築をまるで設定ファイルのように扱う事ができます。これは凄い便利!オーケストレーションツールとしては、Ansibleは複数台のサーバを扱うことができます。本書いわく、数千台のサーバを管理している実績もあるようです。私が最も感銘をうけたのは、Ansibleの冪等性(べきとうせい)です。冪等性によって、何回実行してもサーバの状態は維持されます。これはプレイブック内で実行しようとしているコマンドが、既に実行済み(適応済み)であれば何もしないという判断を、Ansibleが行ってくれているからです。初回だけ実行する必要がある手順書のコマンドを、何回も実行されることをAnsibleが防いでくれるのです。Andsibleの単純なサンプル初めてのAnsible、第二章(ch02/playbooks)のサンプルが、良い事例となるでしょう。https://github.com/ansiblebook/ansiblebookVagrantfileAnsibleによるサーバ構築を適用するためのテストサーバです。8443endansible.cfg主にサーバへのSSH接続設定を記述しています。各種サーバを横断した共通設定のファイルです。FalsehostsAnsibleを実行する対象サーバを記述しています。state=restarted最低限として「Ansibleの実行によって構築されるサーバ」「構築するサーバの一覧とSSHの接続設定」「実行するタスク」の3つがあれば良いわけですね。タスクの実行結果に「ok」と「changed」があります。「ok」は実行する必要がなかったため、実行しなかったコマンドです。「changed」は、コマンドの実行によってサーバの状態が変更されたことを意味します。failed=0要点をまとめてみる詳しい解説は本書に譲りますが、要点だけを要約します。起動してあるサーバに対して「ansible.cfg」や「hosts」に書いてある接続設定を読み取り、SSH接続を行なう。SSH接続でログインしたサーバ内で、プレイブックに書かれたコマンドを実行する。Ansibleには400を超えるモジュールがあり、aptやyumによるパッケージインストールや、apacheやnginxの設定ファイルの書き換えなどを行なうことができる。さいごにサーバ構築の自動化は以下のようなメリットがあります。作業手順書にコマンドを記載し忘れるなどの漏れを防止するサーバ環境の秘伝のタレ化を予防する少し触っただけでも凄さを実感したので、これは活用しない手はなさそうですね。補足Vagrantでも自動構築できるし、Dockerでも自動構築できるし、Ansibleでも自動構築できるわけですが、うまく組み合わせるためのベストプラクティスを考える必要がありそうです。2018年8月号」を読みました。第1特集...2018-06-23webpackのmodeは重要!難読化からMinifyまでする優れモノwebpack4から、modeというオプションが追加されました。https:...2018-06-16はてなブログの独自ドメインにおけるHTTPS(SSL)化の設定方法と、実装の技術解説このすみです。開発環境を構築する必要があるため、そのために...2018-02-12実践Vagrantで学ぶ、自動サーバ構築【感想】O'Reilly(オライリー)の「実践Vagrant」を読みました。はてなブログProWEB系エンジニア。ブログで趣味の映画・ゲーム・読書の感想を書いたり、技術系の知見を共有しています。技術書典7にサークル参加して、技術同人誌を頒布しました。BOOTHに電子版があります。(1)月別アーカイブスポンサーリンクはてなブログをはじめよう!konosumiさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。