qphoney記

beta

unboundを使ってVPC内のDNSに名前解決する話

全国1億5千万人のAWSファンの皆さんこんにちは。
本ブログの読者の方々は熱烈なAWSファンしかいないので既にご存知だと思いますがRoute53でプライベートDNS機能が発表されましたね。


Amazon Web Services ブログ: Route53のアップデート - プライベートDNS、他


コレ、かなり便利なんですがVPCの内部からしか名前解決出来ないんですよね。しかもVPC内のDNSキャッシュサーバーってVPC内部からしか接続出来ないんですよ。なのでVPC内部にDNSフォワーダをunboundで作ってみました。

やりたいこと

f:id:qphoney:20141114172024p:plain

unboundの設定

きっとこんな感じでunboundを設定すれば動くと思います。
色々と適宜読み替えてください。あとDNSSECは無効にしないとダメっぽい。
設定周りはまだ甘いと思うので調べてダイエットします。

$ sudo yum install -y unbound --enablerepo=epel
$ sudo vi /etc/unbound/unbound.conf
$ sudo diff -u /etc/unbound/unbound.conf.org /etc/unbound/unbound.conf
--- /etc/unbound/unbound.conf.org	2014-11-14 08:24:40.415838696 +0000
+++ /etc/unbound/unbound.conf	2014-11-14 07:57:50.322571090 +0000
@@ -35,7 +35,7 @@
 	# specify 0.0.0.0 and ::0 to bind to all available interfaces.
 	# specify every interface on a new 'interface:' labelled line.
 	# The listen interfaces are not changed on reload, only on restart.
-	# interface: 0.0.0.0
+	interface: 0.0.0.0
 	# interface: ::0
 	# interface: 192.0.2.153
 	# interface: 192.0.2.154
@@ -181,6 +181,7 @@
 	# Choose deny (drop message), refuse (polite error reply),
 	# allow (recursive ok), allow_snoop (recursive and nonrecursive ok)
 	# access-control: 0.0.0.0/0 refuse
+	access-control: 0.0.0.0/0 allow
 	# access-control: 127.0.0.0/8 allow
 	# access-control: ::0/0 refuse
 	# access-control: ::1 allow
@@ -346,7 +347,7 @@
 	# File with DLV trusted keys. Same format as trust-anchor-file.
 	# There can be only one DLV configured, it is trusted from root down.
 	# Downloaded from https://secure.isc.org/ops/dlv/dlv.isc.org.key
-	dlv-anchor-file: "/etc/unbound/dlv.isc.org.key"
+	#dlv-anchor-file: "/etc/unbound/dlv.isc.org.key"
 
 	# File with trusted keys for validation. Specify more than one file
 	# with several entries, one file per entry.
@@ -371,8 +372,8 @@
 	# trusted-keys-file: ""
 	#
 	# trusted-keys-file: /etc/unbound/rootkey.bind
