2016年2月17日水曜日

Dockerは現時点(1.9)では複数のネットワークインタフェースをうまく扱うことができない

どうやら、Dockerはデフォルトのネットワークインタフェース間でしか通信を行うことができないらしい。
例えば、eth0とeth1と2つのネットワークインタフェースを持つような構成になっている場合に、コンテナはeth1との通信が一切できない。

このブログに理由と解決方法が載っていた。

http://williamsbdev.com/posts/docker-connection-marking/

パケットがdocker0を通る前にパケットにfwmarkという印を付けることでちゃんとルーティングされるようにするらしい。
ちょっときもい。


2016年2月15日月曜日

Android端末からHTTPSに繋ぐとセキュリティエラーになる問題の対処

まれにAndroid端末に対応していないSSL証明書もあるらしいが、おそらくほとんどは中間証明書のインストールをミスっているだけだと思う。

SSL証明書の公開鍵証明書には証明書本体だけでなく中間証明書を追加すること。
中間証明書は公開鍵証明書の発行元が登録完了後にメールに添付してくるか、発行元サイトなどで公開されている。

サーバーの設定

秘密鍵

自分で作成した秘密鍵を設定

こんな感じになる:

-----BEGIN RSA PRIVATE KEY-----
~
-----END RSA PRIVATE KEY-----

公開鍵証明書

送られてきた証明書と中間証明書を結合したファイル。

こんな感じになる:

-----BEGIN CERTIFICATE-----
~公開鍵証明書
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
~中間証明書
-----END CERTIFICATE-----


2016年2月9日火曜日

クラウド時代のプログラマについて考えたみた。

クラウド時代のプログラマについて考えたみた。


オンデマンドインスタンス型プログラマ


オンデマンドインスタンス型のプログラマは時間単位の報酬で作業を受ける。
プログラマに作業依頼にするには、ウェブコンソールから「インスタンスの作成」を行う。
ここで様々な種類のプログラマから作業内容にあったインスタンスタイプを選ぶことができる。
インスタンスタイプについては後述する。

スポットインスタンス型のプログラマ


プログラマはもしも定時にあがることができたなら家で少しだけ作業ができる。
強調しておくが、”もしも” 定時にあがれたらだ。
この空いた時間帯に副業として作業を依頼する分には少しだけ安く作業を請け負うことができる。


リザーブドインスタンス


もしプログラマに長期的に作業をしてもらいたい場合は、リザーブドインスタンスがお得だ。
あらかじめ年間に一定以上の作業を依頼する約束をすることで、安く作業を請け負ってもらうことができる。
ただし、もし約束しただけの作業を依頼できなかった場合でも、同等の報酬は払わなければならない。

インスタンスタイプ


プログラマにもタイプが存在し、作業に応じて向き不向きがある。
このため、クライアント様においては、作業内容に応じて適切なプログラマのインスタンスタイプを選ぶことが重要だ。

m4インスタンス

m4インスタンスは汎用的に使えるプログラマインスタンスタイプだ。特にこれに対して強いというものはないが
大抵のことをそれなりな感じにこなしてくれる。
どのインスタンスタイプを選べば分からない場合はとりあえずこれを選んでおけばいい。

c4インスタンス

とにかく特定の作業を早くこなしてもらいたい場合はこのインスタンスを使う。
ただし、このインスタンスタイプのプログラマはたくさんのことを覚えたり、たくさんのことを同時に行うのは苦手だ。

r3インスタンス

c4とは反対に、色んなことを同時にさせたり、記憶力の良いプログラマを所望する場合はこのインスタンスだ。

まとめ

冗談はさておき、実際もっと短いスパンで色んな仕事をこなすというのも面白いきはする。