はじめに 中山(順)です 以前、弊社の大栗より、「EC2の管理を行えるSystems ManagerでgithubやS3に配置したファイルをローカルにダウンロードして実行することが可能になりました。」という内容をご紹介しました。 Systems Managerのスクリプト実行でgithubとS3をサポートしました 今回、これを応用してGitHub上のAnsiblePlaybookをEC2インスタンス上で実行させてみました。 おさらい "AWS-RunRemoteScript"でやっていることは、以下の2つです。 コンテンツ(スクリプトなど)のダウンロード https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-plugins.html#aws-downloadContent コマンドの実行 (Windows) htt
この記事はNIFTY Advent Calendar 2016 20日目の記事です。 昨日は二つの意味で自分の同僚である@megane42さんのアイドルに囲まれて仕事がしたかったという記事でした。 最近@megane42さんからアイドル駆動開発という素晴らしいライフハックを教えていただき、自分も開発で合法的(?)に担当アイドルのダイレクトマーケティングがしたいと思っている今日この頃ですが、今回は全く関係ない話です。謹んでお詫び申し上げます。 はじめに 自分が所属している部では自前でvCenterを持って運用していて(社内では珍しい(?)脱ニフティクラウドです)、サーバーの構成管理をするために以下のものを使っています。 serverspec ansible vagrant-vsphere 本日はこれらをどのように活用してテスト駆動サーバー運用を行なっているかを書きます。 テスト駆動サーバー運
Ansible の Jinja2 を活用する これは Ansible Advent Calendar 2015 の 12 月 7 日 (月) の記事です。 Ansible では組み込みのテンプレート言語として Jinja2 が利用できます。 この記事では Ansible の Jinja2 を駆使して リストやディクショナリを含む複雑なデータ構造を操作する方法について 追求してみたいと思います。 Ansible の Jinja2 ドキュメント Ansible のドキュメントでは、 Jinja2 の利用については次のページで軽く触れられている程度で、 あまり参考になる情報は得られません。 Jinja2 Filters Conditionals Variables 本格的に使いこなしたければ Jinja2 のドキュメントを読む必要がありますが Ansible からの利用に関しては次のページの情報
Ansibleのroleを実際に使ってみてわかったことを共有します。さらに便利に活用するtips等ありましたら、ぜひコメントをお願いします。 Ansibleのroleは単にインクルードの単位 最初roleという名前を聞いたときは、webserverとかdbserverといった役割を設定するのだろうと予想しました。が、Rolesのドキュメントを読んで、playbookの一部をインクルードして再利用するための仕組みだということがわかりました。つまり、playbookを分割・構成するコンポーネントという意味合いです。 もともとroleはなくてincludeの仕組みだけありましたが、より便利にするためにroleという仕組みが追加されたという経緯のようです。 例えばnginx, mysqlといった単位でroleを定義するのが良いです。さらにmysql/clientのように階層的なrole名を用いるこ
バージョン: 1.4.2 Box: CentOS 6.5 (S3に用意) VertualBox: 4.3.4 共有フォルダ: Vagrantのsynced_folder (NFSは未使用) Ansible: バージョン 1.4.3 ディレクトリ構成: [ベストプラクティス] ベストプラクティスに沿ってプレイブックを作成すると、新しいロールの追加や不要になったロールの切り離しも簡単になります。 どんなテストをやったのか大きく分けて下の4つのテストを実施しました。それぞれのテストにどんな目的があるか、ちょっとだけ効率よくテストする方法と合わせて紹介します。 ロール単位で繰り返し実行するテスト 全体を通してのテスト 再起動するテスト 人柱テスト ロール単位で繰り返し実行するテストまずは粒度の小さいテストについて紹介します。 VagrantとAnsibleで作る開発環境をチームへ配布して運用を開始
Ansible と Mackerel API を組み合わせて、1000台規模のサーバ群に対して同時にパッケージの更新やその他のサーバオペレーションのための方法を紹介します。 タイトルに Mackerel とありますが、それほど Mackerel に依存しない話です。 (AnsibleとDockerによる1000台同時SSHオペレーション環境 - ゆううきブログに続編を書いています。) 背景 社内では、サーバ構成管理ツールとして Chef を使用しています。 Chef Server は運用が大変なので使用しておらず、knife-solo と Mackerel APIを組み合わせてホストと Chef role とのマッピングに Mackerel のロール情報を用いています。 また、Mackerel の Ruby クライアントを利用して recipe 内で API を叩いて、Mackerel か
(翻訳): Ansibleを使ったデプロイに関する一考察¶ (訳注: この記事は Thoughts on deploying with Ansible の翻訳です。著者のRamon de la Fuente さんから許可を得て、翻訳・公開しています。元記事の公開は2014年6月ですが、2015年1月現在にも通用する話だと思います) 私たちのデプロイ手順を簡単にするために Ansible で roleを書きました(以前は Capistrano を使っていました)。このroleは今やかなり完璧で、本番環境に使い始めています。しかし作り始めた当初はいくつかの点で議論する必要がありました。今回みなさんとその議論を共有しようと考えたわけです。 デプロイとは?¶ 最初に "デプロイ" を定義しましょう。デプロイするとき、ユーザーはすでに "Provisioning" を終えており権限なども適切に整って
Ansibleのディレクトリ構成を決める際、プロダクション環境、ステージング環境、開発環境といった環境ごとに異なる設定を変更する方法でしっくり来るものを思いつかず、どうしたものかと悩んでいたのですが、今日見つけたブログ記事でそれもスッキリ解消したのでメモっておきます。 結論 まず結論を。プロダクション環境、ステージング環境、開発環境といった環境ごとに異なる設定する場合は、以下のように対応するのが良さそうです。 ディレクトリ構成は、公式ドキュメントに従う。 Best Practices — Ansible Documentation プロダクション、ステージング、開発など、ステージごとの変数切替は以下のブログを参考に、"group_vars"を利用して行う。 インベントリファイルの中に、"[production:children]"のようなグループすべてが属するグループを作ってしまい、そのグ
Ansibleのアーキテクチャー: 構成管理を超えて¶ すでに2月ほど経っていますが、2013/11/29にAnsible WorksのCTOであるMichael DeHaanさんが、 Ansible’s Architecture: Beyond Configuration Management という記事を書いています。 この記事はAnsibleのアーキテクチャを説明するのにとても良い記事だと思いましたので、DeHaanさんの許可を得て、翻訳したものを公開します。 ただ、いかんせんこの人は一文が長いのと言い回しが詩的で意味が取りにくいのとで、うまく訳せていないところが多々あります。間違っている箇所がありましたらご指摘ください。 Ansibleのアーキテクチャー: 構成管理を超えて¶ Ansibleがなにものなのか、というあまりよろしくない議論があり、とても奇妙 だったので、ここでAnsi
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く