タグ

ブックマーク / heartbeats.jp (11)

  • Amazon EC2のバックアップツール go-create-image-backupを公開しました - インフラエンジニアway - Powered by HEARTBEATS

    こんにちは。技術開発室の與島です。 2021年2月注記: ツールの保守は終了しました。バックアップ用途にはAWS Backupのサービスをご利用ください。 先日GitHub - heartbeatsjp/go-create-image-backupを公開しました。 go-create-image-backupは、Amazon EC2のバックアップとしてAMI(Amazon Machine Image)の作成と世代管理を行うツールです。 もともとは、同様の機能をもつPython2で書かれたツールが社内で利用されていたのですが、デプロイ作業を省力化するためにバイナリで配布できるGoで作り直しました。 今回はこちらのツールについて紹介したいと思います。 デモの実行環境 以降のデモは以下の環境のEC2インスタンスで実行しています。 また、必要なIAMポリシーが付与されたIAMロールがEC2インス

    dann
    dann 2018/12/31
  • Python+SSHな自動化・デプロイメントツールFabricを活用するTips

    こんにちは。CTOの馬場です。 みんな大好きFabricのTipsです。 Welcome to Fabric! -- Fabric documentation よくデプロイツールとして紹介されますが、 自動化のためのPython+SSH+コマンド実行フレームワークとして柔軟に使えて超便利です。 基的には 手元でのコマンド実行 SSHごしのリモートサーバでのコマンド実行 SSHごしのリモートサーバでsudoしてコマンド実行 ができるツールなのですが、使い方の例を紹介します。 間違いなどあればお近くのハートビーツ社員か @netmarkjp に教えていただけると嬉しいです。 Python 2.7.10 + Fabric 1.10.2 + Paramiko 1.15.2で動作確認しました。 複数のサーバに対して同じユーザ・パスワードでログインする ユーザ名やパスワードを一括指定できます。 鍵認

    Python+SSHな自動化・デプロイメントツールFabricを活用するTips
    dann
    dann 2015/07/03
  • ohaiを使ってサーバの情報をプログラムで扱おう

    斎藤です。こんにちは。 今日は、Chefをインストールすると共に入るohaiを用いて、サーバの情報をプログラムで扱ってみます。 ※ohaiは6.16(github版)を用いています ohaiとは もともと、Chef Client/Chef Soloが実行環境の情報を取得するためのライブラリです。ただ、単独でもライブラリを使用したり、コマンドを実行する事で、Chefと同様に情報を利用する事ができます。ポイントは、外部コマンドの結果を内部でパースしてプログラムで扱いやすい形にできます。まさに、パーサーライブラリですね。 ohaiがなければ、コマンドでサーバの環境(例えば"df")の情報を取得しようとする時、コマンドの結果を取得した後に「お手製」のパーサーでプログラム内で活用できるようにしなければなりません。これが、"df"のほうに簡単なものならまだしも、"ip addr show"のような設定

    ohaiを使ってサーバの情報をプログラムで扱おう
    dann
    dann 2013/06/13
  • MySQL を MHA + HAProxy で冗長化してみよう

    斎藤です。こんにちは。 今日は、MySQLにてレプリケーション構成において、マスタサーバのフェイルオーバーを司るmysql-master-ha(以下、MHA)を用いる際、マスタサーバ接続先の切り替えにHAProxyを使ってみようというお話です。 ※MHAは0.53.0(公式パッケージ)、MySQLは5.5.25a(Oracle公式パッケージ)、HAProxyは1.4.22(CentOS6標準パッケージ)、OSはCentOS 6.3 x86_64を用いました。 ※MHAによる冗長化およびHAProxyによるMySQLの負荷分散の設定を経験された事がある前提で記述します。 記事では、次の流れで話題を展開します。 フェイルオーバー時の接続先切り替え方法 構成(参考) なぜHAProxyなのか 切り替え方 2台構成の問題点 その他 コツ 設定(参考) 主にMHA+HAProxyによるフェイルオー

    MySQL を MHA + HAProxy で冗長化してみよう
  • 今後の負荷を RRDTool を使って予測してみよう

    斎藤です。 今日は、RRDToolを使って、今後かかる負荷を手軽に予測する方法をご紹介します。あわせて、プログラムと連携して性能限界を越えそうなサーバがあるかを判定してみます。人手ではまかないきれない数のサーバに対して、一台ずつ問題の予兆を調べるときなどにお試しください。 ※CentOS 6.3 (64bit) + RRDTool の2013/2/20頃の最新ソースを用いて試しています 「限界」を早く知りたい! ITインフラを運用している方の多くは、Cacti, Munin等で負荷を日々モニタリングされているかと思います。モニタリングしたデータを用いて今後を予測する際、どのようにされていらっしゃいますでしょうか?描かれたチャートの動きをもとに、経験と勘を駆使して「ヨイショ!」っとされている方も、いらっしゃるのではないでしょうか。 特に、ディスク容量やネットワークトラフィック等、根的な対策

    dann
    dann 2013/02/21
  • Upstart を使ってお手軽 daemon 化

    こんにちは。斎藤です。 手元でちょちょいと作ったプログラムや、 init スクリプトの無いOSSを daemon として動作させ続けたい事、ありませんか?そんなときに便利なのが Upstart です。daemontoolsの代わりとしても使えます。 今回は設定方法を中心に、解説していきます。 ※CentOS 6.3 (x86_64) で検証しています はじめに Upstart とは何か UpstartのWikiによると、"/sbin/init"デーモン(例えばSysVinit)を置き換えるものであり、イベントベースでタスクやサービスを起動・停止できるようにしたものである、と述べられています。また、特徴として、SysVinitと比べ「設定が簡単」「起動が早くなる」などが挙げられています。 Upstart のメリット 3つのメリットがあると、私は考えています。 起動・終了制御が容易 仮にABE

    Upstart を使ってお手軽 daemon 化
    dann
    dann 2013/02/11
  • ChefでCookbookを作成するときのちょっとしたコツ 9選 - インフラエンジニアway - powered by HEARTBEATS

    こんにちは。斎藤です。 Chefで構築の自動化ができる事はわかっていても、Cookbookをどう記述すればいいのかピンとこない場合があります。そんなときに使えそうなコツをピックアップしてみました。 「Chefを使ってみたいけどいまいちとっかかりがわかりづらい」「あれ、これはどうやるんだ?」、そんなときにご覧頂けたら幸いです。 ※Chef 10.16.2で確認しました。また、RHEL, CentOSで利用する事を前提に説明しています。 Cookbookに同梱したRPMファイルから直接インストールする cookbook_fileとpackageリソースを組み合わせて実行します。 下記の例は、MySQLサーバをRPMファイルを用いてインストールします。 "MySQL-server-5.5.29-1.el6.x86_64.rpm"ファイルをあらかじめ "files/default" 内に保存します

    dann
    dann 2013/01/28
  • DELLのサーバでCentOS6でLVS+keepalivedなロードバランサを構築したらハマったりした話

    みなさんどうもこんにちは。CTOの馬場です。 最近DELLのサーバ(R410)で、CentOS6.3を使ってLVS+keepalivedなロードバランサを構築したら 見事にハマったりしたので記念ポスト。 ちょっと長いので、一番のドハマリだけ見たい方は最後の「通信速度が著しく遅い件」だけでも見ていただけるとよろしいかと思います。かしこ。 eth0、eth1がない件 いやー。びびった。まじでびびった。 インターフェース名がem1、em2になってます。きもい。 このあたりを参考に対応します。 Getting back to using eth0 in Fedora 15 /boot/grub/grub.conf に biosdevname=0 追記 /etc/udev/rules.d/70-persistent-net.rules の NAME を変更 /etc/sysconfig/networ

    dann
    dann 2012/10/01
  • UnboundとDNSラウンドロビン

    今回はキャッシュネームサーバのUnboundがDNSラウンドロビンに対応したので、UnboundとDNSラウンドロビンについて紹介します。 姉妹編『NSDとDNSラウンドロビン』もご覧ください。 Unboundとは DNSサーバのソフトウェアとしてはBINDがデファクトスタンダードのような位置づけになっていますが、BIND以外にも様々なDNSサーバのソフトウェアがあります。その中の一つとしてUnboundがあります。 UnboundはオランダのNLnet LabsのW.C.A. Wijngaards氏が中心となって開発が行われています。2008年5月20日の正式リリースから4年近く経ち、今では代表的なキャッシュネームサーバのソフトウェアの一つとなっています Unboundについての詳細は以下のサイトをご覧ください。 Unbound | 日Unboundユーザー会 Unboundの紹介 D

    dann
    dann 2012/05/28
  • nginx連載5回目: nginxの設定、その3 - locationディレクティブ

    locationディレクティブはパスの条件が評価されて選ばれたものが適応されます。この条件はパスの文字列の前方一致あるいは正規表現による評価です。この評価の順番は以下のようになります。 前方一致("=", "^~", プレフィックスなし)の条件の評価を実施 最も一致する条件を選ぶ。 選ばれた条件が、完全一致で、プレフィックスが"="であれば、そこで評価を終了し、そのlocationディレクティブを適応する。 選ばれた条件のプレフィックスが"^~"であれば、そこで評価を終了して、そのlocationディレクティブを適応する。 正規表現("~", "~*")の条件の評価を実施 正規表現の条件を設定ファイルに定義した順番に評価する。一致したら、そこで評価を終了して、そのlocationディレクティブを適応する。 前方一致の評価で選ばれた条件のlocationディレクティブを適応する。 ここで注意

    nginx連載5回目: nginxの設定、その3 - locationディレクティブ
    dann
    dann 2012/04/24
  • 超期待の新機能cgroups

    こんにちは。CTOの馬場です。 今回もインフラエンジニア向けにちょっとした情報を紹介します。 今回は、先日参加した レッドハットフォーラム 2010 で紹介されていた cgroups について紹介します。 ※注:ざっくりとした理解で書いているので、誤りがあれば指摘してもらえると嬉しいです! ここが理解が違う、こんな使い方もあるよ!などの情報は、twitterで @heartbeatsjp @hbstudy @toshiak_netmark あたりに教えてもらえると嬉しいです。 cgroupsとは? cgroupsは Control Groupsの略で、 Linux kernelに組み込まれているリソース割り当て管理機能です。 「期待の新機能」とかタイトルつけましたが、 マージされたのは2.6.2xの頃のようなのでかなり時間は経っていますね。 RHEL的に新機能なので、ご愛嬌ということで。

    dann
    dann 2011/01/14
  • 1