<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>klog</title>
    <link rel="alternate" type="text/html" href="http://5net.com/blog/" />
    <link rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/5net-com/blog" />
    <id>tag:5net.com,2009-09-27:/blog//1</id>
    <updated>2012-03-27T07:47:04Z</updated>
    <subtitle>AWS (Amazon Web Services) を中心にクラウドコンピューティングを追ったり、あとはガジェットやウェブサービスなど。モバイル版はこちら。</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type Pro 5.01</generator>

<entry>
    <title>CloudFrontでキャッシュ時間を長くしながらも運用作業量を下げる方法</title>
    <link rel="alternate" type="text/html" href="http://5net.com/blog/2012/03/reducing-operational-task-by-revving-filenames-in-cloudfront-with-ec2.html" />
    <id>tag:5net.com,2012:/blog//1.85235</id>

    <published>2012-03-27T07:06:45Z</published>
    <updated>2012-03-27T07:47:04Z</updated>

    <summary> CDNを使うのはキャッシュ目的であることがほとんどですが、スムースなアクセスを実現するにはキャッシュする時間を長くすべきです。もし無期限に設定したら1度オリジナルファイルを読めば後はCDNのサーバー...</summary>
    <author>
        <name>kaz</name>
        
    </author>
    
        <category term="technology" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="amazoncloudfront" label="amazon-cloudfront" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="amazonec2" label="amazon-ec2" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="amazonwebservices" label="amazon-web-services" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="apache" label="apache" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://5net.com/blog/">
        <![CDATA[<p>
<img src="http://media.amazonwebservices.com/logo_aws.gif" align="right" alt="amazon web services logo" /><br />
CDNを使うのはキャッシュ目的であることがほとんどですが、スムースなアクセスを実現するにはキャッシュする時間を長くすべきです。もし無期限に設定したら1度オリジナルファイルを読めば後はCDNのサーバーまかせにできるので非常に効果的ですね。
</p>

<p>
しかし実際のサイトを運営していくのは必ずファイル更新作業があり、この同じファイルの更新の場面でCDNが入っていることで問題なります。キャッシュ時間を長くすることと更新を反映させることはCDN使う上では相反する行為だからですね。
</p>

<p>
世の中ではこうした問題を軽減するための手法がいくつか存在します。その一つがファイル名にバージョンを入れる<a href="http://my.safaribooksonline.com/book/web-development/9780596529307/rule-3-add-an-expires-header/revving_filenames">Revving Filenames</a>という手法です。
</p>

<p>
要するに更新があったら「test.1.0.1.jpg」のようにファイル名にバージョン番号などを入れることで違うリソースとして認識させる手法のこと。これ完全に自動化されたデプロイ環境ならいいけど、手動でこれをするのは手間が多すぎしミスも発生しそう。
</p>

<p>
今回は、仮にHTML生成がアプリだとしてHTML中のパスを変えるのは簡単で、静的ファイルのファイル名を更新管理するのが難しいケースにしぼって、この問題を少しでも軽減すべくCloudFrontとEC2で試してみました。
</p>]]>
        <![CDATA[<p>
前提としては、以下の通り。<br />
・ファイル更新者はバージョン番号など入れずにいつもの通りファイル更新できる<br />
・アプリでは画像のなどのパスを簡単に変更可能
</p>

<p>
まずEC2上のApacheの設定はこんな感じです。Expireヘッダー追加。1ヶ月キャッシュする設定。加えて <strong>/vXXX/</strong>（Xは数字）というパスを無視する設定。ドキュメントルート直下の「v」付のパスを無視するので「<strong>/v2/img/test.jpg</strong>」のようなアクセスには「<strong>/img/test.jpg</strong>」と内部で理解して画像を返すだけになります。
</p>

<pre class="brush:bash">
ExpiresActive On
ExpiresDefault "access plus 1 month"

RewriteEngine  on
RewriteRule    ^/v[0-9]*/(.*)  /$1  [PT]
</pre>

<p>
このEC2へ向けたCloudFrontではパスを変えなければ1度アクセスしたファイルは1ヶ月間再アクセスしません。ファイル更新があったら「/vXXX/」を付け加えれるか数字を変更するだけ。
</p>

<p>
CloudFront経由で1度目のリクエストをしてみます。
</p>

<pre class="brush:bash;highlight:[12]">
$ curl -I http://d2tm6aw44wcrbw.cloudfront.net/img/test.jpg
HTTP/1.0 200 OK
Date: Tue, 27 Mar 2012 07:12:13 GMT
Server: Apache/2.2.22 (Amazon)
Last-Modified: Tue, 27 Mar 2012 07:11:54 GMT
ETag: "202de-1bf50-4bc3434a08760"
Accept-Ranges: bytes
Content-Length: 114512
Cache-Control: max-age=2592000
Expires: Thu, 26 Apr 2012 07:12:13 GMT
Content-Type: image/jpeg
X-Cache: Miss from cloudfront
X-Amz-Cf-Id: EOrigK-aBfRHo4KPpp7CgAZUT0pb07l8Tzy5DYoadCemegctIIkCVg==,An6PZuCBnIBjuY7FJNPa_tSvRvPkLbutAoqwp-QDxTY148bwU2PEkA==,7JJ6bolg3h3mQKAWBLlOIHgvcRj-Xb1zCQ-OPTTQ0wp5Ct7-WZMC7w==
Via: 1.0 ad24b1fd4aff5951d51e7e0f2f730c0b.cloudfront.net (CloudFront)
Connection: close
</pre>

<p>
するとEC2上のApacheログではアクセスされた記録が残ります。<br />
（上記のX-Cacheヘッダーにも「Miss from cloudfront」とありますね）
</p>

<pre class="brush:bash">
216.137.52.64 - - [27/Mar/2012:07:12:13 +0000] "HEAD /img/test.jpg HTTP/1.0" 200 - "-" "Amazon CloudFront"
</pre>

<p>
2度目に同じURLへアクセスをしてもログには何もでません。当然アクセスしてないため出ません。<br />
（X-Cacheは「Hit from cloudfront」となっていてキャッシュヒットしたことを表してます）
</p>

<pre class="brush:bash;highlight:[13]">
$ curl -I http://d2tm6aw44wcrbw.cloudfront.net/img/test.jpg
HTTP/1.0 200 OK
Date: Tue, 27 Mar 2012 07:12:13 GMT
Server: Apache/2.2.22 (Amazon)
Last-Modified: Tue, 27 Mar 2012 07:11:54 GMT
ETag: "202de-1bf50-4bc3434a08760"
Accept-Ranges: bytes
Content-Length: 114512
Cache-Control: max-age=2592000
Expires: Thu, 26 Apr 2012 07:12:13 GMT
Content-Type: image/jpeg
Age: 226
X-Cache: Hit from cloudfront
X-Amz-Cf-Id: l0LBQIqIxcu2nDo1iKI4LlqUXM11OdWKidnVNc39kOV4ou-YH6eiMg==,HX6LoFlUcESJUhfb81X0RiZBpgiD-Of_y9CqPoiqKdnRTgvvWsLGfw==
Via: 1.0 23ebd0f161b523c5675721fc89f813b9.cloudfront.net (CloudFront)
Connection: close
</pre>

<p>
ここで同じファイルを同じ場所で更新した前提でURLに /v2/ を追加してみます。
</p>

<pre class="brush:bash;highlight:[12]">
$ curl -I http://d2tm6aw44wcrbw.cloudfront.net/v2/img/test.jpg
HTTP/1.0 200 OK
Date: Tue, 27 Mar 2012 07:15:40 GMT
Server: Apache/2.2.22 (Amazon)
Last-Modified: Tue, 27 Mar 2012 07:11:54 GMT
ETag: "202de-1bf50-4bc3434a08760"
Accept-Ranges: bytes
Content-Length: 114512
Cache-Control: max-age=2592000
Expires: Thu, 26 Apr 2012 07:15:40 GMT
Content-Type: image/jpeg
X-Cache: Miss from cloudfront
X-Amz-Cf-Id: B6YTDO3U3Y0Bwmxk3oWEWgXrSrhZ5ZM7-F4MhwyP_afZ8jxnVfdiHw==,6Us2F8ffb1KX7ISKXx8ir_x9frYfKdww5r10Aec9fgeU6BVsHgceqg==,PxaKaYsuAkjzxbBg34Ho0qicahSuY2XtG2iN7POjD-uN_9xr0nqbTA==
Via: 1.0 23ebd0f161b523c5675721fc89f813b9.cloudfront.net (CloudFront)
Connection: close
</pre>

<p>
するとまたキャッシュがヒットしました。EC2のアクセスログにも記録がでました。
</p>

<pre class="brush:bash;highlight:[2]">
216.137.52.64 - - [27/Mar/2012:07:12:13 +0000] "HEAD /img/test.jpg HTTP/1.0" 200 - "-" "Amazon CloudFront"
216.137.52.64 - - [27/Mar/2012:07:15:40 +0000] "HEAD /v2/img/test.jpg HTTP/1.0" 200 - "-" "Amazon CloudFront"
</pre>

<p>
このようにファイルの置き場所やファイル名は一切変えずにパスだけを変えてファイル更新を実現することができました。おしまい。
</p>

<p>
ふぅ、ながながしく書いた割りにはたいしたことやってないけど、人に感心されたので他の人にも役に立つかもしれないのでポストしとく。
</p>]]>
    </content>
</entry>

