本当にどうでもいいメモなどをたまに書く程度。

メモリ足りない環境で Lighttpd + PHP

日付:

SemoWeb の激安 VPS でなんとか色々動かそうというお話。
結論としては、FastCGI-PHP を1プロセスに限定して動かす ;-)


メモリ 256MB (burstable 512MB) のはずなんだけど、なぜか最低限度 (syslog とか ssh とか) + fail2ban ぐらいしか動かしてない状況で 100MB ぐらいしか残らない ;-)
正直ちょっとおかしいぐらいメモリがないというか、burstable 分は最初っから数字だけで実際にはないような感じ。
そんな状況でいつも通り apache2-mpm-itk + libapache2-mod-php5 でいこうとしたら、Apache が起動した時点で残り 10MB 未満、WordPress で作ったサイトなんかだとメモリ不足で落ちちゃってどうしようもない。

以前ならメモリが少ない環境では Mathopd を使っていたが、wheezy でパッケージ収録から外れてしまったので、Lighttpd に初挑戦。

# lighttpd-enable-mod accesslog fastcgi-php

して、vhost 周りは別途 /etc/lighttpd/sites.conf ってファイルを作って /etc/lighttpd/conf-enabled にシンボリックリンクする。

問題は PHP で、Lighttpd では CGI で使うか、FastCGI で使うか、という選択肢がある。
今回はとにかくメモリが足りないので、FastCGI を使って /etc/lighttpd/conf-available/15-fastcgi-php.conf で

"PHP_FCGI_CHILDREN" => "1",

というド外道をやる。
たった1プロセスの PHP を使い回して全部処理させるのだ。
初期設定だと4プロセス動くので、それだけでメモリがカツカツになってしまうが、ここまで削れば 50MB ぐらい残っている :-)


http → https のリダイレクト設定についてだが、検索で出てくる多くの記事では

$SERVER["socket"] == "(IP アドレス):443" { (略) }
else $HTTP["host"] =~ "^(www\.)?example.com$" {
	url.redirect = ("^/(.*)" => "https://%1/$1")
} 

といった形、つまり $SERVER["socket"] への else で書いている。しかし今後の SNI 対応を考えると、この設定では対応できない。
SNI 対応設定ではドメイン毎の証明書を $HTTP["host"] に書いていくので、リダイレクトもその中で $HTTP["scheme"] を使って書くのが正しいと思う。

$SERVER["socket"] == "(IP アドレス):443" { (略) }
$HTTP["host"] =~ "^(www\.)?example.com$" {
	(他の設定)
	$HTTP["scheme"] == "http" {
		url.redirect = ("^/(.*)" => "https://www.example.com/$1")
	}
}

MicoHosting の激安 VPS を契約してみた

日付:
タグ:

MicoHosting というホスティング業者が激安 VPS を出してて、ちょっと前から興味はあったものの契約には至らない状況だった。
それが今回 IPv6 だけのプランで年 4 USD ってのを出していたので、思わず飛びついてしまった。
我が家は IPv6 環境ないけど、最悪でも SolusVM からコンソール叩けるし、お試しお試し。

(それがなんと IPv4 に化けちゃった)
(2013/06/24 修正: その後 IPv6 が直ったというアナウンスが来て、グローバル IPv4 アドレスはお召し上げと相成り……)
(2013/09/07 追記: 08/25頃から「ノード移転でアップグレード」と称してダウンしたままで、夜逃げ目前感が激しい。要注意)

カタログスペックはこんな感じ。

  • 4 USD / 年
  • メモリ 128MB
  • ディスク 2GB
  • 月間転送量 200GB
  • 場所 ペンシルベニア州スクラントン (ping rtt 200ms 弱)
  • OpenVZ

業者自体はギリシャ人だけど、サーバーはアメリカ。まあよくある再販業者な感じ。

PayPal で料金支払ったら即開通。
ところがこいつがいきなりすっこけた。

私は Debian を使うので、開通したらすぐ SolusVM で reinstall するのだが、status: complete になってもディスク使用量が 0 表示。
boot ボタン押してみると起動しかかるんだけど、すぐ落ちちゃう。

