読者です 読者をやめる 読者になる 読者になる

Goldstine研究所

mosuke5's tech blog

参加してきた、MSPJマイグレーションコンペ2017winter

先日、2017年2月18日に「MSPJマイグレーションコンペティション2017winter」に参加してきた。 MSPJマイグレーションコンペティション2017winterとは、 日本MSP協会コンペティショングループが主催する、 次代を担う若手運用技術者同士の交流・競争を通して日…

Cookpad TechConf2017にいってきたメモ

はじめに CookpadTechConf2017に参加してきた。 昨年は抽選に外れていけなかったのでよかった。 techconf.cookpad.com おなじみCookpadが年に一回行っているテクノロジーカンファレンス。 1年間のクックパッドでの取り組みを発表する場。 完全メモ書きでは…

クラウド上でのWordPressのスケールアウトを考える

複数台サーバでのWordPressの構築・運用について考える。 実際に、とあるクラウドで分散環境のWordPressを構築したのでその知見をまとめる。 なるべく特定のクラウドに特価しないものとして記載したい。 やりたいこと スケールアウトできるWordPress環境を作…

「嵐」 2016年振り返り

だいぶお久しぶりのブログ。 そして恒例の年振り返りブログ。ついに2016年も終わってしまう。 というわけで2016年を振り返りたいと思う。 一応このサイトは技術ブログのはずなんだけど、プライベートのことが大いに混ざったポエムになってしまった。 なんの…

三葉よ、サーバーレス、それもまた結び。

タイトルちょっとふざけました。 (が、半分本気。最後の方でわかる。) ServerlessConf Tokyoに参加してきた。 今年8月からパブリッククラウドの事業に異動していて、(異動ブログ) 開発者の立場よりクラウド提供側の立場として参加してきたので、また面白か…

ISUCON6予選で惨敗した. 足りなかったのは'Courage'

Appleのkeynoteで話題の'Courage'使ってみた笑 ISUCON6予選で惨敗した。(18000点くらい) 端的に言って、とても未熟だった。 とはいえ、とてもいい思い出になったのでまとめる。 メンバー スリーエムというチーム名で、@mogulla3と@mintsu123と一緒に出場した…

社内システム開発からパブリッククラウドの会社へジョインします