<entry>
    <title>今年一年振り返り（個人＋cloudpack）</title>
    <link rel="alternate" type="text/html" href="http://5net.com/blog/2011/12/summarize-2011.html" />
    <id>tag:5net.com,2011:/blog//1.85234</id>

    <published>2011-12-28T16:08:45Z</published>
    <updated>2011-12-28T17:06:29Z</updated>

    <summary> 今年は本当に恵まれた年だった。本来3月の大地震、そして身内に不幸が続いたりして、本来ならばネガティブな流れだったはず。 ところが驚くほど多くの出会いに恵まれて、公私問わず喜怒哀楽を出し切れる仲間に出...</summary>
    <author>
        <name>kaz</name>
        
    </author>
    
        <category term="diary" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="amazonwebservices" label="amazon-web-services" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="cloudpack" label="cloudpack" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://5net.com/blog/">
        <![CDATA[<p>
<img src="http://farm8.staticflickr.com/7016/6588505077_cea321ab54_o.png" width="250" align="right" alt="cloudpack logo" />
</p>

<p>
今年は本当に恵まれた年だった。本来3月の大地震、そして身内に不幸が続いたりして、本来ならばネガティブな流れだったはず。
</p>

<p>
ところが驚くほど多くの出会いに恵まれて、公私問わず喜怒哀楽を出し切れる仲間に出会えたことでこの一年がんばれた気がする。公私を分けずにいる状態、それが逆に心地良くて、おかげですべてが充足感のある一年だった気がする。
</p>

<p>
特に地震の際は、仲間とともにAWSの協力のもとボランティアで各種ウェブサイトの復興を手伝ったわけだが、これが思いの外楽しかった。緊急時の対応なのだから真剣にやっているのはもちろんだが、本来の仕事そっちのけでこういう判断をして取り組む、そうした思いに全くブレがなく一致してたことや、それぞれが持つ能力を出し切りつつ「あ・うん」の呼吸で役割分担する。こうした経験を通じて、より信頼感が高まったのだと思う。
</p>

<p>
さてさてハードだった今年をカレンダーを見て振り返ってみようと思う。
</p>

<p>
---<br />

</p>]]>
        <![CDATA[<p>
▼2月9日(水) GlobalSign パートナー会議 講演<br />
　■<a href="http://www.slideshare.net/kaz.goto/20110209-awsssl">20110209 awsと第二世代ワンクリックssl連携ツール</a><br />
　<br />
▼2月19日(土) JAWS-UG大阪 第1回勉強会 講演<br />
　■<a href="http://www.slideshare.net/kaz.goto/jawsug-osaka-1">JAWSUG Osaka 第1回 ウェブサイト構築事例紹介</a><br />
　<br />
▼3月2日(水)〜3日(木) 日経 Cloud Days Tokyo 出展<br />
　<a href="http://www.cloudpack.jp/event/clouddaystokyo2011.html">http://www.cloudpack.jp/event/clouddaystokyo2011.html</a><br />
　<a href="http://blog.cloudpack.jp/2011/03/news-event-cloud-days-tokyo-report.html">http://blog.cloudpack.jp/2011/03/news-event-cloud-days-tokyo-report.html</a>
</p>

<p>
▼3月3日(木) 日経 Cloud Days Tokyo AWSセッション パネルディスカッション 登壇<br />
　<a href="http://itpro.nikkeibp.co.jp/article/NEWS/20110303/357925/">http://itpro.nikkeibp.co.jp/article/NEWS/20110303/357925/</a>
</p>

<p>
▼3月11日(金) 東北地方太平洋沖地震
</p>

<p>
▼3月11日(金)〜18日(金) タイガーチームとしてボランティア活動(ほぼ100%稼働)<br />
　〜4月中旬 タイガーチームとしてボランティア活動(通常業務とあわせて対応)
</p>

<p>
▼3月15日(火) AWS × cloudpack 共同開催セミナー （キャンセル）<br />
　<a href="http://www.cloudpack.jp/event/seminar20110315.html">http://www.cloudpack.jp/event/seminar20110315.html</a>
</p>

<p>
▼4月6日(水) AWSクラウドアドバンテージセミナー 講演<br />
　■<a href="http://www.slideshare.net/kaz.goto/ss-7531689">キャンペーンサイトでのクラウド活用事例 ＋ 災害時対応での事例</a><br />
　　<br />
▼4月23日(土) JAWS-UG大阪 第2回勉強会 講演<br />
　■<a href="http://www.slideshare.net/kaz.goto/jawsug-osaka-2">JAWS-UG Osaka勉強会 第2回 「災害後 活動報告」</a><br />
　　<br />
▼5月4日(水)〜5日(木) AWS Partner Advisory Summit 参加（シアトル Amazon本社）
</p>

<p>
▼5月11日(水)〜13日(金) クラウドコンピューティングEXPO 出展＋講演<br />
　<a href="http://www.cloudpack.jp/event/2ndcloudcomputingexpo-spring.html">http://www.cloudpack.jp/event/2ndcloudcomputingexpo-spring.html</a><br />
　■<a href="http://www.slideshare.net/kaz.goto/cloudpack-7961616">cloudpackでホンモノのクラウドを乗りこなそう</a><br />
　■<a href="http://www.slideshare.net/kaz.goto/ss-7961622">災害時対応とクラウド</a><br />
　　<br />
▼6月6日(月)〜10日(金) Cloud Computing Expo 2011 + AWS Summit + RigthScale User Conference in San Jose/Santa Clara （キャンセル）
</p>

<p>
▼6月18日(土) JAWS-UG大阪 第3回勉強会 講演<br />
　■<a href="http://www.slideshare.net/kaz.goto/jawsug-osaka-3-rds-for-oracle">JAWS-UG Osaka勉強会 第3回 RDS for Oracle実践導入 その前に</a><br />
　　<br />
▼6月21日(火) JAWS−UG九州 第3回勉強会 講演<br />
　■<a href="http://www.slideshare.net/kaz.goto/jawsug-fukuoka-3-aws">JAWS-UG Fukuoka勉強会 第3回 災害時の対応とAWSの力</a><br />
　　<br />
▼7月14日(木) JAWS-UG東京 第9回勉強会 講演<br />
　<a href="http://blog.cloudpack.jp/2011/07/news-event-jawsug20110714.html">http://blog.cloudpack.jp/2011/07/news-event-jawsug20110714.html</a><br />
　■<a href="http://www.slideshare.net/kaz.goto/jawsug-tokyo-9-rds-for-oracle">JAWS-UG Tokyo 第9回勉強会 RDS for Oracle使ってみた</a><br />
　　<br />
▼7月20日(水) 株式会社大塚商会 BP Platinum Type-S セミナー 出展<br />
　<a href="http://blog.cloudpack.jp/2011/07/news-event-type-s.html">http://blog.cloudpack.jp/2011/07/news-event-type-s.html</a>
</p>

<p>
▼7月21日(木) 第3回Backlogチャネル 講演<br />
　<a href="http://www.cloudpack.jp/event/backlogchannel20110721.html">http://www.cloudpack.jp/event/backlogchannel20110721.html</a><br />
　<a href="http://blog.cloudpack.jp/2011/07/news-event-backlogchannel20110721.html">http://blog.cloudpack.jp/2011/07/news-event-backlogchannel20110721.html</a><br />
　■<a href="http://www.slideshare.net/kaz.goto/201107213backlog">第3回backlogチャンネル IaaS型クラウドサービス利⽤とDR対策</a>
</p>

<p>
▼7月27日(水) Direction 2011 出展＋講演<br />
　<a href="http://direction.jpn.com/">http://direction.jpn.com/</a><br />
　■<a href="http://www.slideshare.net/kaz.goto/cloudpackaws-8700073">cloudpackが提供するAWSセキュリティソリューション - cloudpackセキュリティ+</a><br />
　<br />
▼8月3日(水) 株式会社ハイパー向けcloudpack説明会 講演
</p>

<p>
▼8月31日(水)〜9月1日(木) Cloud Computing World Tokyo 2011 出展<br />
　<a href="http://blog.cloudpack.jp/2011/08/news-event-cloud-computing-world-tokyo.html">http://blog.cloudpack.jp/2011/08/news-event-cloud-computing-world-tokyo.html</a><br />
　<a href="http://blog.cloudpack.jp/2011/09/news-event-cloud-computing-world-tokyo.html">http://blog.cloudpack.jp/2011/09/news-event-cloud-computing-world-tokyo.html</a>
</p>

<p>
▼9月2日(金) JAWS−UG女子会〜クラウドセキュリティ徹底入門〜 講演<br />
　<a href="http://cloudgirls.blogspot.com/2011/08/jaws-ug.html">http://cloudgirls.blogspot.com/2011/08/jaws-ug.html</a><br />
　<a href="http://blog.cloudpack.jp/2011/09/news-event-jawsug20110902.html">http://blog.cloudpack.jp/2011/09/news-event-jawsug20110902.html</a><br />
　<a href="http://www.cloudpack.jp/event/jawsug20110902.html">http://www.cloudpack.jp/event/jawsug20110902.html</a><br />
　■<a href="http://www.slideshare.net/kaz.goto/jawsug-cloudpack">第二回JAWS-UGクラウド女子会 cloudpack紹介</a><br />
　　<br />
【9/13〜9/18 九州ツアー】<br />
▼9月13日(火) JAWS-UG福岡 第4回勉強会 講演<br />
　<a href="http://kokucheese.com/event/index/16141/">http://kokucheese.com/event/index/16141/</a><br />
　<a href="http://blog.cloudpack.jp/2011/09/news-doc-jawsug-fukuoka-04.html">http://blog.cloudpack.jp/2011/09/news-doc-jawsug-fukuoka-04.html</a><br />
　■<a href="http://www.slideshare.net/kaz.goto/jawsug-4-ebs">JAWS-UG福岡 第4回勉強会 EBSの話と普通のディスク障害の話</a>
</p>

<p>
▼9月14日(水) 福岡県情報サービス産業協会 臨時総会 講演
</p>

<p>
▼9月16日(金) JAWS-UG宮崎 第2回勉強会 参加<br />
　<a href="http://kokucheese.com/event/index/15918/">http://kokucheese.com/event/index/15918/</a>
</p>

<p>
▼9月17日(土) JAWS-UG鹿児島 第1回勉強会 講演<br />
　<a href="http://www.zusaar.com/event/104151">http://www.zusaar.com/event/104151</a><br />
　■<a href="http://www.slideshare.net/kaz.goto/jawsug-1-cloudpack">JAWS-UG鹿児島 第1回勉強会 cloudpack紹介</a>
</p>

<p>
▼9月22日(木) 東洋経済クラウド特集 取材<br />
　<a href="http://lib.toyokeizai.net/ad/special/111024cloud/iret.html">http://lib.toyokeizai.net/ad/special/111024cloud/iret.html</a>
</p>

<p>
【9/24〜9/27 静岡→沖縄ツアー】<br />
▼9月24日(土) クラウド・カンファレンス in 静岡 講演<br />
　<a href="http://atnd.org/events/19129">http://atnd.org/events/19129</a><br />
　<a href="http://blog.cloudpack.jp/2011/09/news-doc-cloud-conference-shizuoka.html">http://blog.cloudpack.jp/2011/09/news-doc-cloud-conference-shizuoka.html</a><br />
　■<a href="http://www.slideshare.net/kaz.goto/awscloudpack-9400829">AWSフルマネージドホスティングサービスcloudpack</a><br />
　　<br />
▼9月26日(月) JAWS-UG沖縄 第1回勉強会<br />
　<a href="http://atnd.org/events/21873">http://atnd.org/events/21873</a><br />
　■<a href="http://www.slideshare.net/kaz.goto/jawsug-9422558">JAWS-UG沖縄 キックオフ勉強会 cloudpack紹介</a><br />
　　<br />
【10/5〜10/9 LA出張】<br />
▼10月6日(木) AWS Media and Entertainment Cloud Summit 参加
</p>

<p>
▼10月12日(水)〜14日(金) ITpro EXPO 2011 出展<br />
　■<a href="http://www.slideshare.net/kaz.goto/cloudpackaws-9726443">cloudpackが提供するAWSセキュリティソリューション</a>
</p>

<p>
▼10月12日(水) JAWS-UG東京 第10回勉強会 参加<br />
　<a href="http://atnd.org/events/20312">http://atnd.org/events/20312</a>
</p>

<p>
【10/28〜11/12 名古屋→シアトル→大阪→東京→San Jose】<br />
▼10月29日(土) JAWS-UG名古屋 第2回勉強会 講演<br />
　<a href="http://atnd.org/events/20799">http://atnd.org/events/20799</a><br />
　■<a href="http://www.slideshare.net/kaz.goto/jawsug-nagoya2-cloudpack">JAWS-UG Nagoya勉強会第2回 cloudpack 紹介</a><br />
　　<br />
▼10月31日(月)〜11月2日(水) Architecting with AWS 参加（Amazon本社トレーニング）<br />
　<a href="http://aws.amazon.com/jp/aws-training/architect/">http://aws.amazon.com/jp/aws-training/architect/</a>
</p>

<p>
▼11月5日(土) JAWS-UG大阪 第4回勉強会 参加<br />
　<a href="http://osaka.jaws-ug.jp/2011/11/19/jawsug_osaka_4_workshop_report/">http://osaka.jaws-ug.jp/2011/11/19/jawsug_osaka_4_workshop_report/</a>
</p>

<p>
▼11月7日(月)〜10日(木) Cloud Computing Expo 2011 in Santa Clara 参加
</p>

<p>
▼11月9日(水) RightScale Conference in Santa Clara 参加<br />
　<a href="http://www.rightscale.com/conference/">http://www.rightscale.com/conference/</a>
</p>

<p>
▼11月10日(木) AWS Start-Up Challenge Finale 2011 in San Jose 参加<br />
　<a href="http://aws.amazon.com/jp/startupchallenge-finale2011/">http://aws.amazon.com/jp/startupchallenge-finale2011/</a>
</p>

<p>
【11/17〜11/20 札幌】<br />
▼11月19日(金) JAWS−UG札幌 第4回勉強会<br />
　<a href="http://www.affordance.co.jp/seminar/111119.html">http://www.affordance.co.jp/seminar/111119.html</a><br />
　■<a href="http://www.slideshare.net/kaz.goto/4-jawsugsapporo-cloudpack">第4回 JAWS-UG-Sapporo 勉強会 cloudpack 紹介</a><br />
　　<br />
▼11月21日(月) 代理店・制作会社向けAWS/cloudpackセミナー 講演<br />
　<a href="http://blog.cloudpack.jp/2011/11/news-event-aws-cloudpack-seminar_16.html">http://blog.cloudpack.jp/2011/11/news-event-aws-cloudpack-seminar_16.html</a>
</p>

<p>
▼11月24日(木) JAWS-UG東京 ビギナー編第1回勉強会 開催<br />
　<a href="http://atnd.org/events/21989">http://atnd.org/events/21989</a>
</p>

<p>
【11/25〜11/28 浜松→静岡】<br />
▼11月26日(土) JAWS-UG浜松 勉強会キックオフ 講演<br />
　<a href="http://atnd.org/events/21291">http://atnd.org/events/21291</a><br />
　■<a href="http://www.slideshare.net/kaz.goto/1-jawsug-awsawsec2">第1回 JAWS-UG浜松 勉強会 AWSハンズオン 「AWSアカウント作成〜EC2ログイン」</a><br />
　　<br />
▼11月27日(日) JAWS-UG静岡 勉強会キックオフ 講演<br />
　<a href="http://atnd.org/events/21462">http://atnd.org/events/21462</a><br />
　■<a href="http://www.slideshare.net/kaz.goto/1-jawsug-awsawsec2-10346882">第1回 JAWS-UG静岡 勉強会 AWSハンズオン 「AWSアカウント作成〜EC2ログイン」</a><br />
　　<br />
▼12月2日(金) JAWS-UG沖縄 第1回勉強会 参加<br />
　<a href="http://atnd.org/events/21873">http://atnd.org/events/21873</a>
</p>

<p>
【12/8〜12/10 札幌】<br />
▼12月9日(金) Open Cloud Conference 2011 in Sapporo 講演<br />
　<a href="http://www.pcsn43.com/2011/">http://www.pcsn43.com/2011/</a><br />
　■<a href="http://www.slideshare.net/kaz.goto/aws-cloudpack">AWSフルマネージドホスティングサービス cloudpack</a><br />
　　<br />
▼12月10日(土) はじめてのAWSワークショップ 参加<br />
　<a href="http://www.affordance.co.jp/seminar/111210.html">http://www.affordance.co.jp/seminar/111210.html</a>
</p>

<p>
▼12月11日(日) 第6回 八子クラウド座談会 年末スペシャル 参加<br />
　<a href="http://atnd.org/events/23010">http://atnd.org/events/23010</a><br />
　■<a href="http://www.slideshare.net/kaz.goto/cloudpack-in">cloudpack紹介 in 八子クラウド</a><br />
　　<br />
▼12月19日(月) バンダイナムコゲームズ社内向けAWSセミナー 講演
</p>

<p>
---
</p>

<p>
ここまで書いてはきそうになったｗ<br />
23講演、12地域（内海外2）、公開したスライド23。
</p>

<p>
一番きつかったのは 10/28からの出張コンボ（名古屋→シアトル→大阪→東京→San Jose）がきつかった。ホントに家に帰りたいと思った。なので福岡で開催されていた明星和楽もあきらめた。
</p>

<p>
一番面白かったのは11/5の大阪勉強会。なぜかフィーバーが発生してcloudpack無双状態になった。何度も足を運んで仲良くさせてもらっていたご褒美かとｗ
</p>

<p>
はじめはイヤなところもあったが、これだけ出張してると次第に出張準備手順は固まってきてほとんどムダな手間はなくなり、さらにはどの都市に行ってもなんとなく土地土地のものをみたり食べたりして、今では案外楽しめていると思う。
</p>

<p>
出張の数と比例するかわからないが今年はcloudpackと共にがんばった。そのかいあってか外部からも認められ、二つほど賞を頂いた。
</p>

<p>
・AWS Partner Award 特別賞<br />
・AWS Samurai 2012
</p>

<p>
前者はサーバーワークスと共に、震災後のボランティア活動を評価されAWSから頂いたもの。特段見返りも求めて活動したわけではないが、果たしてあの対応が正しかったのか個人的にはまだ迷うところもあったので、賞を頂いたときは第三者から「よかったのだよ」と言ってもらえたように聞こえ、うれしさと共に安堵の気持ちも大きかった。
</p>

<p>
後者は今年一年AWSコミュニティ（主にJAWS-UG）へ貢献した人4名に与えられた称号。JAWS-UG代表の竹下さん(@DynaKou)、JAWS-UG東京副代表/gumiの堀内さん(@horiuchi)、JAWS-UG東京で活躍後、札幌へ引っ越されたAWSグルかつUst職人の田名辺さん(@dateofrock)、共に私が頂きました。
</p>

<p>
自分の場合は、玉川さんを除いて、もっとも地方へ足を運んでコミュニティ活動に参加し貢献したのが評価された。これは個人として素直をにうれしいのだけど、これは戦略的にやっていることあり、その意味ではcloudpackがもらったと思ってもいいでしょう。2冠おめでとう。$5000の使い方はみんなで考えましょｗ
</p>

<p>
<br />
最後に。
</p>

<p>
日本でAWS/クラウドを盛り上げるには会社間の契約や商売ありきで進むわけない、コミュニティと共に盛り上がって行けるモデルでないと本当の意味で日本人のDNAに定着しないと思ったし、そもそも会社としてのAWSがまだ小さかったこともあり、会社の垣根で区別して役割分担していたら弱すぎるし手も足りないだろうという意識が先行して、皆が勝手同じ会社かのように動いた、そんな印象の残る一年だったと思う。
</p>

<p>
cloudpackとしては今年は認知・定着・ブランド化がテーマだったとはずだけど、AWSの定着なくしては達成できないことも感覚としてわかってたこともあり、ビジネス面でのコミットはもちろんのこと、今年後半はどんな地方でもイベントには出ることにしたり、コミュニティへの協力も強くなっていた。
</p>

<p>
加えて我々だけでなく多くの人や会社がコミットして来ていて、その中で人と会社とごちゃまぜ、それでも構わずAWS/クラウドを盛り上げるのにコミットしたから楽しめたのだなぁとしみじみ思った。
</p>

<p>
来年がどういう年になるかまだわからないけど、ずっと笑いながら忙しく、でもある瞬間は緊張を感じれる状態でありたいと思う。本来自分は楽天的かつ怠惰なので...
</p>

<p>
<br />
（この一年の写真は別にまとめる予定。お休み中にできるかは不明。）
</p>]]>
    </content>