しかたないのでサポートチケット。
新しいコンテナーを用意してくれた。しかしこれも同じ症状で動かない。

俺「同じ症状」
MH「ちょっと時間くれ」
2日後……
俺「その後どう?」
MH「IPv6 が問題だった。IPv6 切った。IPv4 でつながるようにしてある」

IPv4 に化けちゃった! わーい。 その IPv4 アドレスが以前 spammer が使ってたもののようで、逆引きにそれがついてたり、RBL に登録されていたりするのは、ご愛敬といったところか ;-)

とりあえず Debian squeeze 32bit を reinstall して、wheezy に dist-upgrade。
VPS 自体の ssh で入ってると色々殺してもメモリ不足で lzma がコケる。
apt-get が食ってるメモリもあるので個別に dpkg したりで対応したけど、どうにも syslinux と syslinux-common が通らない。
しかたないので SolusVM から入って、sshd やら cron まで殺して、さらに zsh がメモリ食うので exec /bin/dash までして通した。
しかし考えてみたら syslinux 自体必要ないので削除しておけば良かった ;-)
128MB だと fail2ban が 5MB 強とってるのが呪わしい。

ping rtt はあと 10ms ぐらいは早くてもよさそうな場所だと思ったけど、tracepath してみたら一度ニューヨークに行ってから折り返してるので、しかたないかな。

SemoWeb の激安 VPS を契約してみた

日付:
タグ:

SemoWeb というホスティング業者があって、評判はぶっちゃけ良くはないがいきなり夜逃げはしなそうな感じ。
そこが今回、OpenVZ ながら非常にお得なプランを出していたので、契約してみた。


カタログスペックはこんな感じ。

  • 12 USD / 年
  • メモリ 256MB (burstable 512M)
  • ディスク 15GB
  • 月間転送量 300GB
  • 場所 フロリダ州オーランド (ping rtt 180ms ぐらい)
  • OpenVZ

この値段だとメモリは 128MB までのところが多い中、256MB なのは結構魅力的。
しかも (書いてないけど) burstable が 512MB なので、一応そこまで使える。
複数契約したら、なぜか1台はロサンゼルスで、burstable がなくて vswap 256MB だった。

2Checkout 経由の PayPal 支払後、だいたい10分ぐらいで開通。
どうも 2Checkout 側が待たせてるようだ。

ここはノードによって設定が結構ばらばら。
VPS コントロールパネル (SolusVM) と同じノードに収容されてると、ssh でリモートログインした際の FROM がおかしかったり、別のノードではなぜか zsh のプロンプト %# が非 root でも # だったりと、色々あやしい。

DNS 逆引きは SolusVM での設定は無効化されているので、サポートチケットを切った。
25分弱で返事が来て、dig してみたらちゃんと設定済み。
評判は芳しくないという認識だったので、意外な早さに驚いてる。

LIMITED TIME とあるので、興味ある方はお早めに。


別件だけど、TurnKey Internet の VPS を Debian wheezy に upgrade しようとしたら、なんとまあホストのカーネルが 2.6.18 で、libc が上がらない1
自分ではどうしようもないので、「カーネルアップデートしてくれー」とサポートチケットを切った。
結論としてはダメ……残念ながら解約の方向かな。

