インフラ手順書テンプレートを作った話

これは何 =============以下手順テンプレート===================== 目次 作業目的&作業概要(方針) 作業目的 作業概要 期限&スケジュール感 関連リンク 検討事項 検討事項1 検討事項2 事前準備 事前準備1 事前準備2 同期的作業タイムスケジュール 同…

非効率な仕事の進め方とルール化について(オートフォーマット編)

背景 問題点 修正 できなかったこと 終わりに 背景 最近ちょっとだけバックエンド開発の仕事をやらせてもらっている。 当然その分野の先輩がいるわけで、その人たちの書いたコードを修正したり追加したりするのが多い。 IntelliJを使ってPHPを書いているのだ…

誰かに質問をわざわざしに行くのが苦手な私が、それを克服した話

背景 問題点 わかっちゃいるが聞けない 克服しつつある 終わりに 背景 私はもともと誰かに質問をするのが苦手な気質。 ランチや移動中にカジュアルな話をしていて「そういえば」くらいのノリで聞くのはできたけど、改めて「質問なんですけど・・・」みたいに…

チームがうまくまわるようにAnsibleのPlaybookでGitHubプルリクテンプレートを使いたい話

目次 目次 背景 GitHubのテンプレート機能はどう使うか テンプレートを作るにあたり気をつけたこと テンプレート内容 背景 最近インフラを触り始めた人と一緒に働くことが多くなってきた。みんなに効率よく経験を積んでもらいつつ、インフラチームをうまく回…

初めて会社でAPIを書いて学んだことメモ

これは何 普段主にインフラエンジニアとして働いている私が、会社で初めてAPIを一つ書いたので、そこで得た学びや考えたことを記録しておこうと思います。 何を学んだこと・考えたこと 仕様書を書こう どのようなAPIなのか、目的やリクエストパラメーターや…

障害電話受け1番になった時に使える三つの心得

これは何 心得 1. 本当の優先事項は何かを考える 2. 最初にやることを意識する 3. 障害対応は実況しよう 終わりに これは何 システムに障害が起こった時に電話が一番にかかってくるようになった人のための心得。具体的な障害対応手順ではなくて、元気にSREエ…

応用情報技術者試験を受けたので記録しておく

これは何 結果は? 応用情報って何 なぜ受けたか 対策は? 前提知識(試験前のレベル) 午前試験 午後試験 勉強時間は 学習内容 午前試験 午後試験 辛かったこと やってよかったか? これは何 2017年10月にIPAの応用情報技術者試験を受けました。12月合格発…

ansible vmware_guest_find モジュールを用いたVM存在確認と後続タスクの制御

これは何 ansibleによるVMwareのVMインスタンス管理の話。 VMインスタンスをコマンド一つで作成して初期設定ができるようにAnsibleで管理している。すでに存在するVMについては、うっかりRebootしたりNW Restartなどが走らないように存在チェックをしてそれ…

インフラエンジニアがバックエンド書けるようになるために paiza と progate を使っている感想

これは何 バックエンド開発ができるようになるためにお家でPaizaやProgateを使ってPHPやRailsをお勉強している話。 目次 これは何 目次 背景 どう学ぶか? 会社で 自分で Paiza 主観的な内容 選んだ言語 内容とレベル感 自分とマッチしているか Progate 主観…

DNS切り替えを伴う環境移行のハマりどころと気をつけポイント

これは何 大きくサーバ群をリプレイスする時に考えるべきこと、詰まりどころをまとめておきたい。 目次 これは何 目次 事前リソース見積もりについて データ取得と方針 特に気にすべき負荷 ストレージ ネットワーク 疎通問題について LB・FWの設定について D…

ansible のダウンロード処理のリトライ(と既存コードの書き換えスクリプト)

これは何 playbook の自動テストで各種パッケージダウンロードの処理がたまに落ちていた。コードの問題ではないところで落ちてjenkinsが赤くなると嫌なので出来るだけ通るようにしたい。 リトライ処理をいれて問題の緩和を図りたい。 微妙に詰まったのでメモ…

社内galaxyを作ろう

これは何 自分でansible galaxy を作る。特に今回は公開のものではなくて、社内に限る共通roleを作る話。 実際に作ったroleは社内事情や秘匿情報を含むのでここには書きません。 背景 社内クラウドのリソースを管理するplaybookをある人が作った。その後それ…

netscaler LBにおいてサーバを使わずにリダイレクトする

これは何 netscaler LBにおいて特定FQDNへのアクセスをパスそのままで他のFQDNにリダイレクトする方法についてまとめる。 この資料は NetScaler version 11.0 で実験した動きを元に書いています。 目次 これは何 目次 参考資料 手順 System設定でresponderの…

キャッシュサーバが遠くなるとレイテンシは上がるのか、pingとtcpdumpで考えた

これは何 私の持っているシステムではフロント系サーバからmemcached サーバへ接続回数が結構ある。 データセンタ内で今まではフロント系サーバもキャッシュサーバも同一セグメント、物理的にも近くにいた。 とある事情でサーバをリプレイスしなくてはならず…

ansibleのget_url moduleでSNIのhttpsサイトからダウンロードが出来ない【問題と解決】

これは何 ansible version 2.2。get_url moduleを使ったときの話。 ターゲットサーバのOSはSL6.8。python 2.6。 結論から言うと 証明書期限切れしていただけでした。ドハマリした。 期限切れしていない正常なダウンロードサイトからのものはpython2.6にpipで…