</entry>

<entry>
    <title>SSL証明書不正発行の影響で AWS SDK for PHP 1.4.1以前はアップデート必須 </title>
    <link rel="alternate" type="text/html" href="http://5net.com/blog/2011/09/updated-aws-sdk-for-php-for-potential-sll-security-vulnerability.html" />
    <id>tag:5net.com,2011:/blog//1.85232</id>

    <published>2011-09-08T02:01:58Z</published>
    <updated>2011-09-08T02:07:36Z</updated>

    <summary> オランダの認証局DigiNotarが不正にシステム進入を受け、さらには不正なSSL証明書が発行されていたことがわかり、業界内が騒然としていますが、認証局情報は身近にも存在するので注意が必要です。 ブ...</summary>
    <author>
        <name>kaz</name>
        
    </author>
    
        <category term="technology" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="amazonwebservices" label="amazon-web-services" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="php" label="php" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="security" label="security" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://5net.com/blog/">
        <![CDATA[<p>
<img src="http://media.amazonwebservices.com/logo_aws.gif" align="right" alt="amazon web services logo" /><br />
オランダの認証局DigiNotarが不正にシステム進入を受け、さらには不正なSSL証明書が発行されていたことが<a href="http://www.google.co.jp/search?hl=ja&gl=jp&tbm=nws&btnmeta_news_search=1&q=DigiNotar">わかり</a>、業界内が騒然としていますが、認証局情報は身近にも存在するので注意が必要です。
</p>

<p>
ブラウザなどもベンダーによる対処が進んでますが、AWSにおいても一部影響があるため対応が必要になります。
</p>

<p>
その一つが認証局証明書 cacert.pem のアップデート。全範囲での調査が終わっているか定かではないですが、とりあえず AWS SDK for PHP 内にある cacert.pem はアップデートが必要とのこと。
</p>

<p>
■<a href="https://forums.aws.amazon.com/ann.jspa?annID=1164">Announcement: [UPDATED] Potential SSL security vulnerability. Please read.</a>
</p>

<p>
9月8日時点で 1.4.2.1 がリリースされているので古いバージョンを利用中の方はアップデートしてくださいませ。
</p>

<p>
なお、どうしても古いバージョンを利用したい方は cacert.pem ファイルを手動で更新しろとあります。該当する方は対応をお早めに。
</p>

<blockquote>If you are still using an older version of the AWS SDK for PHP for one reason or another (versions 1.3.2 through 1.4.1), we strongly recommend that you update the cacert.pem file located at <sdk>/lib/requestcore/cacert.pem with the latest version from <a href="http://curl.haxx.se/ca/cacert.pem">http://curl.haxx.se/ca/cacert.pem</a>.
</blockquote>]]>
        
    </content>