俺「カーネルアップデートしてくれ」
TK「ノード全体に影響するからダメ。新鯖に移るのはどう?」
俺「値段そのままなら是非」
TK「OK。はいこれ」
俺「いやこれスペック全然違う (高い) し、年○ドルのはずが月○ドルになってる。旧鯖スペックで作り直してくれる?」
TK「年払いなの見落としてた。その値段じゃ提供無理だわ。移るのやめる?」
俺「やめる(;´Д`)」


  1. 2.6.26 以降が必要らしい。 [return]

Avante Hosting 結論「使ってはいけない」

日付:

去年の記事からその後の話を全然書いてなかったので、一応。

あれから再度移転が試みられ、その影響で私の VPS がダウン。
サポートチケットを切ると、「移転の際にあなたの VPS は壊れた。新しいのを作るのでいいか?」と来たので、
それでいいと答えた。

ところがいつになっても新しいのが作られない。
72時間でチケットが自動的にクローズされるので延長を繰り返して、1ヶ月以上経ってから「遅れててすまない。今再構築中で、ダウンタイム分は有効期間延長するよ」と返事が来たけど、やっぱり作られない。

夜逃げで音信不通になる業者にはいくつも出くわしたけど、ここまで行動が伴わないくせに口だけは対応する業者は初めてだった。
Avante Hosting は、使ってはいけない。残念。

Amazon プライム、お急ぎ便でクロネコメンバーズのポイントがつかない問題への対応

日付:

忙しい人向けの結論:

  1. Amazon お急ぎ便荷物が届いて数日は、メンバーズのポイント取得申請はしない。
  2. 数日後、ポイント履歴にその荷物が「ポイント自動付与の対象外でした」と載るので、それを見てからポイント取得申請する。
  3. さらに数日後、ポイントが付与される。

Amazon.co.jp の「お急ぎ便」はヤマト運輸「宅急便」で届くのだが、クロネコメンバーズのポイントが付与されないので、ヤマト運輸のフォームで問い合わせた。
するとクロネコメンバーズ担当の方から電話があり、私のポイント履歴を参照しつつ、細かい説明をいただけた。

私は放送大学の学生でもあるので、Amazon Student 会員だ。
Amazon Student は、つまり「学生のみ、Amazon プライムが半額、書籍はポイント還元」なので、Amazon.co.jp が発送する商品は全部お急ぎ便になる。
お急ぎ便だと、ヤマト運輸「宅急便」で届くので、クロネコメンバーズの「受取」ポイントがもらえる、はず、である。
ところが、ポイントが付与されない。

私の認識としては、こういう流れだと思っていた。

  1. 荷物が届いた当日や翌日あたりに、手動でポイント取得申請をしている (1回目)
  2. すると2、3日後に「ポイント自動付与の対象外でした」という履歴が表示される
  3. 同じ伝票番号で再度ポイント取得申請をする (2回目)
  4. ポイントが付与される

この流れから、「発送から数日を経過しないと、ポイント付与対象フラグが立たないのではないか」と考えていた。

ところが、ヤマト運輸側端末で見られる詳細な履歴1では、「ポイント自動付与の対象外でした」と表示されているデータは、私の (1回目の) 手動の申請ではなくて、システムが自動的に申請しているものということだった。

これは荷物が発送された時点というか、荷物に関する送り先のデータが入った時点で自動的に行われ、送り先がクロネコメンバーズのアカウント登録情報と一致すれば、本来ならばユーザーは何もしなくてもポイントが付与されるようだ。
しかしこれは、Amazon とヤマト運輸のデータフォーマットの違い2から、自動付与の対象外と認識される。

しかし、私の記憶では間違いなく「一度申請をしたのに対象外と表示された」からこそ、2回目の申請をしていた。
それは履歴にないと言うが、一度や二度のことではないし、履歴ですでに申請中と表示されていればわざわざ申請しない。

そこで、「システム側での自動申請は、その申請の結果が決まるまで履歴に表示されないのではないか」と質問したところ、その通りとのこと。
そうなると、「自動付与の対象外でした」となっているものは、確かに自動申請のものであって、私の (1回目の) 手動申請のものではないことについては、納得できる。

しかし「では1回目の申請はどこに行ってしまったのか」という疑問は残る。
これは私の推測だが、「自動申請が行われてから結果が確定されるまでの間に行われた、同じ送り状番号に関する手動申請は、自動申請の結果が確定された時点で履歴から消去される」のではないだろうか。
この推測はクロネコメンバーズ担当者にも話したが、起きている現象から考えるとそうかも知れない、という反応だった。

自動申請自体は行われていて、自動付与の対象外という結果になる3
私の推測通り自動申請中の手動申請が消えるならば、自動申請の結果確定後に、手動申請すれば良い。

なぜ自動と手動で結果が違うかというと、手動申請は宛先がクロネコメンバーズ登録情報と一致するか、人間の目で確認しているからだそうだ。4

荷物が届いてすぐ手動申請すると、自動申請によって手動申請が消えてしまうので、自動申請の結果確定後に行う。
これでポイントが付与されるはずだ。
というわけで冒頭の結論に至る。

ただし、電話で話していた時点では「自動申請の結果確定時点で手動申請が消える」と推測していたが、今は「自動申請中に行われた手動申請は、その手動申請が行れた時点で消える」と考えている。
手動申請は目視確認タスクを発生させるのだから、即消えるのでなければタスクがキューに入るはず。

結論はなんか手間でアレだけど、何が起きているのか、(workaround 的に) どうすればいいのか、それがわかったこと、説明が詳細に及んだことで、クロネコヤマトの俺内評価がうなぎ登り。
でも仕事で使う場合ほとんどメール便で、箱になると同一宛先割引のためにゆうパックがメインなのだが(;´Д`)