本日、2016年7月29日をもって、新卒から3年4ヶ月働いてきた部署が最後となり、8月1日から異動(出向)する。 社内転職制度を使って、自らの希望でパブリッククラウド事業の会社へジョインすることになった。 (新規事業を行う部署へ異動となり、そこから別…

【めも】httpヘッダー、x-forwarded-forとか任意のヘッダーとか

ただのめも。 もともとApache+PHPで動作していたシステムに、リバースプロキシ(Nginx)を前段に挟むことになった。(理由はここではどうでもいいので書かない) つまり、Nginx->Apache->PHPという構成になった。 よくあることだが、Apacheからみるとすべて…

Vim::Factory、LTではなす

7月6日の会社のエンジニアイベントでLTするやつ、先にあげておく。 自分の中でのネタとしては古いけど、話すのはなんだかんだ初。 詳しくはこっち見ること mosuke5.hateblo.jp

IkaLog環境整えた。画面が突然映らなくなる事象とかについて

昔まで、人の家でスプラトゥーンをやったりたまに借りたりして楽しんでいたが、 ついにというか今更というか自宅用に買ってしまった。 ついでにという感じで、お金を注ぎ込んで、IkaLogを楽しめる環境も作った。 IkaLogあるととても楽しい。 IkaLog環境はほ…

Nginxの仕組みについて入門

普段Nginxを使ってはいるものの、その仕組やなぜNignxを使うべきなのかというところがあまりわかっていなかったので、 改めてNginxを入門しその仕組などについて調べてみた。 勉強不足もあって、間違ってることもあるかもしれないがその際は教えて下さい。 1…

今度こそ入門するtmux

tmuxの入門は何度目だろうか… SoftwareDesignの2015年7月号を見ながら、何度目かの入門をしたのでメモする。 ブログに書いたので、これで運用にのりそうだ。 tmuxってなに? 公式ページ(http://tmux.github.io/)から引用すると。 tmux is a terminal multipl…

HerokuをRailsアプリのステージング環境として使う

趣味で作っているアプリ(Rails)があるのだが、はじめHerokuで運用しようと検討していたが、 データ量が多いためすぐにHobbyプランでは対応できなくなってしまった。 仕方ないので、別のアプリで持っているVPSをProduction環境とすることにしたのだが、 せっ…

Github Pagesを今更作った話と、独自ドメイン適応時の通信のこと

今更ながらgithubページでプロフィールサイトを作った。 (もう少しデザインブラッシュアップしたい…) mosuke tech また、独自ドメイン(カスタムドメイン)の設定やその仕組みをおっている時に、 独自ドメイン適応時の通信について面白いことがわかったので…

DBのViewの使いどころの検討

ある実装についてどのように実装するか悩んだ。 その悩んだ過程や実装案をメモする。似たようなケースの実装案として参考になればと思う。 状況 ある申請に対して、検査Aと検査Bを行い、その検査状態・検査日時を管理・閲覧するシステムがあるとする。 申請…

【錦織圭も分析】ATP TennisのデータスクレイパーGem作った

背景 このブログは基本的に技術ブログとしてやっているので、 テニスの話題ははじめてだが、テニスがすごく好きだ。 特に、プロの試合の観戦はとても好きだ。 2005年からずーっと見てて、欠かさずすべての試合結果はチェックしている。 数年前から、テニス選…

社内マリカー大会やりました!運営の工夫どころとかまとめ

弊社では、年に一度、社内のコミュニケーション促進で、いろんな部署が集まって行う懇親会がある。 そこでは、恒例行事として何かしらのゲームを行っている。 そのゲームにて今年マリカー大会を行ったので、その報告と工夫した点などまとめておく。 マリオカ…

Vagrant×Ansible環境の3つのスタイルとそのメリット・デメリットについて

Vagrant×Ansibleで開発環境を作っているみなさんは、 どんなふうにそれを実現していますか? きっといくつかのやり方、考え方があると思います。 例えば、ご自身のPCにAnsibleをインストールしてVagrantの仮想環境にプロビジョニングしているとか。 Vagrant…

2015年振り返り

去年に続き、2015年で技術分野でなにがあったか簡単に振り返りました。 2014年を思い返して… - Goldstine研究所 1. Vim::Factoryの開発と公開 2014年の秋から@mogulla3と定期的にインフラ関連技術の勉強会をやってきていて、 はじめはインプットの勉強会だけ…

インフラのデプロイとテストを同時実行できるようにしてHappyになった

はじめに 私が開発しているシステムでは、Ansibleでサーバ構築からアプリケーションのデプロイまですべて実行できるようにしています。 そして、serverspecを使って、インフラテストも行っています。 しかし、その運用にいくつか課題点がありました。 その課…

Ansible、実行速度高速化の実験。ControlMasterとPipeliningについて

1. はじめに Vim::Factoryの開発や、仕事などでAnsibleを使うことが多いのだが、 その実行速度があまりでないことに不満をもっていて、どうしたら早くできるか考えていました。 調べると、ControlMasterを利用してSSHのコネクションを再利用するとか、pipeli…

インフラテスト(serverspec)はじめました

運営中のVim::Factoryでserverspecを使ったインフラテストを導入したので、 導入理由や工夫している点、悩んでいる点について記述します。 Vim::Factoryについてはこっちみてね。 mosuke5.hateblo.jp 1. serverspecってなによ 詳しくは公式サイトや書籍など…

Ansibleを踏み台サーバ越しに実行する

タイトルの通りで、なにも特別なことはない内容。 そして、9月も終わりなのに今月はひとつも記事を書いていなかった。 KVMを使って仮想のゲストサーバを立てたが、 ゲストサーバはホストサーバと通信する用の(外に出る場合にはNAT通信で)IPアドレスしか持…

(個人的) YAPC::Asia 2015ふりかえり

「ブログを書くまでがYAPC」 というわけで、8/21, 22とYAPCに参加したので、そこでの学んだこと、気になったことなどを振り返ります。 しかし、YAPCで聞いた公演内容を淡々とまとめるなどはしません。 単なる内容のまとめであれば、公開されているスライドな…

デスクトップUbuntuにVNC接続。ついでにSSHローカルポートフォワードの復習。

完全に自分のための備忘録。内容はわりと薄め。 やったこと 最近、自作したPCにUbuntuをいれて使っているのだけど、 デスクトップPCなので、部屋でしか操作することができません。 他の部屋からノートPCでUbuntuを触れたらいいなーと思いその環境を整えるこ…

Packerやる前にKickstartはじめよう

1.はじめに 開発環境はVirualboxを使ったVagrantを利用しているが、 本番環境はAWSだったりKVMだったり違う仮想化機構で動作しているなんてことよくあると思います。 そういう環境下でどのように開発環境と本番環境の差分をなくしていますか? わたしの場合…

DockerとWebSocketを使って、vimの設定をブラウザで即体感できるサービスを作った

2014年の秋から@mogulla3と定期的にインフラ関連技術の勉強会をやってきましたが、 インプットの勉強会だけでは飽き足らず、いつしかサービスを作る中でインフラ関連技術を駆使し勉強したいと思うように… そして、普段使っているVimを題材に、 vimの設定をブ…

PostgreSQL環境でFuelPHPのDBマイグレーションを使う

今更FuelPHP感はあるのだが、 postgresql利用時のFuelPHPのmigration導入について、注意点をまとめた。 でも、結論は納得がいっていない。 0. 前提 下記の環境で行ったものです。 PHP: 5.5.7 FuelPHP: 1.7 Postgresql: 9.4 1. テーブル文字コードの問題 事象…

Ajaxの嫌いだった部分をJsRenderで心地良くした

1. はじめに ぼくはフロントエンドは本業ではありません。 jsはあまり好きではありません。 そしてAjax通信後にhtmlをアウトプットする際にjsの変数の中にhtmlを書いていくソースコードがもっと好きではありません。(後述) それをJSテンプレートエンジンを使…

他人の家のインターネットを環境を整えて分かった無線LANルータのこと

他人の家のインターネットを環境を整えて分かった無線LANルータのことがあったのでまとめる。 我が家のインターネット環境は以下のような構成になっている。 この構成では無線LANルータはL3とL2の両方の機器として働いている。 グローバルIPとプライベートIP…

sinatra-assetpackをproduction環境で使う時にはまったー

Sinatraアプリケーションで、JSファイルを圧縮するsinatra-assetpackを利用していて、 production環境で動作させようとしたら動かなくなってしまった問題について調査した。 起こったこと Sinatraを使ってアプリケーションを作っていて、development環境で完…

Ansibleで最新のMySQLをインストールする際にハマったこと。MySQL-shared-compatのこと。

CentOS 6.5環境でAnsibleを使って最新のMySQLのセットアップをしようと思った際にハマったことをまとめた。 本質的にはAnsibleというよりLinux RPMパッケージのはなし。 ついでに、しょっぼいgithubを公開しました。 (1) 本記事を書くに至った経緯 Ansibleで…

SSHエージェントフォワード後に他のユーザでgit cloneする(鍵を使う)ことに関する考察

SSHのエージェントフォワードした後に、接続したユーザとは別のユーザでgit cloneしたいことがあった。 それについて調べていく中で学習したことや検討したことについてまとめた。 0. 前提 ローカルのPC(Mac)上で、Vagrantを使用してCentOS7の仮想サーバ(tes…

Ruby, thin(bundler利用)を使った環境でのアプリの自動起動設定

bunlderを使ったWebアプリをプロダクション環境で動かすときに、アプリの起動をどうやって実現しているだろうか。 Apache Passengerを使う場合には、Apacheの起動がアプリの起動につながるので、 アプリの起動はあまり気にしなかったかもしれない。 しかし、…

勘違いしやすいFTPとSFTPの転送モードの話

FTPやSFTPでの転送モードの話。 ついこの前、WinSCPを利用している人が転送モードを選んでいて、 「SFTPには転送モードはないと思っていたのに、転送モードを選んでいる!?」 と疑問に思ったのでその辺りまとめた。 FTPのバイナリーモードとアスキーモード …

SSHポートフォワード、https接続をするときに間違えやすいこと

SSHローカルフォワードの話。 前回は簡単に実践してみたというのを書いたのだが、今度は実際に使ってみてハマった部分があったのでメモ。 SSHでローカルポートフォワードを実際に試す - Goldstine研究所 1. やりたいこと httpsでしか接続を許可していないサ…

リモートのサーバでdockerを起動させるときの端末割り当て

自分がハマったのでメモ。 リモートのサーバでdocker runを実行し(/bin/bash)、ローカル側でシェルを操作したかった。 sshでリモートサーバに接続し、docker runすればいいや、と思い以下を実行してみた。 ssh user@host 'docker run -t -i image_name /bin/…

Ansible、コマンド実行結果を"ok"にする(冪等性を保つ方法)

Ansibleでソースコードインストールする際とか すでにインストールされているかのチェックなどで、 シェルコマンドを実行してその結果で判断したい時がある。 ぼくがよくやる例では以下とか。 - name: check httpd installed command: which httpd ignore_er…

dockerで特定ユーザでログインした状態のシェル環境を提供する

dockerの一般的な利用の仕方ではあまり想定されないケースかもしれないが、 特定のユーザでログインした状態のコンテナを作りたいという場面に遭遇した。 <やりたいこと> 特定のユーザでログインした状態のシェルを提供すること その際、ユーザの.bash_profi…

スーパーサーバってなに? xinetdでサービスを常駐起動せずに利用する

使用頻度の低いサービスのデーモンをメモリに常駐させておくのは効率が悪い。 そこでスーパーサーバという使用頻度の低いサービスの窓口のサービスのみ起動しておき、要求があったときだけ特定のサービスを起動させることが可能らしい。 ということで、その…

2014年を思い返して…

2015年になってしまいました。 2014年に技術分野で印象に残ってること3つを思い返してみる。 1. インフラ会 @mogulla3と軽いノリで始めたインフラ会。 普段触らない、あるいは触ったとしてもすでに構築された環境で触ることの多いインフラ技術について 土日…

SSHでローカルポートフォワードを実際に試す

SSH・・・ いろんなことができる"らしい"ということは知っていたし、 例えばポートフォワーディングなんていうこともできるのも知っている。 でもそれがどんなものなのか自分の手で試したことはないし、 なんとなくただのサーバログインツールとして利用して…

【年末遊び】秋葉原で自作PCパーツ集めて作った

自作PCを作ったのでその材料と参考資料などを簡単にまとめる。 すべての部品は秋葉原のツクモで揃えた。 パソコン・ゲームPC・自作パソコンなら【TSUKUMO】わけがあって荷物はすべて手で運んだのだが、かなり重くなるので郵送をおすすめする。 以下買ったパ…

【VPS1台でインフラ勉強】SoftEtherを使ってVPN構築

VPS1台でインフラ勉強シリーズでVPN構築を行ったのでそのメモ。 1. 実施したこと VPSのホストサーバをVPSサーバとし、その上で仮想で立ち上げたサーバ(ローカルネットワーク)に外部から接続できるようにすること。 2. 環境 ・VPNソフトウェア:SoftEther VPN…

Ansible, sudoパスワード要求を忘れただけでめんどくなる

AnsibleをVagrant上でずっと使ってて、Playbookも完成したし本番サーバへ... と思ったところである初歩的な罠にハマった。本番環境へPalybook実行!! $ ansible-playbook playbook.yml -i hostsあれ、GATHERING FACTSで10分以上も待たされた... しかも、エ…

GithubクローンのGitlabの導入とその際のちょっとした注意点

もろもろな理由のためにGithubが利用できないことも多くあると思う。 というわけでGithubクローンのGitlabを試しに立ててみたが、簡単すぎでした…GitLab | Open source software to collaborate on code環境 さくらVPS 1Gプラン OS:CentOS7インストール 基…

後からGitレポジトリを共有設定に。sharedオプションの仕組みについて

Gitレポジトリを作って、複数人で開発をしていた。 しかし、レポジトリの中に作成されるファイルやディレクトリが個人のグループになってしまい、 Push, PullするときにPermission errorで怒られまくる。ユーザには共通のグループを作っていたのに…なんでだ…

Ansible、コマンドでワイルドカードを使うときの注意

AnsibleのPlaybookを書いていると、ワイルドカードを含んだコマンドを実行したい時がある。 そんなときあるところでハマった。Apacheをソースインストールして、パスを/usr/sbinにリンクを貼ろうとして以下を実行した。 - command: ln -s /usr/local/httpd/b…

Ansible、ソースインストールする際のPalybookの書き方

最近、Ansibleを使い始めたのだが、yumやapt-getでインストールできるものはいいけど、 どうしてもソースインストールが必要な場合がある。ソースインストールを行う際のPlaybookの書き方と注意点をまとめた。まず、あたりまえだが、ソースインストールを行…

【VPS1台でインフラ勉強】多段SSH設定(おまけ)

VPS1台でインフラ勉強の会で、VPSのホストサーバ上に仮想でさらにいつくかのサーバを立てたが、 仮想のサーバにアクセスするには、ホストサーバにアクセスしてから更にSSHをしなければならない。 これが面倒だったので多段SSHの設定をして、一発でSSH接続で…