</entry>

<entry>
    <title>MySQLバイナリログ保存期間をオンラインのまま変更</title>
    <link rel="alternate" type="text/html" href="http://5net.com/blog/2011/09/change-mysql-binlog-expire-days.html" />
    <id>tag:5net.com,2011:/blog//1.85231</id>

    <published>2011-09-07T01:50:31Z</published>
    <updated>2011-09-07T02:18:26Z</updated>

    <summary> 今回はMySQLの超小ネタ。 バイナリログ出力を設定していると日々変更ログがたまっていくわけですが、一定期間分だけ保存するよう設定しないと無尽蔵に増えていってしまいます。その制御をするパラメータが...</summary>
    <author>
        <name>kaz</name>
        
    </author>
    
        <category term="technology" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="admin" label="admin" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="mysql" label="mysql" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://5net.com/blog/">
        <![CDATA[<p>
<a href="http://www.mysql.com"><img src="http://farm7.static.flickr.com/6074/6122579974_37d2169b68_o.png" width="170" height="115" alt="logo-mysql-170x115" align="right"></a><br />
今回はMySQLの超小ネタ。
</p>

<p>
バイナリログ出力を設定していると日々変更ログがたまっていくわけですが、一定期間分だけ保存するよう設定しないと無尽蔵に増えていってしまいます。その制御をするパラメータが expire_logs_days です。
</p>

<p>
何も指定してないとデフォルト値 0 になっていて永久に保存になってますが、整数値を指定すればその日数の分だけ保管され、それ以上過去のものは自動的に削除されるようになります。
</p>

<p>
例: expire_logs_days が 7 だと7日間分のバイナリログだけ保存される
</p>

<p>
expire_logs_days は<a href="http://dev.mysql.com/doc/refman/5.5/en/server-system-variables.html#sysvar_expire_logs_days">マニュアル</a>を見ると「Dynamic Variable: Yes」とあるのでオンライン（起動中）で変更可能です。やってみましょう。
</p>]]>
        <![CDATA[<pre class="brush:shell;highlight:[12,20,23]">
# mysql 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.1.46-log MySQL Community Server (GPL) by Remi

Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL v2 license

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> SHOW GLOBAL VARIABLES like 'expire_logs_days';
+------------------+-------+
| Variable_name    | Value |
+------------------+-------+
| expire_logs_days | 14    |
+------------------+-------+
1 row in set (0.00 sec)

mysql> SET GLOBAL expire_logs_days = 7;
Query OK, 0 rows affected (0.00 sec)

mysql> SHOW GLOBAL VARIABLES like 'expire_logs_days';
+------------------+-------+
| Variable_name    | Value |
+------------------+-------+
| expire_logs_days | 7     |
+------------------+-------+
1 row in set (0.00 sec)

mysql> 
</pre>

<p>
ということで、保存期間を14日から7日に変更できました。
</p>

<p>
バイナリログのローテーションタイミングは再起動時かログ最大サイズ（<a href="http://dev.mysql.com/doc/refman/5.5/en/replication-options-binary-log.html#sysvar_max_binlog_size">max_binlog_size</a>）超えたときのどちらかに限定されるため、すぐにログファイル削除はされませんが時間をおいて確認しておきましょう。
</p>

<p>
ちなみに再起動時にも反映されるよう my.cnf ファイルの変更も忘れずに。<br />

</p>]]>
    </content>
</entry>

<entry>
    <title>EC2起動不能からの復旧記録</title>
    <link rel="alternate" type="text/html" href="http://5net.com/blog/2011/08/ec2-recovery-from-disk-trouble.html" />
    <id>tag:5net.com,2011:/blog//1.85230</id>

    <published>2011-08-26T12:56:00Z</published>
    <updated>2011-08-29T03:54:51Z</updated>

    <summary> 先日サーバーメンテナンス時にちょっとした不具合が発生しEC2の起動ができなくなりました。一瞬気が遠くなったのですが(笑)、原因がわかったので無理やり対処した記録です。 他のメンバーからの報告で、再起...</summary>
    <author>
        <name>kaz</name>
        
    </author>
    
        <category term="technology" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="amazonec2" label="amazon-ec2" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="amazonwebservices" label="amazon-web-services" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://5net.com/blog/">
        <![CDATA[<p>
<img src="http://media.amazonwebservices.com/logo_aws.gif" align="right" alt="amazon web services logo" /><br />
先日サーバーメンテナンス時にちょっとした不具合が発生しEC2の起動ができなくなりました。一瞬気が遠くなったのですが(笑)、原因がわかったので無理やり対処した記録です。
</p>

<p>
他のメンバーからの報告で、再起動しても、AMIから復旧しようとしても起動しない、というか起動しても接続できないとのことだったので、Management Consoleから System Log を確認すると以下のメッセージが。
</p>

<pre class="brush:shell">
*** ファイルシステム検査中にエラー
*** シェルに移行します、システムは再起動します。
*** シェルから抜ける時。
Give root password for maintenance
(or type Control-D to continue):
</pre>

<p>
エラー発生しているのはrootボリュームではなくデータ専用ボリュームだったのですが、入力待ち状態のため正常起動せず /etc/fstab すら書き換えられない状態だったのです。
</p>

<p>
ということで、手順をまとめるとこんな感じ。<br />

</p>]]>
        <![CDATA[<ol>
	<li>該当インスタンス停止</li>
	<li>rootボリュームを detach（デバイス名をメモ、たぶん /dev/sda1）</li>
	<li>rootボリュームを同じAZ内の他のインスタンスへ attach</li>
	<li>他のインスタンス、適当な位置に mount</li>
	<li>vi で fstab を編集し不具合のあるボリュームの行をコメントアウト（起動時に mount/fsck 対象としないようにする）
<pre class="brush:shell; highlight:[7]">
/dev/sda1 / ext3 defaults 1 1
none /dev/pts devpts gid=5,mode=620 0 0
none /dev/shm tmpfs defaults 0 0
none /proc proc defaults 0 0
none /sys sysfs defaults 0 0
/dev/sda3 swap swap defaults 0 0
# /dev/sdf1 /home ext3 defaults 1 1
</pre>
</li>
	<li>rootボリュームを umount</li>
	<li>rootボリュームを detach</li>
	<li>該当インスタンスに attach（デバイス名に注意）</li>
	<li>インスタンス起動</li>
	<li>起動できたら不具合のあるボリュームを調査＆修復</li>
</ol>

<p>
ボリュームの不具合は結局スーパーブロックがぶっ飛んでたようで、データそのものは安全でした。よかったよかった。（もしかしてAmazon純正のAMIだったらこんなに苦労しないのかなぁ？）
</p>

<p>
AWS便利すぎて気が抜けていたのがバレたかのように発生した不具合。再度姿勢を正すきっかけになりました。ありがとうございました...
</p>

<p>
参考: <a href="http://www.atmarkit.co.jp/flinux/rensai/linuxtips/728fixpartition.html">＠IT: 壊れたパーティションを修復するには</a><br />

</p>]]>
    </content>
</entry>

<entry>
    <title>aiCacheのユニークな機能</title>
    <link rel="alternate" type="text/html" href="http://5net.com/blog/2011/08/aicache-unique-functions.html" />
    <id>tag:5net.com,2011:/blog//1.85229</id>

    <published>2011-08-11T02:57:14Z</published>
    <updated>2011-08-11T04:14:45Z</updated>

    <summary> aiCacheのユニークな機能をまとめます。 ・HTTPSターミネーション ・モバイル端末対応（リダイレクト、リクエスト書き換え・TTL変更など） ・GSLB対応（Dyn.com連携） ・レスポンス...</summary>
    <author>
        <name>kaz</name>
        
    </author>
    
        <category term="technology" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="aicache" label="aicache," scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="amazoncloudfront" label="amazon-cloudfront," scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="cache" label="cache" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://5net.com/blog/">
        <![CDATA[<p>
<img src="http://farm7.static.flickr.com/6142/5973410656_b563e5aaab_o.png" width="200" height="89" alt="aiCache: Web Application Acceleration" align="right"><br />
aiCacheのユニークな機能をまとめます。
</p>

<p>
・HTTPSターミネーション<br />
・モバイル端末対応（リダイレクト、リクエスト書き換え・TTL変更など）<br />
・GSLB対応（Dyn.com連携）<br />
・レスポンスによるキャッシュ削除<br />
・セッション毎のキャッシュ管理（ログイン中もキャッシュ管理可能）<br />
・POSTリクエストのキャッシング<br />
・指定URLのプリフェッチ
</p>

<p>
特に「レスポンスによるキャッシュ削除」と「セッション毎のキャッシュ管理」は良いですね。
</p>]]>
        <![CDATA[<p>
<strong>■レスポンスによるキャッシュ削除</strong>
</p>

<p>
掲示板のようなウェブサイトがあった場合に、各ページはできるだけパフォーマンスをあげるためにキャッシュする設定にしてしまうけれども、コメント投稿があったりした場合にすぐには反映されず待つ必要があります。コメント投稿者が混乱する可能性もあり、できればすぐに反映させたいところ。
</p>

<p>
aiCacheでは、ある処理をしたときに指定ページのキャッシュを削除することができます。しかも簡単に。
</p>

アプリケーションのレスポンスヘッダーに
<pre class="brush:shell">
X-ExpireURL: /path/to/expire/page
</pre>

<p>
を入れるだけ。これで aiCache がキャッシュを削除してくれるので、これ以降 /path/to/expire/page へアクセスすると最新のページが表示されキャッシュされることになります。さらに複数のヘッダーを返せば、まとめてキャッシュ削除もできます。
</p>

<p>
アプリケーションのわずかな変更で動的なサイトも簡単にパフォーマンスをあげることができるのはすばらしい。
</p>

<p>
<br />
<strong>■セッション毎のキャッシュ管理</strong>
</p>

<p>
ログインするようなサイトの場合、ユーザー毎にページ内容が違うためページ全体をキャッシュさせることは通常しません。しかしaiCacheではセッションIDを判断するCookieを設定しておくことで個別セッションのキャッシュ管理が可能になります。
</p>

<p>
もちろんCookieに加えて指定URLからのセッション対応開始・終了などの設定も可能なので、細かなキャッシュコントロールを実現できます。ユーザー毎のページを1分間だけキャッシュするとか、そういうこともできるわけですね。
</p>

<p>
<br />
最後にCloudFrontと簡単な比較をするとこんな感じです（キャッシュ管理の機能を中心にまとめてます）。
</p>

<p>
<iframe width='500' height='620' frameborder='0' src='https://spreadsheets.google.com/spreadsheet/pub?hl=en_US&hl=en_US&key=0ArTGXWbzuNpudFFVQ2ljajkzVkVMVXgtM1R4NENCUnc&single=true&gid=0&range=A1%3AD7&output=html&widget=true'></iframe>
</p>

価格詳細は以下のページを参照してください。
<ul>
	<li><a href="http://aws.amazon.com/jp/cloudfront/pricing/">Amazon CloudFront Pricing</a></li>
	<li><a href="http://aicache.com/cloud/amazon/1102-2">Pricing | aiCache</a></li>
</ul>]]>
    </content>