-	trusted-keys-file: /etc/unbound/keys.d/*.key
-	auto-trust-anchor-file: "/var/lib/unbound/root.anchor"
+	#trusted-keys-file: /etc/unbound/keys.d/*.key
+	#auto-trust-anchor-file: "/var/lib/unbound/root.anchor"
 
 	# Ignore chain of trust. Domain is treated as insecure.
 	# domain-insecure: "example.com"
@@ -562,3 +563,6 @@
 # You can now also dynamically create and delete forward-zone's using
 # unbound-control forward_add domain.com 1.2.3.4 5.6.7.8
 # unbound-control forward_remove domain.com 1.2.3.4 5.6.7.8
+forward-zone:
+    name: "."
+    forward-addr: 10.0.0.2

正座して読め

はい、正座して読みます。

第4回 Unboundサーバ運用Tips:Unbound,知ってる? この先10年を見据えたDNS|gihyo.jp … 技術評論社

Special Thanks

滝澤先生、マジ滝澤。

【乞食】r3.8xlargeが約$0.6で起動した【速報】

最近、こんなブログばっかり書いているたておかです。

AWSからEC2のR3シリーズの発表がありましたね!
http://aws.typepad.com/aws_japan/2014/04/now-available-new-memory-optimized-ec2-instances.html

って事でSPOTインスタンスでr3.8xlargeを起動してみましたよ。
f:id:qphoney:20140411095518p:plain

起動したよ。
f:id:qphoney:20140411095532p:plain

今(2014年4月11日AM 10:00現在)だけだよ。

独習Linux専科を読んでみた

明けましておめでとうございます。
2014年もどうぞよろしくお願い申し上げちゃいます。

先日、技術評論社様から「独習Linux専科 〜サーバ構築/運用/管理 あなたに伝えたい技と知恵と鉄則〜」をいただいたので読んだ感想をブログに書いてみます。

「独習Linux専科」サーバ構築/運用/管理 ――あなたに伝えたい技と知恵と鉄則 (Software Design plus) [大型本]

本書の「はじめに」にもあるように、Linux初心者を対象とした入門書となっています。
Linuxって何だか分からないけど仕事で使う事になった、という方の入門書として、僕のようにLinuxを業務で使っているけど基礎知識が怪しい人が知識の整理やおさらいのためにピッタリの本となっています。
本書は全5章から構成されていて、Linuxって何?の1章から実際に手を動かして簡単なアプリケーションを動かしてみたり、Linuxの動作原理まで突っ込んだ盛りだくさんな内容になっています。
ちょっとだけ目次を紹介しますね。

第1章 はじめてのLinuxサーバ

  • Linuxの生い立ち
  • Linuxのインストール
  • Linuxの操作を初体験
  • Webサーバ構築を体験

第2章 Linuxの基本操作を学ぶ

  • プロセスとジョブ操作の基礎
  • テキスト処理の実践活用
  • シェルの機能と活用法
  • ディスクとファイルシステムの基礎

第3章 システム管理の基礎知識

  • ユーザとファイルの管理
  • パッケージとサービスの管理
  • ファイルのバックアップ

第4章 サーバ構築・管理に挑戦

  • Linuxサーバのネットワーク環境
  • Sambaで構築するファイルサーバ
  • PostgreSQLで構築するデータベースサーバ
  • Ruby on RailsでWebアプリケーションを体験

第5章 Linuxの動作原理を学ぶ

  • プロセスの状態とシグナル操作
  • メモリ管理とスワップ領域
  • Linuxのセキュリティ機能
  • RHEL6とFedora17の差分

ざっとこんな感じ。

感想
読んでみた感想の前に結論を言うと「会社に1冊あった方が良い本」です。
Linux入門にぴったりなので新人研修で使ったり、これから来るであろう「クラウドネイティブ世代」にも良書となる事でしょう。
読んでみた感想としては、まず最初に「ちゃんとしているなー」と思ったのがSELinuxをdisableにしないで解説しているところ。
色々な理由があるとは思いますが「入門書だから」という理由でSELinuxを解説しない書籍がある中で、本書はきちんと説明していたので非常に好感出来ました。
あと個人的にはsystemdをあまり知らなかったので使い方とか参考になりました。
惜しいなーと思ったのはtcpdumpコマンドを紹介していなかったところでしょうか。
サーバ管理者の本番は作る事ではなく、日々の運用なのでトラブルシュートのツールを紹介してあげても良いんじゃないかなーと思いました。
でも、入門としてはこれくらいで良いのかも知れませんね。

という訳で、本書を送っていただいた技術評論社様、ありがとうございましたー。

ねんがんのカーボンホイールをてにいれたぞ!

お風呂は肩までしっかり浸かるタイプの僕ですこんにちは。

とうとう、念願のカーボンホイールを購入しました。しかもディープリム。
ちょーカッコイイです。

購入したのはサイクリスト御用達のWiggleさん経由。
ちなみに商品はこちら↓
Wiggle 日本 |ロードレースホイール Fast Forward - F6R カーボンクリンチャー 240s ホイールセット

本人の発狂ぶりを時系列で見てみましょう。


ポチった瞬間ですね。


Wiggleは各国の通貨に対応しているのですが、今回は£が一番お得な感じだったので£で決済。

ところが、待てど暮らせど発送の連絡は来ない。
「ちゃんと決済されてんのかな?」と思ってWiggleを見てみると
f:id:qphoney:20131230132857p:plain
何故かキャンセルされている。。。
問い合わせてみたところ、該当商品の在庫が確保できないのでキャンセルしたとの事。
在庫が無いんじゃ仕方ないのでまた改めて買えば良いやーと思ったのですが、やはり諦めきれずに同じ商品を覗いたらなんと在庫があるじゃないですか。
どーゆー事か良く分からなかったのですが、再度ショッピングカートに入れて決済まで進めてみました。
これが12月22日の話。
「今度は大丈夫かしら?」と何日か経ってWiggleを見てみると、
f:id:qphoney:20131230133222p:plain

 *     +    巛 ヽ 
            〒 !   +    。     +    。     *     。 
      +    。  |  | 
   *     +   / /   イヤッッホォォォオオォオウ! 
       ∧_∧ / / 
      (´∀` / / +    。     +    。   *     。 
      ,-     f 
      / ュヘ    | *     +    。     +   。 + 
     〈_} )   | 
        /    ! +    。     +    +     * 
       ./  ,ヘ  | 
 ガタン ||| j  / |  | ||| 
————————————

即日発送されたようです。
後は待つだけ。
あ、Wiggleは一括払いにしか対応していないのでご注意くださいね。
待つ事数日。


朝、会社に行こうとしたら届いちゃいました。


こうなりますよねー。


なりますよねー。

まさか5日程度で届くとは思っていなかったので嬉しい驚きでした。
僕の場合は受け取る時に関税が4000円程度かかりました。
その日の夜は、
http://instagram.com/p/ibaRewBrfP/
届いたぜ!
http://instagram.com/p/ibakwShrfX/
かっくいー!!
テンションMAX。
リアホイールを手で回して「カチカチカチ」というラチェット音を肴にビールを飲みました。

その後、信頼と実績のAmazonさんで注文していたチューブとタイヤが届いて、なんやかんやでホイールを装備。

最終的にはこんな自転車になりました。
http://instagram.com/p/ihZ8qRBrcz/
かっこよ過ぎて濡れる
http://instagram.com/p/ihaKywBrdK/
角度を変えてもシビれる

Amazon(Web Services)が大セール!c3.8xlargeがなんと!$0.0001!!

c3.8xlargeがspotインスタンスだと今なら$0.0001で使えるよ。
ホントだよ。
まだ使っている人がほとんどいないんだろうね。
f:id:qphoney:20131115105745p:plain

【追記】
場所は東京Region(ap-northeast-1)だよー。
巨大な力を手にした時、人はその力を使いたくなりますよね。
ってわけで、なんとなくMySQLをコンパイルしてみました。

$ tar zxf mysql-5.6.14.tar.gz
$ cd mysql-5.6.14
$ cmake .
$ time make -j64

real    2m10.121s
user    24m4.786s
sys     1m19.353s

まさに爆速。

OS X Mountain Lionで外部ディスプレイを検出する方法

システム設定 → ディスプレイ → ⌥(オプション)キーを押すとボタンが変わるらしいです。
OS X Mountain Lion:システム環境設定の「ディスプレイ」パネルについて
f:id:qphoney:20130821125942p:plain

nginxの古いバージョンはDNSのTTLを無視するっぽい

非常にレアなケースですが、僕はそのケースにヒットどころかホームランしてしまったのでブログに残しておきます。

どうやら、nginxの1.1.9以前のバージョンだとDNSキャッシュを独自で持ってTTLを無視する動作をします。
nginxのCHANGEには以下のように記述されています。

Changes with nginx 1.1.9                                         28 Nov 2011

    *) Change: now double quotes are encoded in an "echo" SSI-command
       output.
       Thanks to Zaur Abasmirzoev.

    *) Feature: the "valid" parameter of the "resolver" directive. By
       default TTL returned by a DNS server is used.
       Thanks to Kirill A. Korinskiy.

これに当たるケースとしては、

  • 1.1.8以前のバージョンを使っている
  • 何かしらの理由でnginxが名前解決している

場合です。
で、注意して欲しいのはepel経由でnginxをインストールしている方。
今見たらepelで配布しているnginxは1.0.15なので気をつけて下さい。

例えば、例えばですよ!?こんなシーンの時に問題になりそうですね!

  • CentOS(5系、6系問わず)を使ってepel経由でnginxをインストール
  • DNSを利用した内部or外部接続している
  • DNSのAレコードorCNAME等を変更した

こんな事になったらnginxはDNSキャッシュを持ち続けるので接続出来なくなりますね!
更に言えば、こんな時にも問題になりそうですよ!

  • nginxとELBを使っている

きゃー!たいへーん!

結論

nginx.orgの公式からインストールしましょう。
公式からrpmを配布していますし、yumリポジトリを追加すればyumコマンドで一発インストールできますよ。