weblog of key_amb

主にIT関連の技術メモ

2016-01-01から1年間の記事一覧

Consul クラスタ上で動作する S3 非依存の pull 型デプロイツール "fireap" を作った

github.com fireap = fire + reap です。 Consul Event を発火(fire)して、受信側でそれを収穫(reap)する、という意で。 読み方は「ファイリープ」で良いかと思ってます。 どんなツール? GitHub に上げた README.md より、かいつまんで日本語に変換しつつ説…

Consul Kv の Lock 機構の仕様と使い方のメモ

Consul の Kv は気軽に使えるデータストレージという印象だけど、ロック機構もあるようだ。 何度かドキュメントに目を通したけど、イマイチ使い所がわからなくて素通りしていた。 が、意を決して読み込んで手元で試したりして、だいたい理解できたと思うので…

git push する前に stash して pull --rebase してくれるシェルスクリプト書いた

git push しようとして陥りがちなパターン: remote branch が更新されてて push がこける local 差分があるため git pull --rebase できない こういうケースでイライラしないために、 git stash && git pull --rebase && git push && git stash pop みたいな…

Unbound と Consul を組み合わせて使う方法について

DNS キャッシュサーバの Unbound と DNS インタフェースを持つサーバ・クラスタ管理ツール Consul を組み合わせて使う方法について。 Consulの公式ドキュメントには、BIND や dnsmasq と組み合わせる方法が載っている。 Unbound はどうだろうとふと気になっ…

Ruby で TOML を使うための gem

Ruby で TOML*1 を使いたいと思って RubyGems.org を探したところ、ダウンロード数の上位3つは、順に以下だった。 https://rubygems.org/gems/toml (v0.1.2) https://rubygems.org/gems/tomlrb (v1.2.0) https://rubygems.org/gems/toml-rb (v.0.3.10) 結論…

コンテナ型仮想化のメリット・デメリット

サーバインフラ運用の観点から。 メリット 起動が高速なので急な負荷上昇時に迅速にスケールアウトでき、機動的なキャパシティ制御(リソース管理)が可能。ピーク負荷に備えておくために、余分に起動しておくということが不要になり得る。 ただし、コンテナを…

CentOS 7 では iptables が firewalld になっている

デフォルトで有効になっていることがあるが、 service iptables status や systemctl status iptables では当然見つからず、一見止まっているように見えるので要注意です。 これに気づかず、Vagrant で private_network を作って VM 間通信できないな、おか…

CentOS 7 で特定の (IP, port) に対する通信が可能か確認

CentOS 6 な環境では、下の記事にあるように nc -zv $ip $port で確認できる。 IPv4 な環境では nc -zv4 でいい。 【初心者向け】各OSのTCP通信チェックコマンド入門 | Developers.IO が、CentOS 7 の nc は nmap-ncat に置き換えられている。 だいたい同じ…

daemontools のない環境で envdir 的なことをする

daemontools*1は便利だけど、時には使えない環境もあると思う。 そんな環境で envdir 的なことをしたいとき、どうするかという問題。 envdir とは ドキュメントに書いてあるけど、指定したディレクトリ以下のファイルの中身を読み込んで、環境変数を読み込ん…

ライブラリの ver. up 後、翌日3時にシンボルが見つからなくなる

CentOS 6.x でライブラリ rpm の ver-up をしたときの話。 依存プログラムをそのときに再起動したのだけど、翌日3時になるとなぜか共有ライブラリが見つからないのようなエラーが。 このとき、プロセスがどんなライブラリを開こうとして何が見つからなくなっ…

AWS CLI で Access Key から IAM 情報を取得

AWS

aws iam get-user でできます。 aws iam get-user --user-name Foo で Foo ユーザの情報を取得しますが、省略した場合には、aws cli を叩いている人の情報を取ってくれます。 もちろん、IAM 参照権限が必要になりますが。 参考 get-user — AWS CLI 1.10.9 Co…

psql でパスワードを聞かれずに PostgreSQL に接続する

PGPASSWORD=xxx psql -h $Host -U $User -d $Db 参考 https://www.postgresql.jp/document/9.4/html/libpq-envars.html

雑なメモをいくつか Google サイトに移してみた

最近メモレベルの雑な記事を連投していました。 まあ、Evernote に書くよりはいいよねって思うのは以下記事に同意して。 blog.kyanny.me とはいえ、一応このブログをわざわざ読者登録して読んでくれている方もいる様子。 あまり雑なエントリばかりでも、なん…

シェル上で特殊な文字が入ったファイルを削除する方法

主に使ってるのは Bash で Linux です。 先頭に - ハイフンとか入ってると困ることがあります。 1) '' で括る rm '*' 2) \ でエスケープ rm foo\ bar 3) -- を前置 -- でオプション解析を止める。 rm -- -f 4) パス指定 rm /path/to/-i rm ./-v 参考 man rm

(メモ) PostgreSQL サーバの kernel パラメータ調整

公式マニュアルを読むべし。 PostgreSQL 9.4.5文書 - 17.4. カーネルリソースの管理 Linux の場合は以下2つを変更する例が書いてある。(マシンのリソースに応じて要変更) $ sysctl -w kernel.shmmax=17179869184 $ sysctl -w kernel.shmall=4194304 他のデフ…

(メモ) PostgreSQL の操作覚え書き

PostgreSQL の操作を毎回忘れてググってしまうので、ここに追記していく。 MySQL に慣れ親しんだ PostgreSQL 初心者向けになる予定。(私がそうなので) psql CLI クライアント。 // 接続 $ psql [-h <ホスト名>] [-p <ポート>] -U <ユーザ名> [-d <データベー…

MySQL binlog_format とバイナリロギング、レプリケーションについて

少し雑なメモです。 MySQL で binlog を記録するかどうかについて。 master で binlog を書き込まなければ、レプリケーションもされません。 --binlog-do-db (master 側) や --replicate-do-db (slave 側) のようなオプションは運用従事者ならご存知の方も多…

(メモ) nghttp2 を MacOSX の特定パス上にビルド

最初、homebrew で入れたのだけど、よく見たらバージョンがかなり古かったので、最新をインストールしたくなった。 自分の環境は Mac OSX Yosemite。 基本、 Kazuho's Weblog: [memo] Installing nghttp2 onto OSX を参考に。 下準備 自分の環境で足りてなか…