</entry>

<entry>
    <title>aiCacheセットアップ on AWS</title>
    <link rel="alternate" type="text/html" href="http://5net.com/blog/2011/08/aicache-setup-on-aws.html" />
    <id>tag:5net.com,2011:/blog//1.85228</id>

    <published>2011-08-10T16:37:41Z</published>
    <updated>2011-08-15T07:00:13Z</updated>

    <summary> 先日に引き続きaiCacheネタ。 今回はセットアップ編。 aiCacheは有償の製品です。価格モデルとしては、パッケージ型ライセンス購入もしくはクラウド（従量課金）型の2種類から選択できるようにな...</summary>
    <author>
        <name>kaz</name>
        
    </author>
    
        <category term="technology" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="aicache" label="aicache" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="amazoncloudfront" label="amazon-cloudfront" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="amazonec2" label="amazon-ec2" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="amazonwebservices" label="amazon-web-services" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://5net.com/blog/">
        <![CDATA[<p>
<img src="http://farm7.static.flickr.com/6142/5973410656_b563e5aaab_o.png" width="200" height="89" alt="aiCache: Web Application Acceleration" align="right"><br />
先日に引き続きaiCacheネタ。
</p>

<p>
今回はセットアップ編。
</p>

<p>
aiCacheは有償の製品です。価格モデルとしては、パッケージ型ライセンス購入もしくはクラウド（従量課金）型の2種類から選択できるようになってます。
</p>

<p>
パッケージ型の場合の費用は<a href="http://aicache.com/pricing">こちら</a>にあるので詳細は割愛しますが、HTTPSとモバイル向け機能が含まれるEnterprise版は$18,995、QA目的でも定価は$9,995と簡単に導入できる金額ではありません。
</p>

<p>
<a href="http://aicache.com/cloud/amazon/1102-2">クラウド型の課金モデル</a>を選ぶと、Amazon PaymentでaiCacheのサブスクリプション契約（$0.71/月）をすればその後は利用料を上乗せされた形での課金方式になり、もちろん時間課金・データ量課金となるため安価に始めることが可能になります。
</p>

<p>
ということでセットアップしてみましょう。<br />
手順は以下のような形になります。
</p>

<p>
（0. AWSアカウント作成）←必要があれば<br />
1. <a href="https://aws-portal.amazon.com/gp/aws/user/subscription/index.html?offeringCode=B6A85F0B">aiCache利用申し込み</a>（サブスクリプション契約）<br />
2. aiCache初期設定ファイル作成および設置<br />
3. aiCache AMIによりインスタンス起動<br />

</p>]]>
        <![CDATA[<p>
aiCacheウェブサイトのWikiにある <a href="http://wiki.aicache.com/getting-started-aicache-on-aws">Getting Started aiCache on AWS</a> の通りなのですが、画面も含め、詳しく手順を追ってみましょう。
</p>

<p>
<strong>1. <a href="https://aws-portal.amazon.com/gp/aws/user/subscription/index.html?offeringCode=B6A85F0B">aiCache利用申し込み</a>（サブスクリプション契約）</strong>
</p>

<div style="float:right;"><a href="http://www.flickr.com/photos/kaz_goto/6029230489/" title="aiCache - Prorated recurring monthly charge by kazgoto, on Flickr"><img src="http://farm7.static.flickr.com/6142/6029230489_e299a36789_b.jpg" width="339" height="1024" alt="aiCache - Prorated recurring monthly charge"></a></div>

<p>
aiCache.comで<a href="http://aicache.com/cloud_amazon.html">AWS向けの説明ページ</a>で Order Now ボタンをクリックするとAmazon Paymentページへ遷移してサインインすると右のような画面が表示されます。ここで決済するとaiCacheをAWS上で従量課金型で利用できるようになります。
</p>

<div style="clear:both;"></div>

<p>
<br />
<strong>2. aiCache初期設定ファイル作成および設置</strong>
</p>

<p>
続いて初期設定ファイルの作成です。このファイルはEC2インスタンス起動時に設定ファイルをインプットするために外部のサイトに設置します。
</p>

<p>
最低限の設定はWikiページにあるとおりですが、以下のようになります。その他詳しい設定値などは、
</p>

<pre class="brush:shell;">
website
hostname [キャッシュサーバーホスト名]
cname [EC2ホスト名]
origin [オリジンサーバーIP] 80 1
</pre>

<p>
これを aicache.cfg として保存して、AWS環境からアクセス可能なウェブサーバーへ配置します。<br />
例: <a href="http://5net.com/aicache/aicache.cfg" target="_blank">http://5net.com/aicache/aicache.cfg</a>
</p>

<p>
<br />
<strong>3. aiCache AMIによりインスタンス起動</strong>
</p>

<p>
最後にインスタンス起動します。
</p>

<p>
まずはLaunch Instancesで、Community AMIsからaiCache提供のAMIを探します。
</p>

<p>
<a href="http://www.flickr.com/photos/kaz_goto/6029254794/" title="Launching aiCache 1 by kazgoto, on Flickr"><img src="http://farm7.static.flickr.com/6124/6029254794_934f20b193.jpg" width="500" height="326" alt="Launching aiCache 1"></a>
</p>

<p>
<br />
次はインスタンスタイプの選択。従量制の場合はLargeからしかありません。Micro/Smallでの利用はパッケージ型でしか扱いがないようです。
</p>

<p>
<a href="http://www.flickr.com/photos/kaz_goto/6028709231/" title="Launching aiCache 2 by kazgoto, on Flickr"><img src="http://farm7.static.flickr.com/6207/6028709231_637b4b991a.jpg" width="500" height="345" alt="Launching aiCache 2"></a>
</p>

<p>
<br />
さて、ここが肝です。先ほど外部のウェブサーバーに設置した設定ファイルをEC2のUser Dataとしてパラメータ形式で渡します。具体的には「CONFIG=<設定ファイルURL>」というデータ形式をテキストで書き込むだけ。
</p>

<p>
<a href="http://www.flickr.com/photos/kaz_goto/6029268512/" title="Launching aiCache 3 by kazgoto, on Flickr"><img src="http://farm7.static.flickr.com/6068/6029268512_6c7c8a397f.jpg" width="500" height="344" alt="Launching aiCache 3"></a>
</p>

<p>
<br />
タグで名前をつけるのは今までと同じです。
</p>

<p>
<a href="http://www.flickr.com/photos/kaz_goto/6029274958/" title="Launching aiCache 4 by kazgoto, on Flickr"><img src="http://farm7.static.flickr.com/6083/6029274958_cfe1f1d0cb.jpg" width="500" height="342" alt="Launching aiCache 4"></a>
</p>

<p>
<br />
キーペアも今まで通り。
</p>

<p>
<a href="http://www.flickr.com/photos/kaz_goto/6028724825/" title="Launching aiCache 5 by kazgoto, on Flickr"><img src="http://farm7.static.flickr.com/6135/6028724825_bce388a203.jpg" width="500" height="343" alt="Launching aiCache 5"></a>
</p>

<p>
<br />
セキュリティグループも変わらず。
</p>

<p>
<a href="http://www.flickr.com/photos/kaz_goto/6029277704/" title="Launching aiCache 6 by kazgoto, on Flickr"><img src="http://farm7.static.flickr.com/6122/6029277704_0c6a2ebbaa.jpg" width="500" height="344" alt="Launching aiCache 6"></a>
</p>

<p>
<br />
設定値のサマリも変わりなく。
</p>

<p>
<a href="http://www.flickr.com/photos/kaz_goto/6028727475/" title="Launching aiCache 7 by kazgoto, on Flickr"><img src="http://farm7.static.flickr.com/6062/6028727475_1f7143f846.jpg" width="500" height="344" alt="Launching aiCache 7"></a>
</p>

<p>
<br />
ただしサブスクリプション契約が終わってないと以下のように、最後の最後でエラーがになるので要注意です。
</p>

<p>
<a href="http://www.flickr.com/photos/kaz_goto/6029291682/" title="Launching aiCache Error by kazgoto, on Flickr"><img src="http://farm7.static.flickr.com/6206/6029291682_ed2ac0481d.jpg" width="500" height="344" alt="Launching aiCache Error"></a>
</p>

<p>
<br />
起動すればあとはいつものEC2と同じです。
</p>

<p>
<a href="http://www.flickr.com/photos/kaz_goto/6028760989/" title="Launching aiCache 8 by kazgoto, on Flickr"><img src="http://farm7.static.flickr.com/6140/6028760989_52c69257ba.jpg" width="500" height="256" alt="Launching aiCache 8"></a>
</p>

<p>
<br />
無事起動したことをManagement Consoleで確認します。
</p>

<p>
<a href="http://www.flickr.com/photos/kaz_goto/6028772947/" title="Launching aiCache 9 by kazgoto, on Flickr"><img src="http://farm7.static.flickr.com/6089/6028772947_c45a6e7989.jpg" width="500" height="278" alt="Launching aiCache 9"></a>
</p>

<p>
<br />
正しい設定で正常起動されたら、今起動したaiCacheサーバーへブラウザでアクセスするとオリジンサーバーのコンテンツがキャッシュされるのが体感できると思います。
</p>

<p>
この仕組みでジャンジャン起動していけばキャッシュサーバー群を構成できてしまいます。また設定値を調整することで、特定の正規表現にマッチするURLだけはキャッシュしないとか、細かな設定ができます。この辺を使いこなすとCloudFrontとはまた違ったメリットが得れるのではないでしょうか。
</p>

<p>
次回は、キャッシュ無し、aiCache、CloudFrontでの性能比較をしたいと思ってます。<br />

</p>]]>
    </content>
