なんかかきたい

プログラミングなどの個人的なメモやサークル「ゆきいろパラソル」の情報を載せてます

運用

Webアプリケーションをデプロイしたくなったのでsupでやってみる

sup pressly.github.io Golangで書かれたシンプルなデプロイ要ツール。 機能がとてもシンプルで、SSHコマンドを手で書くよりは簡単に書ける程度で、 逆に機能が少なすぎて必要なことが書きづらいことも。 大雑把に現時点でサポートしている機能は以下のよう…

nginxでupstreamをhttpsにしたいとき

ちょっとだけ知って置く必要がある設定があるので残しておく。あまり難しくはない。 証明書を更新しておく CentOSならyum、Debianならapt、その他はいい感じに。 yum install ca-certificate nginx をビルドする がんばってください。 SSLを使うことになるの…

カスタムして作った CentOS7.4 をAWSの M5, C5 で動かすときに落ちた沼について書いておく

今回もそこそこの不幸があった。普通にセットアップする分には簡単な案件だけど、ちょっと面倒なオプションがついて、カスタムしてダレカの作ったAMIをいい感じに新しいタイプのインスタンスで動かしたいというのがきた。やれやれ。 前知識 新しい世代のEC2…

zabbixについてまとめておく

Zabbixは総合監視ツールでmuninのようなメトリクスグラフを出したり、nagiosのような死活監視を行う機能をまとめて持っている便利ツール。 prometheus + grafana のように高速ではないが、長く使われているためそれなりの情報がある。 反面、古いといえば古…

AWS CodeDeployについて書いておく

CodeDeployはAWSが提供しているアプリケーションコードデプロイの仕組みで、各サーバに特権で動くagentをあらかじめインストールしておき、CodeDeployにデプロイ指示を出すと、agentがコードをダウンロードし、サーバ上で任意のコードを実行することで、アプ…

AWS CodePipelineからCodeBuildを呼んでlambdaで古いAMIを消すといい感じになる

前回の続き t-cyrill.hatenablog.jp AWSでAMIの作成をCodeBuildを使って自動化したけど、CodeBuildが動く部分も自動化したいので、Githubに置いてあるリポジトリのmasterにマージされたタイミングで自動的にAMIが作られるといい感じなんじゃないかと思って、…

AWS CodeBuild と packer と ansible でプロビジョニング済みのAMIを自動生成する

AMI生成部分を自動化できたので、ちょっとだけまとめておく。 CodeBuild AWSのDockerで動くCIツール。 CodeBuildの名前の通り、ソースコードをビルドする環境を簡単に作れることをウリにしている CircleCIなどのサービスでビルドしたり、Jenkinsを自前で用意…

AWSの管理をterraformとroadworkerにした

Ansibleのcloud_moduleで大量に書かれたplaybookをterraformに少しずつ移して、 Route53の管理だけをroadworkerに移してみたのですが、 今のところうまくいっているようなので紹介しておきます。 terraform HashiCorpのGoで書かれたオーケストレーションツー…

Pythonのパッケージ管理とsystemdでプロセスをずっと上げておく方法を書いておく

タイトルは半分当たっていて、半分は嘘。 Pythonをちゃんと環境作ってやったことが今までなかったので、今わかってる範囲の情報をまとめていく。 pip Pythonのパッケージ管理システム。Pythonで作られたプロジェクトのインストールにもよく使われている。 依…

askpassのことを書いておく

askpassとは何なのか askpass とはその名の通り、プログラムからパスワードが必要になったときに呼ばれるプログラムのこと。 よくある使われ方としては、GTKのプログラムで特権が必要になった際に、sudo のパスワードを尋ねるためのウィンドウを出すみたいな…

そこそこ使えるストレージサーバを作るときに考えていたこと(概念)

前置き 私がWebサービスの会社でサーバ構築・運用の仕事をやっていた頃の話です。 ストレージサーバはユーザさんのコンテンツを保存する重要なサーバでしたが、 コンテンツの増加に伴い、既存のサーバでは十分な性能を出せていなかったことがありました。 運…

HTTPでバックアップファイルを軽く配る

最近はバックアップファイルを配る時にHTTPを使っている。 クライアント側では curl を使って手軽に引っ張ってこれてそのまま tar に流して簡単に展開できて便利。 あとは scp だとCPUが貧弱なマシンだとやや使いづらい。 クライアント側からのアップロード…

PXEBOOT/BOOTP/DHCPあたりのことをまとめておく

この辺りはよく使ってる技術なんだけど一回作ってしまうと細かなことは忘れてしまうし、 AWSのようなクラウドサービスを使っていると触れる機会も減ってしまうので、 覚えているうちにまとめておこうと思う。 PXEBOOT ネットワークカードに搭載されているPXE…

老エンジニアだけど dotfiles を更新したい、だけど慣れた設定書き換えるのって怖くない?辛い...って思ってサボってきた更新をなんとかした話

概略 最小のSandbox環境を作る。 イマドキ風にやるならdockerとかVMとか。 とりあえずDebian系で動けばいいので、debootstrap + chrootで動かす。 /home/$USER を git init してコミット どうせ Sandbox だし乱暴する dotfiles をいい感じに書き換えてセット…