(2013/06/08 追記)
本当に放置していて自動申請分が履歴に載るのか未確定だったが、数日前の荷物が履歴に載った。
やっぱり対象外扱いでポイントついてなかったので、さっそく手動で申請。これで付与されるはず。


(2013/08/21 追記)
たまったポイントを景品に交換した。景品が宅急便で届くんだけど、そこでも受取ポイントが発生した。
こちらはちゃんと全自動でポイントがつく。


(2015/04/16 追記)
LOHACO も同じく自動ではポイントつかないようだ。



  1. ユーザー側では、申請した日と結果が出た日が違う場合、申請した日はわからなくなるが、ヤマト運輸側では申請日や申請区分など詳細な履歴が閲覧できるそうだ。 [return]
  2. このあたり要約・意訳。たとえば海外発送荷物で宛名が「MUSASHI ARAKI」だと、「荒木武蔵」と紐付けできない的な話も含む。 [return]
  3. これ自体問題だけど、今のところ「これは仕様です」的にしかたないようだ。 [return]
  4. まあ個人間荷物の送り状なんか手書きがほとんどだし、そうだろうなとは思っていたが、ご苦労様なことです。 [return]

Avante Hosting サーバー移転でのトラブル

日付:

Avante Hosting のサーバー移転で大トラブル。121時間強の長時間ダウンである。
しかも結局移転できていないようだ。

前回の記事で予告が来ていたサーバー移転。
予告では13日 21:00 (EST)、日本時間でいえば14日 11:00 からということだったが、実際には日本時間の13日 10:53 にシャットダウンされた。

それからが長い。全然つながらないのだ。
14日か15日にはコアルーターがどうたらという釈明の tweet が出ていた (が、削除されている)。
その後ネットワーク問題が生じて移転が遅れている旨の tweet。

結局 VPS が復旧したのは今日の昼過ぎで、ダウンタイムは連続121時間強となった。
さっそく tracepath してみると、これ実は移転してないじゃんという結果。
東京 – サンノゼ – ロサンゼルス – ヒューストン – マイアミ – VPS。
ping rtt も変わりない。

復旧後今に至るまでアナウンスなし。
うーん、やっぱダメな業者だったかな?

Avante Hosting のサーバーが急遽移転

日付:

Avante Hosting のサーバーが移転するとの連絡が今朝入った。
来た来たって感じだ。激安 VPS はよくこういうことがある。それも連絡から実際の移転までの日数が近いんだ。

今回 Avante Hosting のサーバー移転は、9月13日 21:00 (EST) ということらしい。
連絡から3日で実際に移転されちゃうわけだ。

多くの激安 VPS では、こうした移転の際には IP アドレスの変更を伴うが、今回 VPS は Server IPs will NOT change. とのことで変更なし。
Avante Hosting は Minecraft のサーバーもやっていて、そちらは IP アドレス変更らしい。

移転先はテキサス州ダラスということで、日本からは少し近くなる。
今はフロリダで ping rtt 190ms 前後だが、経験上テキサスなら 150~160ms 前後になるはずだ。

Avante Hosting 激安 KVM VPS の1ヶ月レビュー

日付:

Avante Hosting の KVM VPS 128MB を利用開始してから1ヶ月経過したので、レビューを。

結論から言うと……激安系の中ではマシな方かな? ;-)

といってもたいした使い方はしてなくて、DNS のセカンダリを置いたり、他サーバーの稼働チェックを回している程度。