</entry>

<entry>
    <title>本日ベータが取れたAmazon VPCの制限まとめ</title>
    <link rel="alternate" type="text/html" href="http://5net.com/blog/2011/08/amazon-vpc-ga-restrictions.html" />
    <id>tag:5net.com,2011:/blog//1.85227</id>

    <published>2011-08-04T08:01:55Z</published>
    <updated>2011-08-04T08:16:36Z</updated>

    <summary> 本日8月4日にAmazon VPCのベータが取れてサービス・機能の拡充がされました。Twitter界隈ではさまざまな情報が流れていて、ここで改めて書くのもアレなので、逆張りして、制限についてまとめて...</summary>
    <author>
        <name>kaz</name>
        
    </author>
    
        <category term="technology" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="amazonvpc" label="amazon-vpc" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="amazonwebservices" label="amazon-web-services" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://5net.com/blog/">
        <![CDATA[<p>
<img src="http://media.amazonwebservices.com/logo_aws.gif" align="right" alt="amazon web services logo" /><br />
本日8月4日にAmazon VPCのベータが取れてサービス・機能の拡充がされました。Twitter界隈ではさまざまな情報が流れていて、ここで改めて書くのもアレなので、逆張りして、制限についてまとめておきます。
</p>

<p>
<a href="http://aws.amazon.com/vpc/">VPCのページ</a>を眺めると Other Notes に制限がまとめられてました。
</p>

<p>
てきとー日本語訳。
</p>

<ul>
	<li>Elastic Beanstalk、ELB、RDSは今のところVPCでは使えません</li>
	<li>EC2のSpot Instances、Cluster Instances、Micro Instancesも同様に使えません</li>
	<li>DevPay paid AMIs（有償型のAMI？）はサポートしてません</li>
	<li>1アカウントにつき各リージョンで 5VPC までしか作れません（※<a href="http://twitter.com/KenTamagawa">@KenTamagawa</a>によれば申請により追加することは可能のようです）</li>
	<li>1VPCにつき20サブネットしか作成できません</li>
	<li>Elastic IPは1アカウントにつき各リージョンで 5個までしか利用できません</li>
	<li>ハードウェアによる接続は1アカウントにつき10までしか作れません</li>
</ul>

<p>
原文はこれです。
</p>

<blockquote><strong>Other Notes</strong><br />
<br />
Please note the following about Amazon VPC right now:<br />
 - AWS Elastic Beanstalk, Elastic Load Balancing, and Amazon Relational Database Service (Amazon RDS) are not available for use in a VPC at this time.<br />
 - Amazon EC2 Spot Instances, Cluster Instances, and Micro Instances are not available in a VPC at this time.<br />
 - Amazon DevPay paid AMIs are not supported in Amazon VPC.<br />
 - You can have up to five (5) Amazon VPCs per AWS account per Region.*<br />
 - You can create up to twenty (20) subnets per Amazon VPC.*<br />
 - You can have up to five (5) Amazon VPC Elastic IP Addresses per AWS account per Region.*<br />
 - You can have up to ten (10) Hardware VPN Connections per Amazon VPC.*
</blockquote>

<p>
<br />

</p>]]>
        
    </content>
</entry>

<entry>
    <title>aiCache関連資料</title>
    <link rel="alternate" type="text/html" href="http://5net.com/blog/2011/07/aicache-materials.html" />
    <id>tag:5net.com,2011:/blog//1.85226</id>

    <published>2011-07-25T07:00:20Z</published>
    <updated>2011-08-01T03:56:02Z</updated>

    <summary> 先日に引き続きaiCacheネタ。 まだ製品はさわれてませんが、スタディのため資料を読みあさってます。ビデオも多く準備されていて勉強できます。多くのビデオがCEOの顔ドアップでびっくりしますが平易な...</summary>
    <author>
        <name>kaz</name>
        
    </author>
    
        <category term="technology" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="aicache" label="aicache" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="amazonwebservices" label="amazon-web-services" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="slide" label="slide" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="video" label="video" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://5net.com/blog/">
        <![CDATA[<p>
先日に引き続きaiCacheネタ。<br />
<img src="http://farm7.static.flickr.com/6142/5973410656_b563e5aaab_o.png" width="200" height="89" alt="aiCache: Web Application Acceleration" align="right">
</p>

<p>
まだ製品はさわれてませんが、スタディのため資料を読みあさってます。ビデオも多く準備されていて勉強できます。多くのビデオがCEOの顔ドアップでびっくりしますが平易な英語で解説してるので理解しやすいです。
</p>

<p>
■aiCache Overview<br />
<iframe width="500" height="314" src="http://www.youtube.com/embed/b8YO0ftDycg" frameborder="0" allowfullscreen></iframe>
</p>

<p>
■aiCache in the Cloud 250K<br />
<iframe width="500" height="314" src="http://www.youtube.com/embed/C3bNJ04jOBY" frameborder="0" allowfullscreen></iframe>
</p>

<p>
■aiCache site monitor on AWS with Giant Digital<br />
<iframe width="500" height="314" src="http://www.youtube.com/embed/RSmuAFv-HdU" frameborder="0" allowfullscreen></iframe>
</p>

<p>
その他のビデオは<a href="http://aicache.com/video.html">こちら</a>。
</p>

<p>
<br />
ウェブサイト以外で発表資料がないか調べていたら Slideshare に一点ありました。
</p>

<div style="width:425px" id="__ss_7196090"> <strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/derekcollison/scalable-and-available-patterns-for-success-7196090" title="Scalable and Available, Patterns for Success" target="_blank">Scalable and Available, Patterns for Success</a></strong> <iframe src="http://www.slideshare.net/slideshow/embed_code/7196090" width="425" height="355" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe> <div style="padding:5px 0 12px"> View more <a href="http://www.slideshare.net/" target="_blank">presentations</a> from <a href="http://www.slideshare.net/derekcollison" target="_blank">Derek Collison</a> </div> </div>
]]>
        
    </content>
</entry>

<entry>
    <title>クラウド環境向けキャッシュソリューション aiCache</title>
    <link rel="alternate" type="text/html" href="http://5net.com/blog/2011/07/cloud-cache-solution-aicache.html" />
    <id>tag:5net.com,2011:/blog//1.85225</id>

    <published>2011-07-25T05:27:47Z</published>
    <updated>2011-07-25T06:41:10Z</updated>

    <summary> 本日はAWSのパートナー商品を紹介してみます。 今回は、クラウド環境を利用してダイナミックアプリケーションにも対応するキャッシュ製品 aiCache です。aiCacheはAWSおよびRackspa...</summary>
    <author>
        <name>kaz</name>
        
    </author>
    
        <category term="technology" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="aicache" label="aicache" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="amazonec2" label="amazon-ec2" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="amazonwebservices" label="amazon-web-services" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://5net.com/blog/">
        <![CDATA[<p>
本日はAWSのパートナー商品を紹介してみます。<br />
<img src="http://farm7.static.flickr.com/6142/5973410656_b563e5aaab_o.png" width="200" height="89" alt="aiCache: Web Application Acceleration" align="right">
</p>

<p>
今回は、クラウド環境を利用してダイナミックアプリケーションにも対応するキャッシュ製品 <a href="http://aicache.com/">aiCache</a> です。aiCacheはAWSおよびRackspaceに対応しており、AWSの<a href="http://aws.amazon.com/solutions/solution-providers/aicache/">Solution Providerのひとつです</a>。
</p>

<p>
Solution Providerでの紹介を読むとアプリケーションサーバーのフロントにaiCacheを入れることで、以下のような効果を得ることができるとあります。
</p>

<p>
・コスト削減<br />
・アプリケーションをスケール<br />
・システムの安定稼働
</p>

<p>
（これだけだとすごく普通...）
</p>

<p>
EC2向けにはAMIが準備されていて、かつ利用料はAWSの従量課金に上乗せする方になってます。<br />
<a href="http://www.flickr.com/photos/kaz_goto/5972857577/" title="aiCache Pricing by kazgoto, on Flickr"><img src="http://farm7.static.flickr.com/6123/5972857577_302716533c.jpg" width="500" height="367" alt="aiCache Pricing"></a><br />

</p>]]>
        <![CDATA[<p>
<br />
製品の特徴少し読み込んでみると...
</p>

<p>
<a href="http://aicache.com/home/scale"><strong>Geo-Scale（地理的分散）</strong></a>
</p>

<p>
・コード修正無しに、スピード10倍、トラフィック10倍<br />
・セッション管理の負担は無し（SSLターミネーション含む）<br />
・地理的なトラフィック分散配信（リアルタイム情報アップデート・レポート付き）
</p>

<p>
・最大で250,000HTTPリクエスト/秒の性能<br />
・15000セッション/秒環境下において2Gbpsを超えるHTTPターミネーション機能<br />
・ユーザー独自のエッジアプリや統計結果・リアルタイムレポートなども提供<br />
・Global DNSと連動して地理的トラフィックルーティングもサポート
</p>

<p>
<a href="http://aicache.com/home/protect"><strong>Protect（保護）</strong></a>
</p>

<p>
・業界で最も進んだDDoSプロテクション<br />
・アプリケーションファイアウォールによりURLベースで攻撃を排除<br />
・PCI準拠のソリューションによりトランザクションを保護
</p>

<p>
・URLベース以外にも、IPレンジ、ホワイトリスト、インターバルスロットルなどの設定が可能<br />
・最後の手段としてRTATC (Reverse-Turing Access Token Control)を用意（ロボット排除のしくみ）
</p>

<p>
<a href="http://aicache.com/home/manage"><strong>Manage（管理）</strong></a>
</p>

<p>
・200以上の項目をリアルタイム監視（アラートの仕組み付き）<br />
・HTTPストリームをバックエンドリソースの状態に応じて最適に配分<br />
・サードパーティAPIのコントロール
</p>

<p>
<br />
軽い気持ちで見ていたのに息切れしてきた。続きは試用してみてからにしよう。ぜーぜー。<br />

</p>]]>
    </content>
