RSS

初出:2012年9月 9日 22:16

あなたが今アクセスしているこのサーバーはいわゆる「自宅サーバー」であり、かつてはフレッツADSLの固定IPプランで運営していた。自宅のマンションに導入されている光回線はフレッツじゃなく、回線プロバイダもオプションサービスが豊富じゃないもんで、固定グローバルIPが取得できないのだ。仕方なくADSLを別途契約して使っていたけど、こいつがなかなか遅い。NTTの収容局までの距離は3,830メートル。8Mbpsプランとか12Mbpsプランに加入したとしても実測は3Mbpsも出ないらしい。

6年も騙し騙し使ってきたんだけど、この品質に月額2,500円とか払うのはあまり賢くない気がしてきて、なんとか光回線で固定IPを取得できる術はないか調べたところ、ありました。インターリンクというプロバイダが運営している「マイIP」というサービス。「どこでも固定IPアドレスが使えます」「幅広いOSに対応」「格安シンプル」...と気前のよいコピーが並んでいる。どれどれと見てみると、VPNでインターリンク側のサーバーと接続し、そこで固定IPが割り振られるという仕組みらしい。

インターリンク:マイIP
http://www.interlink.or.jp/service/myip/

たしかにVPNであれば、対応しているOSならどれでも使える。Mac OS Xはもちろん、iOSだって使える(使わないけど)。さらに、インターネットとの接続はインターリンクのVPNサーバー経由で行われるので、回線種別に拘束されることもないし、もし将来引っ越したりしたときでもIPアドレスが変わることなく使える。これはなかなか便利。

もちろん懸念点もあって、FAQやウェブの評判を見ていると「VPN経由なので速度が出ない」というのと「VPN接続が安定していない(回線が切れる)」というデメリットもあるらしい。それ以上の突っ込んだレポートが見つからなかったので、半年ほど二の足を踏んでいたんだけど、月額1,060円と今の回線コストの半分だし、最大60日はお試し利用ができるということなので、トライしてみた。

簡単な申し込みとクレジットカード登録を済ませると、VPNサーバーアドレスとアカウントがメールで届く。それをマイIPの接続マニュアルのとおりに設定する。Mac OS Xの場合はシステム環境設定の「ネットワーク」ですべて済むので、とても簡単。


マイIPの設定画面

Mac OSX v10.7.x および v10.8.xの設定 ■マイIP■
https://faq.interlink.or.jp/faq2/View/wcDisplayContent.aspx?id=1176

これだけでもう固定IP接続になっている。では早速、回線スピードを計ってみると、これがなかなか速いのだ。

http://suite2.musen-lan.com/speed/uptest.cgi
上り(アップロード)速度テスト結果
データ転送速度:24.69Mbps (3.08MB/sec)
アップロードデータ容量:1000kB
アップロードに要した時間:0.324秒

インターリンクのFAQページには「弊社ではおよそ 2Mbps〜4Mbpsと推測しております。」と書いてあるんだけど、いやいや、24Mbpsも出れば全く問題無し。自宅サーバーの使い道のひとつとして、Mac OS X Serverがもつ「モバイルホーム」機能というのを多用しており、これは何かというと、サーバーに繋がっているMacとサーバー間でユーザーフォルダの中身を丸ごと同期してくれるという優れもの。しかし大きなファイルを作業していると、同期にえらい時間がかかっていたのが、インターネット経由でも数分で完了するくらいになってくれたのは、本当にありがたい。

サーバー運用としては死活問題なのが、回線の安定性。いくら安くて速くてもブチブチ切れてしまってはサーバー回線としては使えない。これはテストするにも時間がかかるのと、切れたことを検知するのが一苦労なので、別の発想をすることにした。つまり、切れてもすぐに繋げばいいじゃない。そこで、VPNの自動接続ができないものか調べてみたところ「ライフハッカー」というサイトに、ドンピシャの記事があった。Apple ScriptでVPNが切れたことを感知して、自動接続するという優れものなスクリプトである。

Mac OS X起動時にVPNで自動接続&途切れても再接続するように設定できる:ライフハッカー[日本版]
http://www.lifehacker.jp/2012/08/120814os_x_vpn.html

これがすこぶる調子良く動いてくれる。たとえサーバーを再起動しても60秒以内にVPNが自動復帰するのだから、便利な事、この上ない。

そんなわけで、さようならSo-netさん、いままでありがとう。しばらくはこの「マイIP」でもってサーバー運用を続けてみよう。

Googleさんは、この記事をこう解釈しました

記事の詳細ページ

記事の全文を表示します。関連するコメントやトラックバックなどもこちらからどうぞ。

本日のBGM

★印があったら「これは聴いてみてほしい!」という推薦曲です。曲名をクリックするとiTunes Storeへジャンプします。

'; // loop through the songs in the array and get 4 fields that I want to see foreach ($songs as $song) { $output .= '
  • '; if ($song["Rating"] == 100){ $output .= ''.$song["Rating"].''; } $output .= '
    '; $output .= '
    '.$song["Name"].''; $output .= '
    '.$song["Artist"].''; $output .= ''.$song["Album"].''; if ($song["Year"]){ $output .= '('.$song["Year"].')'; } $output .= '
  • '; } // end the table $output .= ''; // show my new table print ($output); } ?>

    Now & Then

    Twitter Updates

      OAuthRequest('https://api.twitter.com/1.1/statuses/user_timeline.json','GET',array('screen_name' =>$search_word,'count' =>'3')); //Jsonデータをオブジェクトに変更 $oObj = json_decode($vRequest); //var_dump(json_decode($vRequest)); //オブジェクトを展開 for($i_tweet = 0; $i_tweet < sizeof($oObj); $i_tweet++){ $screen_name = $oObj[$i_tweet] -> {'screen_name'};//ユーザーID $profile_image_url = $oObj[$i_tweet] -> {'profile_image_url'};//プロフィール画像のURL $text = $oObj[$i_tweet] -> {'text'};//ツイート $date = $oObj[$i_tweet] -> {'created_at'};//時間 $tweet_time=strtotime($date);//Unixタイムスタンプ形式に変換 $now_time=time();//現在の時刻をUnixタイムスタンプで取得 $relative_time=$now_time-$tweet_time;//つぶやかれたのが何秒前か if($relative_time<60){//ss $displayTime = $relative_time.'秒前'; }elseif($relative_time>=60 && $relative_time<(60*60)){//mm $displayTime = floor($relative_time/60).'分前'; }elseif($relative_time>=(60*60) && $relative_time<(60*60*24)){//hh $displayTime = floor($relative_time/(60*60)).'時間前'; }elseif($relative_time>=(60*60*24)){//日付 $displayTime = date('n月j日',$tweet_time); } //表示 echo '
    • ' . $text .'' . $displayTime . '
    • '; } ?>
    follow me on Twitter