全体的に CPU を食う処理は遅い。他社の詰め込みまくり (overselling) OpenVZ とかよりも、基本的には遅い印象。だがこれは逆に CPU の割り当てをきっちり絞っていて、隣人の影響を受けにくいのかも知れない。
aptitude upgrade の際に Building dependency tree で待たされたり、gzip をほどくのに時間がかかっているのが、CPU の遅さを体感する典型例。
激安 VPS に多いストレージ激重には、今のところ出くわしていない。

利用開始から1ヶ月間のダウンタイムは以下の通り。

  • 8/14 : 11時間弱
  • 8/30 : 6時間弱
  • 9/04 : 2時間

このところ BuyVM や TurnKey Internet の優秀さに慣れてしまっているので、この落ちっぷりで久々に「俺、激安 VPS 使ってる!」感をおぼえた(笑)。
月 1 USD であると前置きしたら、稼働率 97.4% はマシな方。というわけで、激安系の中ではマシな方。
次の1ヶ月に期待。

スタードメインへのドメイン再移管手順

日付:

過去に一度スタードメインで登録、またはスタードメインに移管したことがあり、現在他社に移管済みのドメインを、再度スタードメインに移管する際の手順 (2012年8月版)。
他社ではわざわざ手順のメモなど必要なく、ただ普通に移管を試みれば済むのだが、スタードメインで移管申請を出そうとドメイン検索すると「× 移管できません」と表示され、申請できないのだった。

というわけでカスタマーサポートに連絡したところ、指示された手順は以下の通り。

  1. 移管にかかる料金分のプリペイドをチャージする。

  2. カスタマーサポートにドメイン再移管の旨と対象ドメイン、希望上位レジストラーを連絡する。

  3. カスタマーサポート対応後、コントロールパネルに対象ドメインが現れ、右側の通常「ドメイン管理ツール」ボタンが表示されているエリアに「移管申請手続き」ボタンが表示されているので、押す。

  4. 以降、通常の移管手順同様に進んでいくので、適宜対応。

なお、この場合の移管では、A8 のセルフバックを踏んでも適用外になるようだ。

Avante Hosting の激安 KVM VPS を契約してみた

日付:

Avante Hosting の KVM VPS 128MB を契約してみた。

2、3年ほど前から OpenVZ VPS は月あたり 1 USD のものが登場していたが、Xen や KVM の VPS はなかなかそこまでの値段には下がらなかった。
ところが Avante Hosting は半年で 6 USD、月あたり 1 USD で Xen、KVM の提供である。
カナダの会社で、VPS のホストはフロリダ。東京からの ping rtt は 190ms 前後。

コントロールパネルは SolusVM で、料金を支払うと即開通 (私は PayPal で支払った)。
初期状態では ssh も入っていないので、VNC で設定していくことになる。
ここで少し引っかかった点として、コントロールパネルにある Java VNC Viewer が Firefox、Iron で動かない。
Internet Explorer を使うか、View Connection Settings に書かれている接続情報でスタンドアローンの VNC Viewer を使う必要がある。

OS の選択肢は、おおむね普通。Debian、Ubuntu、CentOS Arch、FreeBSD、OpenBSD など。契約時の選択肢には 64bit 版しかないが、コントロールパネルでマウントできる CD-ROM イメージには 32bit 版もあるので、CD-ROM 優先で起動するようにしてリブートすれば再インストール可能。
なにぶん 128MB プランの契約なので、少しでもメモリーフットプリントが小さくなる方がいい。

DNS 逆引きは、あらかじめその正引きが VPS の IP アドレスになっているようにしておいてから、コントロールパネルで設定する。設定完了後はすぐ反映される。

Setting のところで NIC と HDD に vertio が選べるので、再インストール前に切り替えてみた。
しかし 128MB プランで色々パワーが足りないので、体感できるほどの違いはない。

稼働安定性のほどは未知数ながら、KVM では swap が設定できるのでありがたい。
3年半使っている OpenVZ 128MB VPS は burstable も 128MB なので、aptitude upgrade の際いくつか daemon 殺さないとメモリー不足でコケる ;-)