</entry>

<entry>
    <title>Amazon Route 53のSLAは100%</title>
    <link rel="alternate" type="text/html" href="http://5net.com/blog/2011/07/route53-sla-is-100percent.html" />
    <id>tag:5net.com,2011:/blog//1.85224</id>

    <published>2011-07-22T02:49:03Z</published>
    <updated>2011-07-22T03:09:03Z</updated>

    <summary> さて本日も小ネタを。 最近General AvailabilityステイタスになってBetaが取れたRoute53ですが、なんとSLA100%だそうです。 Service Commitment AW...</summary>
    <author>
        <name>kaz</name>
        
    </author>
    
        <category term="technology" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="amazonroute53" label="amazon-route53" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="amazonwebservices" label="amazon-web-services" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="sla" label="sla" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://5net.com/blog/">
        <![CDATA[<p>
<img src="http://media.amazonwebservices.com/logo_aws.gif" align="right" alt="amazon web services logo" /><br />
さて本日も小ネタを。
</p>

<p>
最近General AvailabilityステイタスになってBetaが取れたRoute53ですが、なんとSLA100%だそうです。
</p>

<blockquote>
<strong>Service Commitment</strong><br />
AWS will use commercially reasonable efforts to make Amazon Route 53 100% Available (defined below). In the event Amazon Route 53 does not meet the foregoing commitment, you will be eligible to receive a Service Credit as described below.<br />
<br />
<a href="http://aws.amazon.com/route53/sla/">Amazon Route 53 SLA より</a>
</blockquote>

<p>
絶対落ちないことを保証しているのか？と勘違いしそうですが、1秒落ちてもAWS側に責任があると定義しているだけですね。当然サービス継続の努力は怠らないけれども、一定時間落ちてもよい契約ならば100%ではなく99.95%とかそういう数字になるだけです。EC2なんかはそうですね。
</p>

<p>
ではサービスが一定時間落ちたらどうなるかですが、長さによってサービスクレジット（料金）をリファンドすることになります。時間とクレジットのマトリクスは以下のとおり。
</p>

<p>
<a href="http://www.flickr.com/photos/kaz_goto/5963084770/" title="Service Credits - Amazon Route 53 SLA by kazgoto, on Flickr"><img src="http://farm7.static.flickr.com/6146/5963084770_e37b2be9ae.jpg" width="500" height="88" alt="Service Credits - Amazon Route 53 SLA"></a>
</p>

<p>
1 day Service Credit は "your average daily Route 53 query charges" とあるので利用（請求）期間中の1日平均クエリー料金が適用されます。ボリュームによってかわるけど、要するにRoute53 1日分の料金にあたるわけです。
</p>

<p>
SLAというキーワードで100%なんて数字聞いたことなかったので驚きましたが、ちょろっと調べてみたら契約モデルとしてはとてもフェアなものでした。<br />

</p>]]>
        
    </content>
</entry>

<entry>
    <title>Management Consoleにフィードバックフォームが</title>
    <link rel="alternate" type="text/html" href="http://5net.com/blog/2011/07/feedback-link-in-management-console.html" />
    <id>tag:5net.com,2011:/blog//1.85223</id>

    <published>2011-07-19T07:33:43Z</published>
    <updated>2011-07-19T07:56:48Z</updated>

    <summary> AWSのニュースレター（メール）を見ていたら気になるものがあった。 Customer Feedback on the AWS Management Console We&apos;ve launched a ...</summary>
    <author>
        <name>kaz</name>
        
    </author>
    
        <category term="technology" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="amazonwebservices" label="amazon-web-services" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://5net.com/blog/">
        <![CDATA[<p>
<img src="http://media.amazonwebservices.com/logo_aws.gif" align="right" alt="amazon web services logo" /><br />
AWSのニュースレター（メール）を見ていたら気になるものがあった。
</p>

<blockquote>
<strong>Customer Feedback on the AWS Management Console</strong><br />
We've launched a new Customer Feedback feature for the AWS Management Console. Using the Feedback link at the bottom of the Console screen, you can now easily provide Console feedback directly to the AWS team. Alternatively, you can tell us what you think about the Console in this short survey. Please take a moment to share your opinions as customer feedback directs our investments and improves the experience we deliver to you. 
</blockquote>

<p>
Management Console 画面の下にフィードバック用のリンクがついたということです。以前からもフォームはどこかにあったと思いますが、見つけるのに一苦労してた記憶が。
</p>

<p>
今回の変更で Console 使用中、つまりログイン済みでアカウントIDもわかる状態で、使用中に発生した不具合を手間無くすぐに報告できるようになったわけですね。小さな変更だけど、ちょっと便利に。ユーザーの方を向いてますよというメッセージにも見えるのはイイですね。
</p>

<p>
<a href="http://www.flickr.com/photos/kaz_goto/5953768814/" title="Feedback link in Management Console by kazgoto, on Flickr"><img src="http://farm7.static.flickr.com/6017/5953768814_057c0bf31d.jpg" width="391" height="108" alt="Feedback link in Management Console"></a>
</p>

<p>
Feedbackをクリックするとフォームが出現。
</p>

<p>
<a href="http://www.flickr.com/photos/kaz_goto/5953214803/" title="Feedback form in Management Console by kazgoto, on Flickr"><img src="http://farm7.static.flickr.com/6145/5953214803_b1e292a0d2.jpg" width="500" height="354" alt="Feedback form in Management Console"></a>
</p>

<p>
ちなみにAWSでは各サービスでアンケートやったり、常時<a href="http://aws.qualtrics.com/SE/?SID=SV_3wlmbjXbt2b9SkY">こういうアンケート</a>をやって新サービス・新機能実現のプライオリティを決めているみたいですよ。
</p>

<p>
そういや <a href="http://www.suz-lab.com/aws77/">#AWS77</a> はちゃんと取り込まれるのかしら？
</p>]]>
        
    </content>
</entry>

<entry>
    <title>2011.6.21 ヌーラボ訪問</title>
    <link rel="alternate" type="text/html" href="http://5net.com/blog/2011/06/20110621-went-to-nulab.html" />
    <id>tag:5net.com,2011:/blog//1.85222</id>

    <published>2011-06-27T05:21:35Z</published>
    <updated>2011-06-27T05:28:28Z</updated>

    <summary> JAWS-UG 福岡が開催された6月21日、普段からBacklogでお世話になっているヌーラボさんのオフィスにおじゃましました。 一応目的はキチンとありましたが（もう少ししたら発表できます）、あこが...</summary>
    <author>
        <name>kaz</name>
        
    </author>
    
        <category term="diary" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://5net.com/blog/">
        <![CDATA[<p>
<img src="http://farm3.static.flickr.com/2673/5856109264_9eb9a11685_m.jpg" />
</p>

<p>
JAWS-UG 福岡が開催された6月21日、普段からBacklogでお世話になっているヌーラボさんのオフィスにおじゃましました。
</p>

<p>
一応目的はキチンとありましたが（もう少ししたら発表できます）、あこがれのヌーラボ社オフィスに来たのでややミーハーな気持ちで写真を撮りまくってしまいました。
</p>

<p>
2年前に引っ越されたオフィスは見晴らしのよい高めの階、しかも内装もキレイでうらやましい限りです。福岡発世界へサービス提供しているベンチャーとしてもすばらしい会社ですし、本当にあやかりたい思いで一杯です(笑)
</p>

<p>
福岡へ来たときには席を使って良いという約束は忘れません！ぜひまた行きたい場所でした。
</p>

<p>
<object width="500" height="300"> <param name="flashvars" value="offsite=true&lang=en-us&page_show_url=%2Fphotos%2Fkaz_goto%2Fsets%2F72157626932350607%2Fshow%2F&page_show_back_url=%2Fphotos%2Fkaz_goto%2Fsets%2F72157626932350607%2F&set_id=72157626932350607&jump_to="></param> <param name="movie" value="http://www.flickr.com/apps/slideshow/show.swf?v=104087"></param> <param name="allowFullScreen" value="true"></param><embed type="application/x-shockwave-flash" src="http://www.flickr.com/apps/slideshow/show.swf?v=104087" allowFullScreen="true" flashvars="offsite=true&lang=en-us&page_show_url=%2Fphotos%2Fkaz_goto%2Fsets%2F72157626932350607%2Fshow%2F&page_show_back_url=%2Fphotos%2Fkaz_goto%2Fsets%2F72157626932350607%2F&set_id=72157626932350607&jump_to=" width="500" height="300"></embed></object><br />

</p>]]>
        
    </content>
</entry>