swapが出るDBサーバの vm.swappiness と innodb_flush_metho=O_DIRECT設定 について

これはなに MySQLサーバでswapが出てレプリケーション遅延が起こっていた。その原因を考えた時のメモ(結構昔だけど、掘り起こして少し整理)。 トラブル発生時の状況 swap 全食いつぶしされていた(swapは8Gの設定)。swap が単に発生したというよりも、swa…

納期と障害とElasticBeansTalkのお話

さて、納期がありますね。 急いで開発しますね。 リリースしますね。 喜びますね。 お客さん沢山きますね。 ・・・(しばしリリースを喜ぶ) 負荷が上がりますね。 詰まりますね。 障害ですね。 こんにちは。ElasticBeansTalkを作ってとあるキャンペーンの特…

はじめてnodejsを使った。はじめてbotを作った話。

これは何 nodejsを使ってslack botを作った話。 インフラエンジニアだけどコードもかけるようになりたい、といって少しだけ時間をもらってbotを作る仕事をやった。 その時のメモ的なもの。 何を使う botkitというツールキットを使う。 hubotと何が違うの? …

elasticsearchのindexを整理するcuratorのactionファイルを整理した話

これは何 elasticsearchのindexを削除するときにはcuratorを使うと思うが、そのactionファイルがわかりにくく、大きくなりがちだったのでメモ。 curator はver 4での記法(ver3だとちょっと違うみたいなので注意) curator action fileの基本の書き方 1から…

memcachedのサイズ別データ数のカウント

これは何 memcachedからredisへ移行したいので、redisのベンチマークを取っていたが、その時にmemcachedに保存されているデータがどれくらいのサイズがどれくらいの量で出現するのか確認した。その話を適当にまとめておく。 chunkサイズとslabについて 参考…

redisとmemcachedのベンチマークをmemtier-benchmarkで取る

これは何 redisとmemcachedのベンチマークを memtier-benchmark というツールで取った。 ざっくりまとめておく。 github.com memtier-benchmark と redis-benchmark の比較 主にmemtier-benchmarkのメリット。redis-benchmarkにできないこと。 redis, memcac…

fluent-plugin-ping-messageプラグインを最新のを入れるとtd-agentがunstable versionになるためバージョン指定する話

これは何 https://rubygems.org/gems/fluent-plugin-ping-message/ という Fluentd の plugin を最新化すると、同時に td-agent 本体も unstable な最新の 0.14 系にあがってしまい、ログ転送がたまにできなくなる事象が発生する。 その対策。 原因 この現象…

haproxy設定の自分メモ(redisのrevproとして)

これは何 redis+sentinelの前段にhaproxyを置いてクライアントがあんまりnode poolを意識しなくてもよさそうな感じにしたい。 devだけで適用して本番には適用していないので甘いところはあるかも。 方針 redis slaveにgetを負荷分散したりするほど負荷は高く…

redis設定について自分メモ

これはなに redis設定をした時の検討項目。 devで設定したのみでまだ本番で使っていないのであまいところはあるかも。 設定diff 以下は redis-3.2.8 に同梱されていた設定ファイルとplaybook template とのdiff。 diff /tmp/redis.conf roles/install_redis/…

nginxによるgzip圧縮について【技術メモ】

これは何 nginxでproxyするときにgzip圧縮してレスポンスする方法を学んだのでメモ書き。 nginx versionは 1.11.10。 動作確認 レスポンスヘッダに以下のものが含まれる Vary: Accept-Encoding Content-Encoding: gzip 設定内容 gzip_buffers 1000 64k ; 配…

Webエンジニアとして大事な仕事の進め方 3選(社会人4年目を前に考えたこと)【雑記】

これは何 そろそろ社会人4年目になろうという3月半ばである。 主に、これからの自分のために今まで仕事をしてきて考えたことを記録しておく。 振り返った時に、ここに書いてあることが正しいと思うのか、後から振り返った時に間違っていると思うのか。 間…

どこまで仕事を詰めてから人に確認してもらうか【雑記】

これは何 雑記です。 エンジニアとして仕事を可能な限り効率よく進めるために、仕事をどこまで仕上げてから他の人に最終確認してもらうか、という点について考える。 「チームとして」仕事を効率的に進めること、「個人として」効率的に進めることの二つの視…

kibanaで認証かけたいんだけど(nginxによるbasic認証)

背景 kibanaは認証もなくがら空きである。fluentで本番サーバのログをelasticsearchへ流してそれをkibanaでみる。本番のデータでいろいろ表に出ちゃいけない情報もあるので、社内であってもカジュアルすぎる感じで見られると嫌。 そういう訳でkibanaにnginx…

BIOSがバージョンアップできているか確認したい dmidecode コマンド

背景 サーバのfirmware のバージョンアップをやった。バージョンアップツールにBIOSのバージョンアップも同梱されているっぽい。実際にバージョンが上がっていることを確認した。導入が2011年ごとのサーバだったので2015年とか2016年に上がっていればOK。 (…

コマンドがないんだけど? を解決するwhereis コマンド

背景 CentOS 5系のサーバとかだとコマンドにいろいろパスが通ってなかったりする。 今までは mlocateパッケージを入れて、locateコマンドで探していたりした。 コマンド whereis コマンドはコマンドとかのありかを教えてくれる便利コマンド。 どのパッケージ…