Ansible Documentation
コンニチーハ、千葉です。 今日はDockerコンテナとEC2が混在している環境をインベントリで管理してみます。 といってもそんなに難しくありません。 まずは、ansible.cnfでssh_configを設定するを参考にEC2環境ホストのセットアップをします。 EC2向けの設定 ssh_config Host ec2-1 User ec2-user HostName xxx.xxx.xxx.xxx IdentityFile xxx.pem Host ec2-2 User ec2-user HostName xxx.xxx.xxx.xxx IdentityFile xxx.pem Host ec2-3 User ec2-user HostName xxx.xxx.xxx.xxx IdentityFile xxx.pem ansible.cfg [ssh_connection] ssh_arg
書評: 初めてのAnsible¶ 「初めてのAnsible」 という本がオライリージャパンから発売されました。その本を頂いたので、読んでみました。 結論¶ 結論から述べますと、この本は「初めての」と付きますが、これから使いたい人だけでなく、今現在も使っている人にとっても買うべき本だと思います。 Ansibleの実行方法、Playbook、Task、InventoryといったAnsibleを使う上での重要なところが一から順序良く書かれており、すぐに理解できるようになると思います。そういう点で初心者向けです。 それでいて、かなり注釈が多く、初心者向け、ということだけではなく、YAMLの引っかかりやすい文法上の問題や、 localhost が暗黙的にinventoryに追加されるというような細かいところまできちんと書いており、現在使っている人に取っても有意義だと思います。特に、筆者はこう考えてこ
近年Webアプリが増え、サーバの環境構築を行ったり、アプリのデプロイを行ったりする機会が増えてきました。しかし、いまだにこのようなサーバ作業をマニュアル頼りに手作業で行っていることもあるかと思います。環境構築やデプロイなどを何度も行う場合は自動化したいところです。 サーバ作業を自動化しようと考えたとき、最初に思い浮かぶのはシェルスクリプトを利用することではないでしょうか。シェルスクリプトを使って環境構築やリリースを自動化することは可能ですが、シェルスクリプトだけだと手間が掛かってしまう作業もあります。 例えば、リリースを行う環境が複数ある場合、scpでビルド成果物を送り、sshで接続してリリース用スクリプトを実行する、といった作業が環境ごとに必要になってしまいます。 また、ファイルの追記や修正などを行うシェルスクリプトが途中で失敗してしまった場合、シェルスクリプトを修正した後にそのまま再実
はじめまして、入社1年と数ヶ月のkamoです。初投稿になります。 最近、巷で噂のRaspberry Pi B+を買ってしまいました。 え?この記事を書かずにそんなことしてん?何してんの? 他にもやることあるよね、kamo? という心の声が聞こえてきましたが、学生の頃、テスト期間中に勉強しなければいけないのに、机の上や部屋の掃除をしてしまう感じで買ってしまいました。すみません。 Raspberry Pi B+で何をするかは、まだ考えていません。色々と片付いたら弄ろうと思っていますので、ご勘弁を。 さて、最近はサーバを構成管理ツールで管理するのが流行っていますが、トライコーンでは Ansible を使っての構成管理を試してみています。 その中でハマったのが shell や command モジュールを使いながら冪等性を保つ方法です。VagrantとAnsibleで開発環境を構築 – テストとハ
渡辺です。 Ansibleでは、ホストをInventoryファイル(スクリプト)で定義します。 この時、次のようにグループ化することが可能です。 [prd] 10.0.0.10 10.0.0.20 [stg] 10.0.100.10 10.0.100.20 ここではprdグループとstgグループにホストを定義しています。 ホストをグループ化することで、グループ変数(group variable)が利用できるため、本番環境(prd)と検証環境(stg)における構成の差異を反映した構成管理を行えます。 ここまではよくある話。 今回、ハマったのは本番環境も検証環境もlocalhostの場合です。 すなわちAnsibleをローカル実行させる場合に期待通りのグループ変数が適用されなかったというお話です。 期待通りにいかないファイル構成 こちらは上手く動作しなかった構成です。 # hosts [stg
Ansible、シスコやArista、Juniperなどのネットワーク機器に対応。ネットワークも含めた構成自動化が可能に Ansibleはエージェント不要でサーバを構成できるのが最大の特長です。昨年10月にRed Hatが買収し、先月にはメジャーバージョンアップとなる「Ansibe 2.0」が発表されたばかり。 Ansible 2.0では、構文の強化によってより高度な処理を記述しやすくし、実行速度を高速化するオプションなどが追加されました。 今回の機能拡張では、サーバだけでなく複数のベンダのネットワーク機器に対してもAnsibleから統一的に構成を行えるようになり、システム構成についてソフトウェアとネットワークを統合的に自動化できるようになりました。 現時点でAnsibleがサポートするネットワーク機器は以下となっています。 Arista Networks : Arista EOS Cis
この記事はPuppet Advent Calendar 2015の14日目の記事です。 昨日はおっくんのPuppetの予約語 $name と $titleでした。 書いている人 Puppetはペパボで6年間、複数のサービスインフラ用に書いてきた。社内で一番書いたかも 新規やら導入やら引き継ぎやらいろいろ オンプレもクラウドもある AnsibleはQuipperで2ヶ月ちょい。既ににあるのに書き足したりリファクタリングしたり 当然だけど2ヶ月ずっとそれだけやってたわけではないです EC2オンリー 経験値が全然違うけど、できるだけ公平に評価してみるつもり。 尚、Puppet、Ansible以外は語れるほど使ったこと無いので言及しません。 結論 クラウド(IaaS)にConfiguration Management Toolを導入したいならAnsibleがいいと思う ただし、クラウドをクラウドら
つい先ほど、待ちに待ったAnsible 2.0がリリース、GAされました。 Ansible 2.0 - Over the Hills and Far Away 作者の jimi-c こと James Cammarata のリリース記事があるので早速訳してみたいと思います。 (正確さについてはお察しなので、イミフなところは原文と併せてご確認ください) ANSIBLE 2.0 HAS ARRIVED (追記) 2016年1月22日現在、ソースをそのまま使う他には pip, epel-testing を使うと Ansible 2.0 を簡単にインストールすることができます。 pip : pip install ansible epel-testing : yum install ansible --enablerepo=epel-testing ANSIBLE 2.0 HAS ARRIVED 1
最近プロビジョニングにchefよりansibleを使うことが多くなってきて、その都度コピペもあんまりよろしくないので、ベストプラクティスにそった雛形を自動生成するスクリプトを作成しました。 github.com 環境 serverspec (>= 2.17) ansible (>= 2.0.0) python (~> 2.7) 使い方 usage: ansible-init [-h] -p PLAYBOOK_NAME [-b BOX_NAME] [-i IP_ADDR] [-m MEMORY] [-c CPU] オプション optional arguments: -h, --help show this help message and exit -p PLAYBOOK_NAME, --playbook_name PLAYBOOK_NAME playbook name -b BOX_NAM
Ansible 2.0 がようやくリリースされましたね。さっそく、既存の Playbook をアップグレードしてみました。公式の移行ガイドは、こちらにあります。 まず、実行してみると、次のような警告が表示されました。 [DEPRECATION WARNING]: Instead of sudo/sudo_user, use become/become_user and make sure become_method is 'sudo' (default). This feature will be removed in a future release. Deprecation warnings can be disabled by setting deprecation_warnings=False in ansible.cfg. 今まで、実行ユーザを指定するとき sudo と sudo
当記事はケーススタディの連載となっています。目次は【こちら】です。 最新のソースコードは【GitHub】で公開中です。 開発環境全体構成 OSバージョン情報 Windows 8 CentOS 7 VirtualBox 5.0.8 今回の主目的 自分のローカル環境に開発用サーバを構成し、自由にサーバの設定変更/破棄できる環境を構築することです。 構築にはサーバを直接操作するのではなく開発用サーバを準備しAnsibleにて再現可能なインフラ設定コーディングを行います。 その上で、作成したAnsible実装コードを本番サーバに対して実行する事により開発サーバにて担保のとれた設定を本番にも適用します。これで開発サーバでは設定したが本番サーバでは設定していなかった等のよくあるミスをなくす事が可能になります。 また折角サーバ設定をプログラミングで行ったのでテストに関しても、ドキュメントによるサーバ設定
After a year of work, we are extremely proud to announce that Ansible 2.0 ("Over the Hills and Far Away") has been released and is now generally available. This is by far one of the most ambitious Ansible releases to date, and it reflects an enormous amount of work by the community, which continues to amaze me. Approximately 300 users have contributed code to what has been known as “v2” for some t
インフラ自動化ツール「Ansible 2.0」正式版がリリース。リファクタリングによるアーキテクチャの整理、Block文や動的なIncludeなどの新機能 Ansibleは昨年10月にRed Hatが買収しており、Ansible 2.0は買収後初の(そしてAnsibleにとっても初めての)メジャーバージョンアップです。 参考:Red HatがAnsibleを買収した理由、同社クラウドマネジメント戦略担当が説明 Ansible 2.0では大規模なコードのリファクタリングが行われたことにより内部アーキテクチャが整理され、それに伴って新しい機能がいくつか追加されています。 Task Blocksと動的Include 1つ目の新機能としてあげられていたのは「Task Blocks」です。タスク内でBlock文を用いて処理をまとめることができます。 Blockは、Pythonやほかの言語が備えている
前書き 複数の方が「全自動Zabbix」を提案していますが 私の「全自動Zabbix」はZabbixの基本機能を組み合わせ、ノンコーディングで実装することをテーマとしています。 これは、開発環境や外部要因に依存せずZabbix単体で実現することを目指すためです。 序文 「Zabbixは設定が大変」を言われることがありますが、 そんな方は是非私が3年前からご提案している 全自動Zabbixをお試し下さい。 全自動Zabbix AutoScalingも怖くない、Zabbix自動登録 全自動Zabbix2.2&2.4 Zabbixの自動化というと、 Ansible ZabbixモジュールでZabbix設定を自動化や ZabbixAPIを用いた方法が紹介されています。 DevOpsな環境においては、こういった方法は非常に有効です。 しかしながら、必ずしもそういった環境ばかりではありません。 またク
SHU-METAL DEATH。 現在、首都高で渋滞にハマっているので、Ansibleの小ネタシリーズのストックをはきだしています。 Ansibleでサーバの構成管理を行う時、サーバに秘密鍵を配備する場合があります。 この時、秘密鍵を変数化した上でvaultで暗号化する方法が一般的に知られています(Ansible Vaultを利用して秘密情報を暗号化する)。 しかし、vaultパスワードの設定やパスワードファイルの指定が意外とメンドクサイ。 今回はvaultを利用しない方法を紹介します。 構成管理とバージョン管理 秘密鍵を暗号化しない方法を説明する前に、構成管理とバージョン管理について整理しておきます。 Ansibleなど構成管理ツールを利用するメリットのひとつは、サーバの設定を設定ファイルなどで定義し、そのファイルをバージョン管理できることです。 リポジトリでバージョン管理しておけば、変
渡辺です。 2015年はAnsible盛り上がってますね。 大規模な構成管理ツールとしては疑問の声も聞こえてきたりしますが、弊社のAWS環境構築支援のように、ある程度お決まりの設定をサクっと8分組みしたいようなケースでは本当に便利です。 そんなAnsibleが手軽に使える最大の理由は、Ansibleがエージェントレスで、対象サーバにSSH接続が可能ならば利用できるという点であることは言うまでもありません。 この辺りもAWSの環境構築とAnsibleの親和性が高い理由のひとつです。 今回のエントリーでは、そんなAWSの環境構築を行う時に、ssh_confとAnsibleを組み合わせる方法を紹介します。 SSH接続と秘密鍵 Ansibleを実行するマシンから対象のサーバにはSSH接続を行う必要があります。 すなわち、秘密鍵が必要です(鍵認証無しでSSH可能な環境は論外で...)。 秘密鍵は、s
まもなくリリースされるAnsible v2.0(rc1)を一足早く触ってみて地雷を踏んでみた。 v2.0の主な変更点 Coreのリファクタリング 新しい構文の追加(block/rescue/always) Syntax Errorがより詳細に Strategy Plugins モジュールの追加 インストール $ pip install paramiko PyYAML Jinja2 httplib2 six $ git clone -b stable-2.0 git://github.com/ansible/ansible.git --recursive $ cd ansible/ $ source ./hacking/env-setup $ ansible --version ansible 2.0.0 (stable-2.0 f241c70740) last updated 2015/1
この投稿は 「Ansible Advent Calendar 2015 - Qiita」 の 6日目の記事です。 はじめに もしあなたが Ansible 初心者で、ゆくゆくは Ansible をサーバ構築などの実戦で使ってみたいと思っているのであれば、「Ansible とは何か?」という記事から始めるのではなく、いきなり Ansible Galaxy から始めてみてはどうでしょうか? 加えて、小難しいことはいいから手っ取り早く使えるようになりたい!という人にも、Ansible Galaxy は非常に有用だと思います。 photo by write_adam まずはじめに、Ansible のことを少し説明すると、Ansible には、 ansible ansible-playbook の 2つのコマンドがあり、実戦では通常、複数のタスクをまとめて実行する仕組みを持った ansible-pla
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く