「Ansible Meetup in Tokyo 2016.06」での発表資料です。 http://ansible-users.connpass.com/event/31222/
テストしてますか? 渡辺です。「進捗どうですか?」のダメージは計り知れないことはご存じかと思いますが、「テストしてますか?」のダメージも侮れません。 前者はほぼ全てのエンジニアに有効なアタックですが、後者はそれなりの経験を積んだエンジニアにしか有効でない点は異なりますね...。 さて、Ansibleを運用してくるとなれば、どうしても「どうやってテストをすべきか?」という問題にぶち当たります。 そこで、Ansibleを運用する中でのテストの考え方についてまとめておきます。 Ansibleの考え方とテスト Ansibleのような宣言型の構成管理ツールが登場するまで、サーバ構築の自動化といえばセットアップスクリプトの実行でした(自動化されていない場合は、ひとつひとつコマンドを打ち込んでいたでしょう)。 例えば、CloudFormationのcfn-initのUserDataでは次のようなセットア
この記事は Ansible 2 Advent Calendar 2019 24日目 の記事です。 自己紹介+この記事の説明 サーバーサイドのインフラの設計や構築周りをやっているあんでぃーと申します。 どちらかというと大手(?)SIerに勤めています。 弊社では、一昨年〜去年あたりから色々なプロジェクト(以下PJ)で「Ansibleを使いましょう」という指令が発射されるようになりました。 それまでのやり方はウォーターフォール型で、 Excelで設計書作ってレビューして Excelで構築手順書を作ってレビューして 単体テスト仕様書を作ってレビューして 構築手順書と設計書を見ながら実機をカチャカチャして構築して 単体テスト仕様書と設計書を見ながら実機をカチャカチャして正しく構築されてることを確認して といった感じのまごころドリブンなやり方です。 まぁ複数人でシステムを作るにあたっては一般的(であ
多種多様な構成のサーバーを Ansible で管理する場合、単一のベストプラクティスツリーに押し込むのは管理が大変すぎて現実的ではないなとおもい、どうしたものかなと悩んでいました。で、最近やっとこれかなという構成ができたので共有してみます。 何が問題か? ロールには共用できるものとできないものがある、それがいっしょこたに混ざるのが嫌 無理に共用できるようにと変数を多用するととても管理が大変。変数も覚えられないし、テストが大変 読み込むファイルのパスが大元のymlからの相対パスであり、include ではディレクトリ階層での整理が難しい -l で対象サーバーを絞り込んでも全てのタスクが表示され、skipped, skipped, skipped と関係ない task 表示がターミナルが埋まって見づらい そして、たどり着いたオレオレベストプラクティス まとめて管理したいサーバーグループ毎にベス
[業務で使える!]Kubernetes(Docker)、Ansibleを使った機械学習基盤の構築自動化(ベアメタル)メモ機械学習DockerAnsible人工知能kubernetes はじめに 久しぶりの投稿です。 今回は社内で使っている機械学習機の自動構築基盤の構築メモになります。 twitterやってます。 フォローお願いします。 ※※※ 人工知能で競馬予想sivaを運用しています。 連対的中率 : 約 86% 回収率 : 約 136% 今回の環境構築はGAUSSのインフラチームで構築しました!! @monkeydaichan @tsukasa1301 今後もどんどん記事更新していきますのでフォローよろしくお願いいたします。 また、アプリチームはTypescript + ReactでAPIとSPAの新フレームワーク構築してますので、そちらもQiitaに書きます!! 目的 以下の二点を目
イベント名: Ansible Meetup in Tokyo 2015.09 開催日時: 2015-09-14(月) 会場: 日経ビル6F 日経カンファレンスルーム(大手町) Webサイト: Ansible Meetup in Tokyo 2015.09 - connpass 最近、Ansibleを業務で使い始めて色々調べていたところに、ちょうどAnsible Meetupが開催されたので参加してきました。去年も9月に開催されていて、2回目みたいですね。 今回の目玉は、僕も参考にさせて頂いた「入門Ansible」著者の若山史郎さん(@r_rudi)による、Ansible 2.0の新機能・変更点紹介でした。Ansible 2.0についての情報をコンパクトにまとめて紹介してくれて勉強になったので、僕のように2.0系の予備知識ゼロの人にはスライド資料(と以下のメモ)をおすすめしたいと思います。あ
Ansible 1.9がリリースされました¶ 2015年3月25日にAnsible 1.9がリリースされました。結構な量が追加・変更されていますので、ここでリリースノートを訳してみなさまのお役に立てればと思います。 基本的に互換性が確保されていますので、playbookを書きなおす必要はないと思います。ただし、gitモジュールなどのバージョン管理システム用のモジュールでローカルに変更があると失敗するという、安全側に倒した変更がされていますので、その点でplaybookを変更する必要があるかもしれません。 なお、1.9は1系の最後のリリースとなります。大幅に書きなおされたAnsible 2.0は近いうちに出る予定です。 リリースURL: https://github.com/ansible/ansible/blob/devel/CHANGELOG.md#19-dancing-in-the-s
はじめに 受託開発において、比較的小規模なフルスクラッチのWebシステムを開発する場合、インフラ関連の工数の中でWeb/アプリケーション(AP)サーバの構築に対する工数が比較的多くなってきます。 また、複数のプロジェクトにおいて、同じような作業を繰り返し実施する必要があり、手作業で構築を実施する場合、繰り返し実施する中で手順書が修正され続け、いわゆる「秘伝のタレ」となり再現性が失われるケースが多々あります。 本稿では、開発環境及び本番/ステージング環境において、Web/APサーバを構築する際に「再現性があり」「繰り返し利用が可能で」「短時間で構築が可能な」方法として、Ansible、Vagrant、Packerを用いた実践方法をご紹介します。 Ansible、Vagrant、Packerの役割 Ansible、Vagrant、Packerは既に多くの事例でも採用されているため、ご存知の方も
はじめに 大体使うモジュールっていつも一緒だったのでまとめてみました。 また、ansibleでスクリプトを作るときのちょっとしたノウハウなども書いていますので参考にして頂ければと思います。 環境 ansible 1.9.1~2.2.0.0-1 target OS CentOS6.6,RHEL6.6 インストールの仕方 基本的にはこちらのエントリを参考にしていただければすんなりインストールできるはずです。 windows7 32bit / Proxy環境下でVagrant+Ansibleの環境を構築する。 また、Ansible Tutorialをたどることでapacheのインストールとserverspecの使い方まで簡単に知ることができます。 情報源 慣れてくると公式サイトくらいしか見なくなりますので、Module Indexをブックマークしておきます。 コーディング規約 こちらのエントリー
ようやく自宅サーバや開発環境仮想マシンの構築手順を Ansible 化した。 この手のツールはハマりポイント+よく使うイディオムを抑えるのが大事。Pythonプロダクトらしく非常にドキュメントが充実しているのだけど、充実しすぎているのでポイントを自分のためにもまとめておくことにする。 例はおもに Ansible のドキュメントから引用させていただきました。 設定ファイルを書きかえる(一行) lineinfile モジュールを使う。使い方は以下のような形になる。 1name: enalbe sudo without password if user belongs to the wheel group 2lineinfile: "dest=/etc/sudoers state=present regexp='^%wheel' line='%wheel ALL=(ALL) NOPASSWD:
PythonやJavaでコードを書く場合、コードカバレッジの測定は、よくやりますよね。最近、Ansibleでもコードカバレッジを測りたくなったのですが、それらしいツールがなかったので、作ってみました。名前はKirbyです。今回はKirbyがどんなツールなのか紹介してみます。 ks888/kirby · GitHub どんなことができるのか Kirbyは、AnsibleのPlaybookやRoleに対して、タスクレベルのカバレッジを測定するツールです。 例えば、次のようなPlaybookと、Serverspecのテストがあったとします。Playbookでは2つのタスクを実行しています。Serverspecのテストでは、Playbookの一つ目のタスク(create dir1)に対するテストをしています。 ~/src/kirby_demo% cat create_2dirs.yml --- -
最近はAnsible + Packerの組み合わせでAMIを作ることが増えてきました。毎回Ansibleを書き換えるごとにpackerコマンドを実行するのは面倒なので、最近はJenkinsを利用してAMI作成を自動化するようにしています。今日はそのご紹介です。 Jenkins + Packer環境の構築 Jenkins + Packerの構築は既に@ryuzeeさんがブログで大変丁寧に解説されていますので、そちらの手順を実施するだけで十分でしょう。私も大いに参考にさせて頂きました。ありがとうございます。 Jenkins + PackerでAMIを継続的インテグレーションする Jenkinsの準備ができたら実行する準備をしましょう。まず、プロジェクトのディレクトリ構成は以下のようになっています。 drwxr-xr-x 8 mochizukimasao staff 272 3 19 14:44
Ansileシンプルで好きで使ってますが、たまにパフォーマンスが気になってました。 つい先日Ansibleの公式ブログにパフォーマンスチューニングのtipsが書かれてたので自分が知らなかったところを中心に紹介します。 常識的なものも多いかもですがご容赦ください。 パッケージインストールを効率化する yumとかでパッケージインストールとかするならローカルのMirrorレポジトリを使おう。 reposyncとか使うと簡単にMirrorが作れて良い。 複数パッケージのインストールはwith_itemsを使って一つのトランザクションにしよう。 forksで並列度を設定する 同時にAnsibleのタスクが走るのはforksで決まる。 デフォルトは5だけど保守的なので増やした方が良い。50とかでも良いし、500以上にしてるケースもある。 Ansible1.3からはどんなに増やしても設定対象ノード数を超
Join our daily and weekly newsletters for the latest updates and exclusive content on industry-leading AI coverage. Learn More Publicly traded enterprise software company Red Hat has acquired devops software startup Ansible for more than $100 million, VentureBeat has learned. Red Hat will announce the news as soon as tomorrow, a source familiar with the matter told VentureBeat. Update (5:52 a.m. P
2018年1月9日(火)、新年一発目のイベントとして、恵比寿にて以下の勉強会に参加してきました。 新定番!Ansible とZabbixで実現する次世代運用管理 - connpass AnsibleもZabbixもトーシローの自分ですが、それぞれの良いところを撚り合わせた非常に内容の濃い勉強会で、ぶっちゃけむっちゃ楽しかったので、その様子をお届けいたします。 __ (祭) ∧ ∧ Y ( ゚Д゚) Φ[_ソ__y_l〉 Ansible,Zabbixダワッショイ |_|_| し'´J レッドハット様提供の会場の様子 会場は、レッドハット株式会社様提供の恵比寿ネオナート5階セミナー会場。定員が80名だけあって、なかなかの広さです。 受付にはお菓子が!ありがたい。早めに着いたので沢山ありました。空気を読まずに5個ほどつかみ取り。 会場手前入口付近にAnsibleTシャツプレゼントコー
この記事はPuppet Advent Calendar 2015の14日目の記事です。 昨日はおっくんのPuppetの予約語 $name と $titleでした。 書いている人 Puppetはペパボで6年間、複数のサービスインフラ用に書いてきた。社内で一番書いたかも 新規やら導入やら引き継ぎやらいろいろ オンプレもクラウドもある AnsibleはQuipperで2ヶ月ちょい。既ににあるのに書き足したりリファクタリングしたり 当然だけど2ヶ月ずっとそれだけやってたわけではないです EC2オンリー 経験値が全然違うけど、できるだけ公平に評価してみるつもり。 尚、Puppet、Ansible以外は語れるほど使ったこと無いので言及しません。 結論 クラウド(IaaS)にConfiguration Management Toolを導入したいならAnsibleがいいと思う ただし、クラウドをクラウドら
Red Hat Debuts Ansible 2.1, with Network Automation, Containers, Microsoft Windows, and Azure | Red Hat Ansibleは昨年10月にRed Hatが買収、今年の1月にはメジャーバージョンアップとなる「Ansible 2.0」がリリースされ、2月にはサーバのソフトウェア構成だけでなくネットワーク機器に対する構成の自動化機能も発表されていました。 今回のAnsible 2.1では、WindowsおよびMicrosoft Azure対応の強化、Docker Compose対応、そして40種類以上のネットワーク機器に対する正式対応などが行われました。 Windows対応では、Windows file sharing、Windows Firewallへの対応、Kerberosによる認証対応、システ
DevOpsの採用は大企業が先行、DockerとAnsibleの利用は1年で倍増。RightScaleがDevOpsの調査結果を発表 マルチクラウドに対応したマネジメントサービスを提供している米RightScaleが、DevOpsに関する調査結果を発表しました。調査対象は1060人のITプロフェッショナルで、うち42%が1000人以上の大企業に勤めています。 調査結果では、大企業の方が中堅中小よりもDevOpsの導入が進んでいること、Dockerの利用が急速に立ち上がっていること、ChefとPuppetを両方採用している企業が多いことなどが示されています。 主な調査結果のグラフを見てみましょう。 大企業(Enterprise)と中堅中小(SMB)では、大企業のDevOps採用が81%、中堅中小では70%と、大企業の方がDevOpsの採用が進んでいることが分かります。 利用しているDevOp
こんにちは。Backlog のSite Reliability Engineering (SRE) を担当している吉澤です。 AWS アクセスキーを含むコードを GitHub の公開リポジトリにプッシュしてしまい、そのアクセスキーがビットコインの採掘に使われて AWS から高額請求が来た!という話をたまに目にします。今年の2月に検証された方(GitHub に AWS キーペアを上げると抜かれるってほんと???試してみよー!)によると、git push から13分で不正利用開始されたらしいです。怖いですね……。 Backlog のソースコードは Backlog の提供する Git リポジトリで管理しています。Backlog の Git にはリポジトリの公開機能はないので、AWS アクセスキーをプッシュしたからといって即座に悪用される可能性は低いです。とはいえ、漏洩時の影響が大きいため、AWS
スクラム崩壊からの復活、神Excel手順書ベースの運用からAnsibleでの自動化へ――泥臭い現場の取り組みに学ぶ、明日から使える開発ノウハウ:明日の開発カンファレンス 2018(1/2 ページ) より良いサービス、より良いモノを作るため、現場で泥臭く試行錯誤を重ね、前進し続けている現場のエンジニアの「声」を、「明日の開発カンファレンス 2018」で行われたセッションの中から拾ってみた。 より良いサービス、より良いモノを作るため、開発現場は日々試行錯誤している。書籍で学ぶ方法論も大いに役に立つが、何より参考になるのは、自分たちと同じように現場で泥臭く試行錯誤を重ね、前進し続けている現場のエンジニアの「声」だ。そのような生の声を、2018年4月17日に開催された「明日の開発カンファレンス 2018」で行われたセッションの中から拾ってみた。 黄ばむTrello、崩壊するスクラム……次々変わる異
最近、サーバーの設定作業などを自動化するChefなどのツールがよく話題になっている。はてなブックマークでのブックマーク数などを見る限り、Rubyで実装されているChefが日本では人気のようだが、それ以外にも同様のツールとして同じくRubyで実装されたPuppetやPythonで実装されたAnsible、Saltといったソフトウェアがあり、これらを比較したレビュー記事がInfoWorldに掲載されている(本家/.)。 記事では4つのツールそれぞれをAvaliabillity(可用性)、Interoperabillity(相互運用性)、Management(管理)、Scalabillity(スケーラビリティ)、Performance(性能)、Value(価値)の6項目で評価したスコアが掲載されており、トップはPuppet、続いてSalt、Chef、Ansibleという序列になっている。 詳しく
Ansibleのroleを実際に使ってみてわかったことを共有します。さらに便利に活用するtips等ありましたら、ぜひコメントをお願いします。 Ansibleのroleは単にインクルードの単位 最初roleという名前を聞いたときは、webserverとかdbserverといった役割を設定するのだろうと予想しました。が、Rolesのドキュメントを読んで、playbookの一部をインクルードして再利用するための仕組みだということがわかりました。つまり、playbookを分割・構成するコンポーネントという意味合いです。 もともとroleはなくてincludeの仕組みだけありましたが、より便利にするためにroleという仕組みが追加されたという経緯のようです。 例えばnginx, mysqlといった単位でroleを定義するのが良いです。さらにmysql/clientのように階層的なrole名を用いるこ
弊社でのansible活用例について記事にしてみました。 本記事は弊社での運用例なので、どの組織にも適用できるかは分りませんが、何かの参考になれば幸いです。 目次 リポジトリの作り方 2種類のリポジトリを作成する 利用例 playbook作成規約 READMEに以下のことを書く 設定できる変数はroleリポジトリのdefaultsに書く roleリポジトリの変数は role名 + _(アンダーバー)で始める 運用時のコツ ansibleで設定したサーバをどう管理するか 汎用的にしようと無理をしない roleの切り出し方について サーバのコピーに使わない よく分からないroleは実行しない まとめ リポジトリの作り方 最初に、ansibleのリポジトリをどのような方針で作っているかを書きます。 2種類のリポジトリを作成する まず作業のためにansibleのplaybookを保存するリポジトリ
Ansible Tower Red Hat の杉村です。Ansible のテクニカルサポートエンジニアをしています。この記事は、Ansible Advent Calendar 2018 の 22 日目の記事です。 Ansible は日々進化を続け、さまざまな種類のサーバやネットワーク機器に対応するようになりました。Ansible で使われている技術について、一言二言で軽く紹介していこうと思います。 Core components YAML Jinja2 Inventory Static Dynamic Variables Facts Vault Role Galaxy Python modules Playbook 接続方式 SSH WinRM Network 認証方式 SSH Windows Ansible Tower / AWX Django RabbitMQ Celery Memca
直近ではDocker製ツールを用いた複数サーバへのコンテナの展開を考えていたのだが・・・ blue1st-tech.hateblo.jp 常々書いているようにホスト側のCentOS7とは相性が悪いところもあり、 またトラブル時の対応方法や他のメンバーへの周知に不安があるところ。 それに今回の案件ではマルチホストネットワークやスケーリングは必要ではないわけで、 あえて新しいツールを無理に使うよりも、 サーバのセッティングの際に使用しているAnsibleを用いた方が学習コストも抑えられるしシンプルで良いと判断した。 なにより、インフラ側と開発側が共通のツールに親しんでおくことは実運用においてメリットが大きいように思う。 Vagrantで実験環境を準備 Vagrantfileを作成し、とりあえず二台ほどCentOS7サーバを用意する。 Vagrant.configure(2) do |confi
はじめに この記事はAnsible Advent Calendarの23日目の記事です。 今回は、Ansible(というか構成管理ツール全般)を知らない人向けにゆるくAnsibleを紹介してみたので、報告します。 12/17のKawasaki.rb+αでの発表です。 発表者の構成管理ツール歴 Ansible 軽く2, 3回Playbookを作った程度 大勢にバラまくのはやったことない(2台くらい) Chef Chef系の本を買っていろいろ試したことはある けど、小さい規模で使うにはオーバースペック感、縛りがきつい環境で使うには政治が必要で、けっこうくじけた Chefがつらい人のためのAnsibleのはなし - ゆううきブログ もうちょっとシンプルに行けそう 聴講者の構成管理ツール歴 初見の人 Chef使ったことある(聞いたことある)人 Ansible使ったことある(聞いたことある)人 上か
VagrantでCentOSの仮想環境を作ってAnsibleで遊ぶ Vagrantは今更説明するまでもないけど、仮想環境の作成や起動・破棄を自動化したりするツール。VagrantはChefやAnsibleといったようなプロビジョニングツールとも連携可能なのでそれも少し。 Vagrantで仮想環境を作る 自身には仮想化する機能を備えておらず、仮想化ソフトウェアとしてVirtualBoxやVMWareなどを使う。今回はVagrant + VirtualBoxでCentOSの仮想環境を作ってみる。 以下のサイトに環境ごとのインストーラがあるので、ダウンロードしてインストールする。 Vagrant Oracle VM VirtualBox CentOS 6のBoxファイルをダウンロード 今度はどのOSで仮想化するか決める。VagrantではOSイメージをBoxと呼ばれる形式で管理する。有志で配布さ
こんにちは!インフラチームの高畑です! ついに新年度を迎えぼく自身も入社 2 年目となってしまいました。 後輩も入社してきたのでより一層気合い入れて業務に取り組む必要性をひしひしと感じています。 さて、今回はウィルゲートの各サービスを陰ながら支えている Ansible を共通化したお話をいたします! これまでの Ansible リポジトリ運用 ウィルゲートではこれまで、サービスが新規で立ち上がるたびに Ansible リポジトリを作成してサーバ構成を行ってきました。 Ansible リポジトリ一覧 各サービスごとに LDAP の設定や SSH の設定、Webサーバの設定などを Ansible で行っているのですが、使いまわせる role についてもそれぞれで用意しており一つ変更が入れば全てのリポジトリを修正しなければならない状態となっていました。 これらの問題を解決するため、 Ansibl
This document provides an overview of the Ansible automation tool in Japanese. It discusses Ansible's ability to configure Linux, Windows, network devices and cloud infrastructure. It also mentions Ansible modules for various services and platforms, and links to documentation resources for getting started with Ansible playbooks.Read less
「マニュアルやシェルスクリプトを使ったサーバ管理に課題を持つ方」を対象に、Ansibleの基本的な使い方を紹介する本連載「Ansibleで始めるサーバ作業自動化入門」。前回の「プレイブックを再利用しやすくするRoleの基本と共有サービスAnsible Galaxyの使い方」では、Ansibleの推奨ディレクトリ構成である「Role」と、全世界のAnsibleユーザーがRoleを共有する仕組みである「Ansible Galaxy」を紹介しました。 Ansible Towerとは 今回は、Ansibleの実行をWebブラウザから管理できるようにするツール「Ansible Tower」を紹介します。 Ansible Towerを利用することで、プレイブックの実行をスケジューリングしたり、ユーザーに特定のプレイブックの実行のみを許可するような権限制御を行ったりすることができます。これは、例えば「客
渡辺です。 クラスメソッドのAWSチームは基本的に自分が使いやすいツールを選択するので統一されていません。 が、誰からいいね!と推しはじめると流行していく、そんな雰囲気です。 Ansible AnsibleはChefなどと同じ構成管理ツールのひとつで、AWSチームではAnsibleを使う人が多くなってきました。Ansibleの紹介は、構成管理ツール Ansibleを使ってみるを読んでみてください。 Packer Packerも広義には構成管理ツールですが、マシンイメージを作成するためのツールです。 AWSで言えばEBSマシンイメージを作るのに利用できます。 Packerについては、PackerでAmazon LinuxのAMI(Amazon Machine Image)を作成するを参照ください。 PackerでAnsibleによる構成管理 Packerはマシンイメージを作成するためのツール
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く