Dotenvはproductionで使わないほうがよいのではという話の続き

前の話 t-cyrill.hatenablog.jp もう二年近く前の話になりますが、昔の書いた記事のアクセスが地味に多いので、 結局自分はどうしているのかという話を少しだけ書きます。

MySQL 5.6の InnoDB バッファープールのプリロード機能が優秀で頭悪いクエリを投げなくても良くなった

再起動を高速化するための InnoDB バッファープールのプリロード https://dev.mysql.com/doc/refman/5.6/ja/innodb-preload-buffer-pool.html 特に大きなバッファプールを扱う場合にMySQLを再起動すると、起動直後はメモリにDBのデータが乗っていないので大…

Vagrant 1.7からinsecure_private_keyが置き換えられる仕様になっていることに今更ながら気づいた

ごく日常的にvagrantを使っている分には気にならないと思いますが、vagrant 1.7から vagrant ssh する際に仕様される秘密鍵は vagrant up の際に置き換えられる仕様になっています。 (1.6以前はInsecure Private Keyと呼ばれる共有の秘密鍵を使っていた) Ins…

コミックマーケット90情報です

よろしくです。 / サークル「ゆきいろパラソル」は、コミックマーケット90で「日曜日 西地区 "f" 26a」に配置されました! コミケWebカタログにてサークル情報公開中です https://t.co/NimzDVYBnD #C90WebCatalog— シリル@ひだまりPHP 3日目西f26a (@d_cyri…

Elasticsearch 1.7から2.3にアップグレードする

重い腰を上げてElasticsearchのメジャーバージョンアップを行うことになったのでメモ。

Fluentdを使ってKibanaにデータを入れてるけど一部のログを落としていたのでリプレイしたい

Fluentdを使ってKibanaにデータを入れてるけど一部のログを落としていたのでリプレイしたいってときに、 取りこぼした時間分のログを置いて、Fluentdに読み込ませて送ればいいじゃんっていう気持ちになるけど、 ログの量が多いとクライアントが高速にログを…

任意のバージョンのImageMagickをビルドできるコマンドを作ってるよって話

少し前からImageMagickの最新バージョンをビルドして使いたいなーというモチベで好きな時に好きなバージョンのImageMagickをソースからビルドできるスクリプトを作っていたので紹介します。

FreeDOSのイメージをPXEでブートする

2015年でもDOSを起動しなければならないことがあって、BIOSのアップデートとかBIOSのアップデートとかBIOSのアップデートなんだけど、2015年なのでフロッピードライブとか用意するのは簡単ではないし、何よりアップデート対象のマシンがデータセンターに置か…

PHPのビルドにはgcc最適化オプションをつける

Linuxを使ってると、ディストリビューションパッケージのバージョンが古かったり、リンクされているライブラリがダメダメだったりして仕方なく自分でビルドするかーってなることがまあまああると思うのですが、何も考えずにビルドするだけではいい感じのバイ…

Sidekiqの様子もMuninに描いてほしいけどいい感じのプラグインがなかったので書いた

Sidekiqが仕事してるのか、暇なのか、エラーがあるのかないのか、キューが溜まっているのかはけているのか・・・。 Sidekiqには便利なAdminがついていて開いておけば統計情報をいい感じに表示してくれるのですが、 ブラウザを開きっぱにするわけにもいかない…

PHPカンファレンス2015に参加してきました

大田区産業プラザPiOというと同人即売会が頭に浮かびますが、今回はPHPのカンファレンスです。 京急蒲田、完全に即売会のノリね— シリル@ひだまりPHP (@t_cyrill) 2015, 10月 3

Nagiosのnrpeを使ってSidekiqの仕事具合を監視する

SidekiqはRuby製の便利なJobWorkerでRubyのコードをいい感じに実行してくれるできる子なのですが、放置していると意識がなくなることもないとは言えないので、他の子に監視してもらうのが安全です。 今回はNagiosさんに監視をしてもらおうと思います。Nagios…

Elasticsearchのshardとreplica

先週、箱根へ小旅行した帰りのロマンスカーでぼんやりと話したElasticsearchのshardとreplicaの話です。 どこかに書いたような気もするけど、メモごとどこかになくしたらしいので、忘れないように書きとめることにしました。

Elasticsearch運用とか (4)

今回はelasticsearchのバージョンアップ手順をまとめます。 elasticsearch 1.0以降を使っている場合、ダウンタイムなしでアップグレードできます。 ElasticSearchの運用とか (1) - なんかかきたい ElasticSearchの運用とか (2) - なんかかきたい ElasticSear…

サーバが遅いらしいので、nginxのレスポンスタイムを計測するmunin pluginを書いた

先週のとある日のこと、チームメンバーから何かサーバが遅いらしいという情報が挙がってきた。 そこまで遅くない、と言い張りたいところですが、計測せずにそういうことを言うのはよくないよねっていうことで、nginxのレスポンスタイムを取ってきてグラフ化…

開発環境を作るのは大変だ

最近メインで関わっているプロジェクトが必要とするミドルウェアが増えてつらい感じになってきた。 よくあるRailsのプロジェクトでローカルで開発で開発できるようになっていて、ローカルのMySQLに開発用のデータを入れ、動作確認をしながら開発を進めていた…