<entry>
    <title>Googleカスタム検索 for AWS Japanブログ</title>
    <link rel="alternate" type="text/html" href="http://5net.com/blog/2011/06/google-custom-search-for-aws-japan-blog.html" />
    <id>tag:5net.com,2011:/blog//1.85221</id>

    <published>2011-06-23T07:31:28Z</published>
    <updated>2011-06-23T07:42:33Z</updated>

    <summary> .bbpBox{background:url(http://a0.twimg.com/images/themes/theme1/bg.png) #9ae4e8;padding:20px;}AWS日本...</summary>
    <author>
        <name>kaz</name>
        
    </author>
    
        <category term="technology" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="amazonwebservices" label="amazon-web-services" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="google" label="google" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://5net.com/blog/">
        <![CDATA[<!-- http://twitter.com/hiroohi/status/83797343916404740 --> <style type='text/css'>.bbpBox{background:url(http://a0.twimg.com/images/themes/theme1/bg.png) #9ae4e8;padding:20px;}</style><div id='tweet_83797343916404740' class='bbpBox' style='background:url(http://a0.twimg.com/images/themes/theme1/bg.png) #9ae4e8;padding:20px;'><p class='bbpTweet' style='background:#fff;padding:10px 12px 10px 12px;margin:0;min-height:48px;color:#000;font-size:16px !important;line-height:22px;-moz-border-radius:5px;-webkit-border-radius:5px;'>AWS日本語ブログ、SEOが全然効いていない気がする。<span class='timestamp' style='font-size:12px;display:block;'><a title='Thu Jun 23 07:23:38 ' href='http://twitter.com/hiroohi/status/83797343916404740'>Thu Jun 23 07:23:38 </a> via <a href="http://twitter.com/#!/download/ipad" rel="nofollow">Twitter for iPad</a></span><span class='metadata' style='display:block;width:100%;clear:both;margin-top:8px;padding-top:12px;height:40px;border-top:1px solid #fff;border-top:1px solid #e6e6e6;'><span class='author' style='line-height:19px;'><a href='http://twitter.com/hiroohi'><img src='http://a2.twimg.com/profile_images/57505706/128951_249870336_normal.jpg' style='float:left;margin:0 7px 0 0px;width:38px;height:38px;' /></a><strong><a href='http://twitter.com/hiroohi'>Hirotomo Oi</a></strong><br/>hiroohi</span></span></p></div> <!-- end of tweet -->
<br/>
<!-- http://twitter.com/kaz_goto/status/83800287579611140 --> <style type='text/css'>.bbpBox{background:url(http://a2.twimg.com/profile_background_images/96174887/1272359278-ecabb.png.jpg) #9ae4e7;padding:20px;}</style><div id='tweet_83800287579611140' class='bbpBox' style='background:url(http://a2.twimg.com/profile_background_images/96174887/1272359278-ecabb.png.jpg) #9ae4e7;padding:20px;'><p class='bbpTweet' style='background:#fff;padding:10px 12px 10px 12px;margin:0;min-height:48px;color:#000;font-size:16px !important;line-height:22px;-moz-border-radius:5px;-webkit-border-radius:5px;'>そうなんですよね。分かっているなら専用カスタム検索作った方がいいかもしれませんね。 RT <a href="http://twitter.com/hiroohi" target="_new">@hiroohi</a>: AWS日本語ブログ、SEOが全然効いていない気がする。<span class='timestamp' style='font-size:12px;display:block;'><a title='Thu Jun 23 07:35:20 ' href='http://twitter.com/kaz_goto/status/83800287579611140'>Thu Jun 23 07:35:20 </a> via <a href="http://www.tweetdeck.com" rel="nofollow">TweetDeck</a></span><span class='metadata' style='display:block;width:100%;clear:both;margin-top:8px;padding-top:12px;height:40px;border-top:1px solid #fff;border-top:1px solid #e6e6e6;'><span class='author' style='line-height:19px;'><a href='http://twitter.com/kaz_goto'><img src='http://a1.twimg.com/profile_images/1276507210/a29c7667-ec5f-4d17-8a39-8c19680789bd_normal.png' style='float:left;margin:0 7px 0 0px;width:38px;height:38px;' /></a><strong><a href='http://twitter.com/kaz_goto'>Kazutaka Goto ☁</a></strong><br/>kaz_goto</span></span></p></div> <!-- end of tweet -->

<br/>
<p>ということでつくってみました。個人的にはよく使うかも。<br/>
検索時に「<strong>〇〇 site:aws.amazon.com/aws_japan/</strong>」とかよく使ってたので。</p>

<div id="cse" style="width: 100%;">Loading</div>
<script src="http://www.google.com/jsapi" type="text/javascript"></script>
<script type="text/javascript"> 
  google.load('search', '1', {language : 'ja'});
  google.setOnLoadCallback(function() {
    var customSearchControl = new google.search.CustomSearchControl('014209755061225528213:avoizn7xcck');
    customSearchControl.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET);
    customSearchControl.draw('cse');
  }, true);
</script>
<link rel="stylesheet" href="http://www.google.com/cse/style/look/default.css" type="text/css" /> <style type="text/css">
  .gsc-control-cse {
    font-family: Verdana, sans-serif;
    border-color: #FFFFFF;
    background-color: #ffffff;
  }
  input.gsc-input {
    border-color: #BCCDF0;
  }
  input.gsc-search-button {
    border-color: #666666;
    background-color: #CECECE;
  }
  .gsc-tabHeader.gsc-tabhInactive {
    border-color: #E9E9E9;
    background-color: #E9E9E9;
  }
  .gsc-tabHeader.gsc-tabhActive {
    border-top-color: #FF9900;
    border-left-color: #E9E9E9;
    border-right-color: #E9E9E9;
    background-color: #FFFFFF;
  }
  .gsc-tabsArea {
    border-color: #E9E9E9;
  }
  .gsc-webResult.gsc-result {
    border-color: #FFFFFF;
    background-color: #FFFFFF;
  }
  .gsc-webResult.gsc-result:hover {
    border-color: #FFFFFF;
    background-color: #FFFFFF;
  }
  .gs-webResult.gs-result a.gs-title:link,
  .gs-webResult.gs-result a.gs-title:link b {
    color: #0000CC;
  }
  .gs-webResult.gs-result a.gs-title:visited,
  .gs-webResult.gs-result a.gs-title:visited b {
    color: #0000CC;
  }
  .gs-webResult.gs-result a.gs-title:hover,
  .gs-webResult.gs-result a.gs-title:hover b {
    color: #0000CC;
  }
  .gs-webResult.gs-result a.gs-title:active,
  .gs-webResult.gs-result a.gs-title:active b {
    color: #0000CC;
  }
  .gsc-cursor-page {
    color: #0000CC;
  }
  a.gsc-trailing-more-results:link {
    color: #0000CC;
  }
  .gs-webResult .gs-snippet {
    color: #000000;
  }
  .gs-webResult div.gs-visibleUrl {
    color: #008000;
  }
  .gs-webResult div.gs-visibleUrl-short {
    color: #008000;
  }
  .gs-webResult div.gs-visibleUrl-short {
    display: none;
  }
  .gs-webResult div.gs-visibleUrl-long {
    display: block;
  }
  .gsc-cursor-box {
    border-color: #FFFFFF;
  }
  .gsc-results .gsc-cursor-page {
    border-color: #E9E9E9;
    background-color: #FFFFFF;
  }
  .gsc-results .gsc-cursor-page.gsc-cursor-current-page {
    border-color: #FF9900;
    background-color: #FFFFFF;
  }
  .gs-promotion {
    border-color: #336699;
    background-color: #FFFFFF;
  }
  .gs-promotion a.gs-title:link,
  .gs-promotion a.gs-title:link *,
  .gs-promotion .gs-snippet a:link {
    color: #0000CC;
  }
  .gs-promotion a.gs-title:visited,
  .gs-promotion a.gs-title:visited *,
  .gs-promotion .gs-snippet a:visited {
    color: #0000CC;
  }
  .gs-promotion a.gs-title:hover,
  .gs-promotion a.gs-title:hover *,
  .gs-promotion .gs-snippet a:hover {
    color: #0000CC;
  }
  .gs-promotion a.gs-title:active,
  .gs-promotion a.gs-title:active *,
  .gs-promotion .gs-snippet a:active {
    color: #0000CC;
  }
  .gs-promotion .gs-snippet,
  .gs-promotion .gs-title .gs-promotion-title-right,
  .gs-promotion .gs-title .gs-promotion-title-right *  {
    color: #000000;
  }
  .gs-promotion .gs-visibleUrl,
  .gs-promotion .gs-visibleUrl-short {
    color: #008000;
  }
</style>
]]>
        
    </content>
</entry>

<entry>
    <title>EC2 の Instance Metadata 短縮URL</title>
    <link rel="alternate" type="text/html" href="http://5net.com/blog/2011/06/ec2-instance-metadata-shorten-url.html" />
    <id>tag:5net.com,2011:/blog//1.85220</id>

    <published>2011-06-11T06:41:10Z</published>
    <updated>2011-06-11T07:25:13Z</updated>

    <summary> EC2では内部から Instance Metadata というインスタンスの情報を取得可能になっていて、簡単なURLリクエストでデータにアクセスできます。 参考: http://docs.amazo...</summary>
    <author>
        <name>kaz</name>
        
    </author>
    
        <category term="technology" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="amazonec2" label="amazon-ec2" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="amazonwebservices" label="amazon-web-services" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://5net.com/blog/">
        <![CDATA[<p>
<img src="http://media.amazonwebservices.com/logo_aws.gif" align="right" alt="amazon web services logo" /><br />
EC2では内部から Instance Metadata というインスタンスの情報を取得可能になっていて、簡単なURLリクエストでデータにアクセスできます。
</p>

<p>
参考: <a href="http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/index.html?AESDG-chapter-instancedata.html">http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/index.html?AESDG-chapter-instancedata.html</a>
</p>

<p>
Twitterを眺めていたらふと @maru_tak さんが「<a href="http://twitter.com/maru_tak/status/79423356776099840">http://169.254.169.254/latest/meta-data/ が覚えにくいので...</a>」とつぶやいていて、確かに自分でも「便利なURLだったけどいつもURL忘れていて検索してたな」と思い出したのでした。
</p>

<p>
で、あれば、覚えやすくするために... 短縮URL！ということで bit.ly を使って短縮してみました。メタデータ名は壊さず、できるだけ規則的になるよう以下のように短縮してみました。
</p>]]>
        <![CDATA[<ul>
	<li>http://bit.ly/aws-meta-data</li>
	<li>http://bit.ly/md-ami-id</li>
	<li>http://bit.ly/md-ami-launch-index</li>
	<li>http://bit.ly/md-ami-manifest-path</li>
	<li>http://bit.ly/md-hostname</li>
	<li>http://bit.ly/md-instance-action</li>
	<li>http://bit.ly/md-instance-type</li>
	<li>http://bit.ly/md-local-hostname</li>
	<li>http://bit.ly/md-local-ipv4</li>
	<li>http://bit.ly/md-mac</li>
	<li>http://bit.ly/md-profile</li>
	<li>http://bit.ly/md-public-hostname</li>
	<li>http://bit.ly/md-public-ipv4</li>
	<li>http://bit.ly/md-reservation-id</li>
	<li>http://bit.ly/md-security-group</li>
	<li>http://bit.ly/md-availability-zone</li>
</ul>

<p>
aws-meta-data だけは例外になってしまってますが、さすがに /md や /meta-data は取得され済みだったのでしかたなくこうしています。
</p>

<p>
利用する際はリダイレクトを追いかけるようにして、curl コマンドならば -L オプションをつけて以下のようにすればOKです。
</p>

<pre class="brush:bash">
$ curl -L http://bit.ly/md-local-ipv4
10.162.165.219

$ curl -L http://bit.ly/md-hostname
ip-10-162-165-219.us-west-1.compute.internal
</pre>
]]>
    </content>
</entry>

</feed>

