<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="ja" xmlns:fb="http://www.facebook.com/2008/fbml" xmlns:og="http://ogp.me/ns#">

<head profile="http://gmpg.org/xfn/11">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="google-site-verification" content="lYeLnnf1wFTeUN1E68KgohdS1Ue_luPEkj8SkaIW3_0" />




<link rel="stylesheet" href="http://175.41.251.6/tech/wp-content/themes/techblog/style.css" type="text/css" media="screen" />
<link rel="pingback" href="http://175.41.251.6/tech/xmlrpc.php" />

<link href="/wp-content/themes/techblog/default_blog.css" rel="stylesheet" type="text/css" media="screen,print"/>
<script src="http://corporate-tech-blog-wp.s3.amazonaws.com/wp-content/uploads/common/js/jquery-1.4.2.min.js" type="text/javascript" charset="UTF-8"></script>
<script src="http://corporate-tech-blog-wp.s3.amazonaws.com/wp-content/uploads/common/js/jquery-effects.js" type="text/javascript" charset="UTF-8"></script>



<!-- This site is optimized with the Yoast WordPress SEO plugin v1.2.5 - http://yoast.com/wordpress/seo/ -->
<title>サーバーワークス エンジニアブログ &laquo; クラウドコンピューティングや仮想化といった「難しいITのサービス」を、わかりやすいサービスとして提供するITサービス企業 サーバーワークスの技術者によるブログです。</title>
<link rel="canonical" href="http://175.41.251.6/tech/" />
<link rel="next" href="http://175.41.251.6/tech/page/2/" />
<!-- / Yoast WordPress SEO plugin. -->

<link rel="alternate" type="application/rss+xml" title="サーバーワークス エンジニアブログ &raquo; フィード" href="http://175.41.251.6/tech/feed/" />
<link rel="alternate" type="application/rss+xml" title="サーバーワークス エンジニアブログ &raquo; コメントフィード" href="http://175.41.251.6/tech/comments/feed/" />
<link rel='stylesheet' id='google-sitemap-StyleSheets-css'  href='http://175.41.251.6/tech/wp-content/plugins/google-sitemap-plugin/css/stylesheet.css?ver=3.4.1' type='text/css' media='all' />
<link rel='stylesheet' id='wp-pagenavi-css'  href='http://175.41.251.6/tech/wp-content/plugins/wp-pagenavi/pagenavi-css.css?ver=2.70' type='text/css' media='all' />
<link rel="EditURI" type="application/rsd+xml" title="RSD" href="http://175.41.251.6/tech/xmlrpc.php?rsd" />
<link rel="wlwmanifest" type="application/wlwmanifest+xml" href="http://175.41.251.6/tech/wp-includes/wlwmanifest.xml" /> 
<meta name="generator" content="WordPress 3.4.1" />
<link rel="stylesheet" type="text/css" href="http://175.41.251.6/tech/wp-content/plugins/wp-evernote-site-memory/css/styles.css" />
<!-- BEGIN: WP-OGP by http://www.millerswebsite.co.uk Version: 1.0.5  -->
<meta property="og:title" content="サーバーワークス エンジニアブログ" />
<meta property="og:type" content="website" />
<meta property="og:image" content="http://175.41.251.6/tech/wp-content/plugins/wp-ogp/default.jpg" />
<meta property="image_src" content="http://175.41.251.6/tech/wp-content/plugins/wp-ogp/default.jpg" />
<meta property="og:url" content="http://175.41.251.6/tech" />
<meta property="og:site_name" content="サーバーワークス エンジニアブログ" />
<meta property="og:description" content="クラウドコンピューティングや仮想化といった「難しいITのサービス」を、わかりやすいサービスとして提供するITサービス企業 サーバーワークスの技術者によるブログです。" />
<!-- END: WP-OGP by http://www.millerswebsite.co.uk Version: 1.0.5 -->
<meta id="syntaxhighlighteranchor" name="syntaxhighlighter-version" content="3.1.3" />
</head>
<body class="home blog">
<div id="page">

    <div id="header">
      <div id="skip-lines" class="grid-12">
        <a href="#navigation">メニューへ移動</a>
        <a href="#content">コンテンツへ移動</a>
        <!-- end of #skip-lines -->
      </div>


<div id="container">
<div class="roof"><h1>AWSに特化したクラウドインテグレーターのサーバーワークス</h1></div>
	<!-- #header ///////////////////////////////////// -->
<div id="header2">
<!-- #logo //////////////// -->

<div id="logo">
<a href="http://www.serverworks.co.jp/"><img src="http://corporate-tech-blog-wp.s3.amazonaws.com/wp-content/uploads/logo.gif" alt="サーバーワークス - Serverworks-" width="242" height="70" border="0" class="logo" title="サーバーワークス - Serverworks-" /></a>
</div><!-- /#logo -->

<!-- #Info //////////////// -->
<div id="Info">

<div class="icon_groupe">
<img src="http://corporate-tech-blog-wp.s3.amazonaws.com/wp-content/uploads/roof_tel.gif" alt="導入のご相談・お問い合わせ：03-5579-8029 受付時間：10:00-19:00（土日祝日、お盆、GW、年末年始をのぞく）" width="260" height="70" class="roof_tel" title="導入のご相談・お問い合わせ：03-5579-8029 受付時間：10:00-19:00（土日祝日、お盆、GW、年末年始をのぞく）" />
</div>
</div><!-- /#Info -->
</div><!-- /#header -->

<div class="clear"></div>
	<!-- #nav //////////////// -->
<div id="nav_p">
<ul><li><a href="http://www.serverworks.co.jp/"><img src="http://corporate-tech-blog-wp.s3.amazonaws.com/wp-content/uploads/p_menu_home_nm.gif" alt="HOME" width="137" height="69" border="0" class="imgover" title="HOME" /></a></li><li><a href="http://www.serverworks.co.jp/services"><img src="http://corporate-tech-blog-wp.s3.amazonaws.com/wp-content/uploads/p_menu_service_nm.gif" alt="サービス" width="137" height="69" border="0" class="imgover" title="サービス" /></a></li><li><a href="http://www.serverworks.co.jp/case"><img src="http://corporate-tech-blog-wp.s3.amazonaws.com/wp-content/uploads/p_menu_case_nm.gif" alt="導入事例" width="137" height="69" border="0" class="imgover" title="導入事例" /></a></li><li><a href="http://www.serverworks.co.jp/corporate"><img src="http://corporate-tech-blog-wp.s3.amazonaws.com/wp-content/uploads/p_menu_company_nm.gif" alt="会社情報" width="137" height="69" border="0" class="imgover" title="会社情報" /></a></li><li><a href="http://www.serverworks.co.jp/career"><img src="http://corporate-tech-blog-wp.s3.amazonaws.com/wp-content/uploads/p_menu_rectuit_nm.gif" alt="採用情報" width="137" height="69" border="0" class="imgover" title="採用情報" /></a></li><li><a href="http://www.serverworks.co.jp/blog"><img src="http://corporate-tech-blog-wp.s3.amazonaws.com/wp-content/uploads/p_menu_blog_on.gif" alt="ブログ" width="137" height="69" border="0" title="ブログ" /></a></li><li><a href="http://www.serverworks.co.jp/contact"><img src="http://corporate-tech-blog-wp.s3.amazonaws.com/wp-content/uploads/p_menu_inq_nm.gif" alt="お問い合わせ" width="137" height="69" border="0" class="imgover" title="お問い合わせ" /></a></li></ul></div>
<!-- /#nav -->

<!-- #topic-path -->
<div id="topic-path">
<div class="path_link"><a href="http://www.serverworks.co.jp/">HOME</a> &gt;<a href="http://www.serverworks.co.jp/blog/">ブログ</a> &gt;<a href="http://175.41.251.6/tech">エンジニアブログ</a> &gt; 
CloudFrontとElastiCacheとMVC</div>
</div><!-- /#topic-path -->
 
    </div>
</div>
<div id="content" class="container_12 clearfix">
  <div class="main grid_9">
    <a href="/tech/"><h1 id="blog-logo">技術ブログ - 毎日が成長！</h1></a>

    
      
        <div class="post-11885 post type-post status-publish format-standard hentry category-1 tag-cloudfront tag-elasticache tag-mvc tag-86" id="post-11885">
          <h2><a href="http://175.41.251.6/tech/2012/07/13/cloudfront_elasticache_mvc/" rel="bookmark" title="Permanent Link to CloudFrontとElastiCacheとMVC">CloudFrontとElastiCacheとMVC</a></h2>
          <div class="clearfix">
          <div style="float:left;">
            <a href="http://b.hatena.ne.jp/entry/http://175.41.251.6/tech/2012/07/13/cloudfront_elasticache_mvc/" class="hatena-bookmark-button" data-hatena-bookmark-title="CloudFrontとElastiCacheとMVC" data-hatena-bookmark-layout="standard" title="このエントリーをはてなブックマークに追加"><img src="http://b.st-hatena.com/images/entry-button/button-only.gif" alt="このエントリーをはてなブックマークに追加" width="20" height="20" style="border: none;" /></a><script type="text/javascript" src="http://b.st-hatena.com/js/bookmark_button.js" charset="utf-8" async="async"></script>

            <a href="http://twitter.com/share" class="twitter-share-button" data-url="http://175.41.251.6/tech/2012/07/13/cloudfront_elasticache_mvc/" data-count="horizontal">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>

            <g:plusone size="medium" href="http://175.41.251.6/tech/2012/07/13/cloudfront_elasticache_mvc/"></g:plusone>

            <iframe src="http://www.facebook.com/plugins/like.php?app_id=134649519942791&amp;href=http://175.41.251.6/tech/2012/07/13/cloudfront_elasticache_mvc/&amp;send=false&amp;layout=button_count&amp;width=120&amp;show_faces=true&amp;action=like&amp;colorscheme=light&amp;font&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:120px; height:21px;" allowTransparency="true"></iframe>
          </div>
          <div class="date" style="float:right;margin-top:0;">
            7月 13th, 2012 by 
<span class="vcard"><a class="url fn n" href="http://175.41.251.6/tech/author/odagiri/" title="odagiri" rel="me">odagiri</a></h1>
            <img alt='' src='http://0.gravatar.com/avatar/c28fcb0133e32cea181c84dcafb37b22?s=48&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D48&amp;r=G' class='avatar avatar-48 photo' height='48' width='48' />          </div>
        </div>

          <div class="entry">
            <p>みなさん、こんにちは。<br />
開発部の小田切です。</p>
<p>今回は、CloudFrontとElastiCacheを使用したときのMVCフレームワークとのキャッシュの関係について、書かせて頂きます。</p>
<p>AWSでキャッシュというと、CloudFrontとElastiCacheがキャッシュの機能を備えています。<br />
それらを使った際に、MVCフレームワークとの関係でどこのキャッシュになるのかを説明させて頂きます。</p>
<div style="width: 680px;margin: 24px 0pt 10px;padding: 5px 0pt 5px 10px;background: none repeat scroll 0% 0% #eaf3fa;color: #00019b;border-left: 7px solid #00019b">
<h5>Viewキャッシュ</h5>
</div>
<p>CloudFrontはコンテンツデリバリネットワークなので、キャッシュと言うイメージに結びつきづらいかもしれません。</p>
<p>CloudFrontはエッジロケーションに対象のURLのデータが存在すれば、それを返します。</p>
<p>エッジローケーションに対象のデータが無ければオリジンサーバへ取得を行い、TTLで設定された期間保持するのでキャッシュ機能といえます。</p>
<p style="text-align: center"><img class="aligncenter size-full wp-image-11889" src="http://s3-ap-northeast-1.amazonaws.com/corporate-tech-blog-wp/wp-content/uploads/1e2bbaa49234821869cd1f6004440eb71.png" alt="" width="719" height="229" /></p>
<p>これは、システム全体から見ると、Viewキャッシュにあたります。</p>
<p>CloudFrontにキャッシュが存在すれば、CloudFrontからレスポンスを返してくれるため、オリジンサーバのアプリケーションのプロセスが起動すること無くなるため、オリジンサーバの負荷を軽減することが出来ます。</p>
<p>ただ、CloudFrontはまだ機能的に不十分な所（POSTに対応していない等）もあるので、Viewキャッシュをすべてまかなえるかというとそういう訳でもなく、必要に応じてElastiCacheのほうでViewキャッシュを実装する場合もあり得ます。</p>
<p style="text-align: center"><img class="aligncenter size-full wp-image-11944" src="http://s3-ap-northeast-1.amazonaws.com/corporate-tech-blog-wp/wp-content/uploads/4c20c59708ab0a68db156a51dae2b8c61.png" alt="" width="719" height="283" /></p>
<div style="width: 680px;margin: 24px 0pt 10px;padding: 5px 0pt 5px 10px;background: none repeat scroll 0% 0% #eaf3fa;color: #00019b;border-left: 7px solid #00019b">
<h5>Modelキャッシュ</h5>
</div>
<p>Viewキャッシュでも使用しましたが、やはりElastiCacheは主にMVCフレームワークでのModel部分のキャッシュに使用することが多くなるのではないかと考えられます。</p>
<p>ModelキャッシュはDBへ同じSELECTクエリを実行した際に、同じ結果が返されることが分かっている場合、DBへSQLを実行せずにElastiCacheからSQLの結果を取得します。これによって、DBの負荷を軽減することが出来ます。</p>
<p>（ElastiCacheにキャッシュが無かった場合には、実際にDBでSELECTクエリを実行します。その際に、結果をElastiCacheへキャッシュすることで、同じクエリが短時間に複数回DBで実行されることを防ぎます。）</p>
<p style="text-align: center"><img class="aligncenter size-full wp-image-11945" src="http://s3-ap-northeast-1.amazonaws.com/corporate-tech-blog-wp/wp-content/uploads/e60d9d58bde4a30e50f5c0e83889b2b61.png" alt="" width="719" height="266" /></p>
<p>全体として、注意しなければいけないのは、どこでどのキャッシュを使用するか、キャッシュはどれくらいの期間有効にするかということです。</p>
<p>常に最新の結果を必要とするページではキャッシュを使用してはいけませんし、逆に、5分間は常に同じ結果を返すページ等では、キャッシュを有効に使用してシステムの負荷を軽減させることが可能です。</p>
<p>CloudFrontとElastiCacheは使いこなせば強力なサービスですので、自分もさらに検証して行きたいと思います。</p>
<div class="evernoteSiteMemory"><a href="javascript:" onclick="Evernote.doClip({title: 'CloudFrontとElastiCacheとMVC on サーバーワークス エンジニアブログ',url: 'http://175.41.251.6/tech/2012/07/13/cloudfront_elasticache_mvc/',contentID: 'post-11885',suggestTags: 'CloudFront,ElastiCache,MVC,キャッシュ',providerName: 'サーバーワークス エンジニアブログ',styling: 'text' });return false" class="evernoteSiteMemoryLink"><img src="http://static.evernote.com/article-clipper.png" class="evernoteSiteMemoryButton" />
				</a>				<div class="evernoteSiteMemoryClear">&nbsp;</div>
</div>          </div>

          <p class="postmetadata">Tags: <a href="http://175.41.251.6/tech/tag/cloudfront/" rel="tag">CloudFront</a> <a href="http://175.41.251.6/tech/tag/elasticache/" rel="tag">ElastiCache</a> <a href="http://175.41.251.6/tech/tag/mvc/" rel="tag">MVC</a> <a href="http://175.41.251.6/tech/tag/%e3%82%ad%e3%83%a3%e3%83%83%e3%82%b7%e3%83%a5/" rel="tag">キャッシュ</a><br /></p>
        </div>

      
        <div class="post-10557 post type-post status-publish format-standard hentry category-1 tag-asterisk tag-aws tag-heartbeat tag-ivr" id="post-10557">
          <h2><a href="http://175.41.251.6/tech/2012/07/06/asterisk-heartbeat-pacemaker/" rel="bookmark" title="Permanent Link to AWS上のAsteriskサーバをHeartbeat+Pacemakerで冗長化">AWS上のAsteriskサーバをHeartbeat+Pacemakerで冗長化</a></h2>
          <div class="clearfix">
          <div style="float:left;">
            <a href="http://b.hatena.ne.jp/entry/http://175.41.251.6/tech/2012/07/06/asterisk-heartbeat-pacemaker/" class="hatena-bookmark-button" data-hatena-bookmark-title="AWS上のAsteriskサーバをHeartbeat+Pacemakerで冗長化" data-hatena-bookmark-layout="standard" title="このエントリーをはてなブックマークに追加"><img src="http://b.st-hatena.com/images/entry-button/button-only.gif" alt="このエントリーをはてなブックマークに追加" width="20" height="20" style="border: none;" /></a><script type="text/javascript" src="http://b.st-hatena.com/js/bookmark_button.js" charset="utf-8" async="async"></script>

            <a href="http://twitter.com/share" class="twitter-share-button" data-url="http://175.41.251.6/tech/2012/07/06/asterisk-heartbeat-pacemaker/" data-count="horizontal">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>

            <g:plusone size="medium" href="http://175.41.251.6/tech/2012/07/06/asterisk-heartbeat-pacemaker/"></g:plusone>

            <iframe src="http://www.facebook.com/plugins/like.php?app_id=134649519942791&amp;href=http://175.41.251.6/tech/2012/07/06/asterisk-heartbeat-pacemaker/&amp;send=false&amp;layout=button_count&amp;width=120&amp;show_faces=true&amp;action=like&amp;colorscheme=light&amp;font&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:120px; height:21px;" allowTransparency="true"></iframe>
          </div>
          <div class="date" style="float:right;margin-top:0;">
            7月 6th, 2012 by 
<span class="vcard"><a class="url fn n" href="http://175.41.251.6/tech/author/saito/" title="saito" rel="me">saito</a></h1>
            <img alt='' src='http://0.gravatar.com/avatar/2fc352a99db739b9914ac7f8bca72f4e?s=48&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D48&amp;r=G' class='avatar avatar-48 photo' height='48' width='48' />          </div>
        </div>

          <div class="entry">
            <p><img src="http://s3-ap-northeast-1.amazonaws.com/corporate-tech-blog-wp/wp-content/uploads/545px-Asterisk_logo.svg_-300x180.png" alt="" width="300" height="180" class="alignnone size-medium wp-image-5818" /><img src="http://s3-ap-northeast-1.amazonaws.com/corporate-tech-blog-wp/wp-content/uploads/TopLogo__HA-100.png" alt="" width="290" height="100" class="alignnone size-full wp-image-3444" /></p>
<p>こんにちは、入社3か月の斉藤です。<br />
いつまで新人と名乗れるものなのでしょうか。気持ちはいつでもフレッシュです。  </p>
<p>現在IVR（自動音声応答）サービスにあれこれと関わっています。<br />
AWS上のAsteriskサーバをHeartbeat+Pacemakerで冗長化したのでそれについて書いていこうと思います。</p>
<p>HeartbeatやPacemakerは高可用クラスタシステムを構築するためのオープンソースなパッケージです。<br />
詳しくは以下のページを見てください。</p>
<ul>
<li><a href="http://linux-ha.org/w/index.php?title=Main_Page&amp;setlang=ja" target="_blank">Linux-HA</a></li>
<li><a href="http://linux-ha.sourceforge.jp/wp/" target="_blank">Linux-HA Japan</a></li>
<li><a href="http://clusterlabs.org/mwiki/index.php?title=Main_Page&amp;setlang=ja" target="_blank">Pacemakerプロジェクトウェブサイト</a></li>
</ul>
<p>IVRやAsteriskに関しては以下の記事から続いています。<br />
<a href="http://blog.serverworks.co.jp/tech/2012/04/09/asterisk-ivr-on-aws/">Asterisk-IVR on AWS（外線接続編）</a>　　<a href="http://blog.serverworks.co.jp/tech/2012/02/15/ec2-on-asterisk-ivr/">EC2 on Asterisk-IVR</a>  </p>
<p>まず今回のおおまかな構成は以下のとおり。<br />
<img class="alignnone size-full wp-image-10609" src="http://s3-ap-northeast-1.amazonaws.com/corporate-tech-blog-wp/wp-content/uploads/asterisk.png" alt="" width="697" height="184" />　　<br />
今回使用したAMI、Heartbeat、Pacemakerのバージョンは次のとおりです。</p>
<ul>
<li>Amazon Linux AMI 2012.03</li>
<li>heartbeat-3.0.5</li>
<li>pacemaker-1.0.12</li>
</ul>
<p>作業手順は以下のとおりです。<br />
あまりよろしくないとは思いつつ今回はrootユーザーで作業しています。<br />
本来なら適宜sudoを使っていくべきかなと思います。</p>
<ol>
<li><strong>ホスト名の設定</strong></li>
<li><strong>セキュリティグループの設定</strong></li>
<li><strong>パッケージのインストール</strong></li>
<li><strong>Heartbeatの設定</strong></li>
<li><strong>起動とリソースエージェントの設定</strong></li>
<li><strong>動作確認</strong></li>
</ol>
<p><span style="font-weight: bold"> </span></p>
<h2>1.ホスト名の設定</h2>
<p>EC2ではデフォルトのままだと起動毎にホスト名が変わってしまうので、heartbeat01、heartbeat02というホスト名をそれぞれつけます。<br />
ホスト名の固定の仕方は以下のとおりです。  </p>
<pre>
echo heartbeat01 &gt; /etc/hostname
hostname -F /etc/hostname
</pre>
<p>/etc/sysconfig/networkを編集します。  </p>
<pre>
HOSTNAME=heartbeat01
</pre>
<h2><span style="font-weight: bold">2.セキュリティグループの設定</span></h2>
<p>Heartbeatでノード間の監視をするために以下を追加します。<br />
sourceにはAsteriskサーバのセキュリティグループを指定します。  </p>
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<th>PortService</th>
<th>Source</th>
</tr>
<tr>
<td>UDP 694</td>
<td>sg-ee850ce(asterisk)</td>
</tr>
</tbody>
</table>
<h2>3.パッケージのインストール</h2>
<p><strong>・openhpi-libsのインストール</strong><br />
Pacemakerのインストールに必要なopenhpi-libsのパッケージは、AmazonLinuxのリポジトリにありません。<br />
なのでCentOS6のリポジトリを追加してインストールします。<br />
/etc/yum.repos.d/CentOS-Base.repoというファイルを以下のように作成します。</p>
<pre>
[centos-base]
name=CentOS-6 - Base
mirrorlist=http://mirrorlist.centos.org/?release=6&amp;arch=x86_64&amp;repo=os
enabled=0
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6
</pre>
<p>yumコマンドでインストールします。</p>
<pre>
yum --enablerepo=centos-base install openhpi-libs.x86_64
</pre>
<p><strong>・Heartbeat、Pacemakerのインストール</strong><br />
<a title="pacemakerリポジトリパッケージ" href="http://sourceforge.jp/projects/linux-ha/releases/55568" target="_blank"> こちらから</a>リポジトリパッケージ（pacemaker-1.0.12-1.1.el6.x86_64.repo.tar.gz）をダウンロードしインストールします。</p>
<pre>tar zxvf pacemaker-1.0.12-1.1.el6.x86_64.repo.tar.gz /tmp/
cd /tmp/pacemaker-1.0.12-1.1.el6.x86_64.repo
yum -c pacemaker.repo install pacemaker.x86_64  heartbeat.x86_64</pre>
<h2><strong>4.Heartbeatの設定</strong></h2>
<h3>・/etc/ha.d/ha.cf</h3>
<p>/etc/ha.d/ha.cfに設定を記述します。各サーバ毎に設定をします。ucast以外は各サーバ共通です。</p>
<pre>pacemaker     on
autojoin      none
udpport       694
ucast         eth0 ec2-175-41-243-27.ap-northeast-1.compute.amazonaws.com　　//自分のではなく相手のPublic DNS
warntime      10
deadtime      15
initdead      60
keepalive     5
node          heartbeat01
node          heartbeat02
auto_failback off
uuidfrom      nodename
logfile       /var/log/heartbeat.log
logfacility   none</pre>
<h3>・/etc/ha.d/authkeys</h3>
<p>/etc/ha.d/authkeysで相互認証に使用する秘密鍵を指定します。</p>
<p>各サーバで同一のものにします。</p>
<pre>auth *num*
*num* *algorithm* *secret*</pre>
<p>*num :1から始まる簡単なキーインデックス<br />
*algorithm:シグネチャーアルゴリズム。 md5またはsha1を使用できます。<br />
*secret:認証キー</p>
<p>作成後rootだけが読み込みできるようにします。</p>
<pre>#chmod 0600 /etc/ha.d/authkeys</pre>
<h2><strong>5.起動とリソースエージェントの設定</strong></h2>
<p>設定するために各サーバでHeartbeatを起動させます。</p>
<pre>/etc/init.d/heartbeat start</pre>
<p>下記のコマンドで画像のようにOnlineになるか確認します。</p>
<pre>crm_mon -A</pre>
<p><img src="http://s3-ap-northeast-1.amazonaws.com/corporate-tech-blog-wp/wp-content/uploads/crb_mon1.png" alt="" /><br />
heartbeat01，02ともにOnlineになっています。<br />
サーバ間のチェックは正しく行われているので次にリソースエージェントの設定をします。<br />
設定にはcrmコマンドを使用します。内容は以下のとおりです。</p>
<pre>crm
#configure 
crm(live)configure# property $id="cib-bootstrap-options" stonith-enabled="false" no-quorum-policy="ignore"
crm(live)configure# rsc_defaults resource-stickiness="INFINITY" migration-threshold="1"
crm(live)configure# primitive p_asterisk ocf:heartbeat:asterisk params user="root" group="root" maxfiles="65536" op monitor interval="10s" timeout="30s" op start interval="0s" timeout="30s" op stop interval="0s" timeout="30s"
crm(live)configure# commit
crm(live)configure# quit</pre>
<h2>6．動作チェック</h2>
<p>設定が終わったのでフェイルオーバーできるかどうか動作のチェックをします。先ほど同じく&#8221;crm_mon -A&#8221;で確認します。<br />
<img src="http://s3-ap-northeast-1.amazonaws.com/corporate-tech-blog-wp/wp-content/uploads/crm_mon21.png" alt="" class="alignnone size-full wp-image-11752" /><br />
asteriskがheartbeat02で起動しています。</p>
<p>それでは、asteriskのプロセスを止めてheartbeat01のasteriskが起動するかを試してみます。</p>
<p>killコマンドを使いプロセスを終了して、&#8221;crm_mon -A&#8221;で確認してみます。すると<br />
<img class="alignnone size-full wp-image-10669" src="http://s3-ap-northeast-1.amazonaws.com/corporate-tech-blog-wp/wp-content/uploads/hbafter1.png" alt="" width="720" height="300" /></p>
<p>heartbeat01でasteriskが起動しています。<br />
heartbeat02の方が動いてないよというメッセージもでています。  </p>
<p>これで無事フェイルオーバーできました。</p>
<h2>感想</h2>
<p>無事にAsteriskサーバを冗長化できました。<br />
切り替えの際にB2BUAにレジストする必要があるので数秒かかりますが、自動で切り替えられるのは素敵ですね。</p>
<p>今回はAsteriskサーバでしたが、UDPの通信が必要でELBが使えない場合には同じように冗長化できると思います。</p>
<div class="evernoteSiteMemory"><a href="javascript:" onclick="Evernote.doClip({title: 'AWS上のAsteriskサーバをHeartbeat+Pacemakerで冗長化 on サーバーワークス エンジニアブログ',url: 'http://175.41.251.6/tech/2012/07/06/asterisk-heartbeat-pacemaker/',contentID: 'post-10557',suggestTags: 'Asterisk,AWS,heartbeat,IVR',providerName: 'サーバーワークス エンジニアブログ',styling: 'text' });return false" class="evernoteSiteMemoryLink"><img src="http://static.evernote.com/article-clipper.png" class="evernoteSiteMemoryButton" />
				</a>				<div class="evernoteSiteMemoryClear">&nbsp;</div>
</div>          </div>

          <p class="postmetadata">Tags: <a href="http://175.41.251.6/tech/tag/asterisk/" rel="tag">Asterisk</a> <a href="http://175.41.251.6/tech/tag/aws/" rel="tag">AWS</a> <a href="http://175.41.251.6/tech/tag/heartbeat/" rel="tag">heartbeat</a> <a href="http://175.41.251.6/tech/tag/ivr/" rel="tag">IVR</a><br /></p>
        </div>

      
        <div class="post-11615 post type-post status-publish format-standard hentry category-1 tag-84 tag-88 tag-94" id="post-11615">
          <h2><a href="http://175.41.251.6/tech/2012/07/03/send-serverworks-night/" rel="bookmark" title="Permanent Link to 発信力を鍛える。">発信力を鍛える。</a></h2>
          <div class="clearfix">
          <div style="float:left;">
            <a href="http://b.hatena.ne.jp/entry/http://175.41.251.6/tech/2012/07/03/send-serverworks-night/" class="hatena-bookmark-button" data-hatena-bookmark-title="発信力を鍛える。" data-hatena-bookmark-layout="standard" title="このエントリーをはてなブックマークに追加"><img src="http://b.st-hatena.com/images/entry-button/button-only.gif" alt="このエントリーをはてなブックマークに追加" width="20" height="20" style="border: none;" /></a><script type="text/javascript" src="http://b.st-hatena.com/js/bookmark_button.js" charset="utf-8" async="async"></script>

            <a href="http://twitter.com/share" class="twitter-share-button" data-url="http://175.41.251.6/tech/2012/07/03/send-serverworks-night/" data-count="horizontal">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>

            <g:plusone size="medium" href="http://175.41.251.6/tech/2012/07/03/send-serverworks-night/"></g:plusone>

            <iframe src="http://www.facebook.com/plugins/like.php?app_id=134649519942791&amp;href=http://175.41.251.6/tech/2012/07/03/send-serverworks-night/&amp;send=false&amp;layout=button_count&amp;width=120&amp;show_faces=true&amp;action=like&amp;colorscheme=light&amp;font&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:120px; height:21px;" allowTransparency="true"></iframe>
          </div>
          <div class="date" style="float:right;margin-top:0;">
            7月 3rd, 2012 by 
<span class="vcard"><a class="url fn n" href="http://175.41.251.6/tech/author/hashiva/" title="hashiva" rel="me">hashiva</a></h1>
            <img alt='' src='http://1.gravatar.com/avatar/920477dc71b5daec570f5864fa015497?s=48&amp;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D48&amp;r=G' class='avatar avatar-48 photo' height='48' width='48' />          </div>
        </div>

          <div class="entry">
            <p>こんにちは、羽柴です。<br />
突然ですが今日は発信力を鍛えることについて書きたいと思います。<br />
先日、うちの代表がこんなポストをしていました。</p>
<p>　<strong>社長ブログ</strong>：<a href="http://blog.serverworks.co.jp/ceo/?p=275" target="_blank">コミュニケーション能力重視という愚行</a></p>
<p>この内容を少しフォローをするなら当社でももちろんコミュニケーション力は重要です。特に私たちのような新しい技術を提供していく会社ではお客さまへの説明や、新しい技術の発表などの説明力・発信力はとても重要と考えています。</p>
<p>そこで発信力を鍛えるための当社の仕組みを2つご紹介します。</p>
<h2>1. 技術ブログ</h2>
<p>発信におけるブログは非常に大事なツールです。<br />
ただブログを書け書けだけでは続かないし面白くないので、これにゲーム性をちょっと加えました。<br />
内容はシンプルで、ブログの投稿数はカウントせず<strong> Facebookの「いいね！数」、Twitterの「Tweet数」、「はてなブックマーク数」</strong>、この３つの合計数をカウントし半年間の総計で争っています。１位のメンバーは部の半期打ち上げタダ、ビリのメンバーには健康的なジュースを飲んでもらっています。<br />
これによって書くだけでなく中身も重要になり、社内レビューを通して公開していますので文章力を上げることにも貢献しています。<br />
また、社内レビューを通しているからといって固い内容でないと通らないということはなく、実際に以下のように尖ったブログも公開されており、一部誤解が発生しつつあったところを当社代表が火消しに走るというソーシャルな活動も行なっています。</p>
<p>　<strong>該当のブログ</strong>：<a href="http://blog.serverworks.co.jp/tech/2012/06/28/spirituals-aws/" target="_blank">スピリチュアルなAWSの使い方</a>：<a href="http://blog.serverworks.co.jp/tech/2012/04/11/wildaws/" target="_blank">AWSをワイルドに使ってみる</a></p>
<p>　<strong>当社代表の火消し：</strong></p>
<p style="text-align: center"><img class="aligncenter" src="http://s3-ap-northeast-1.amazonaws.com/corporate-tech-blog-wp/wp-content/uploads/7dd4c3f74f006b34bb1d70d7adebd54e-1024x452.jpg" alt="" width="430" height="190" /></p>
<h2>2. 社内勉強会</h2>
<p>２つめの取り組みとして社内勉強会があります。週に１回で２名ずつ順番に若手のプレゼン練習の場として始めました。目的は発信力の強化と、発表者の理解深耕の２つです。誤解を恐れずに言うと、<font color="#FD5F00">人は教えてもらっても理解しません、教えるときに理解します。</font>さらに発表者はプレゼン後にメンバーから質問を受け付けますので、発表内容についてそれなりに深い知識を習得する必要があります。<br />
<br />例えば「AWS/FMSによるライブストリーミングの超常現象を検証」や「DNSサーバとメールサーバをつくってみた」などの発表が毎週行われていて、メンバー同士の激闘が開催されています。</p>
<p>そしてこの社内勉強会、少しずつ拡張し現在月１回はベテランメンバーも話すようになりました。<br />
また、３ヶ月ほど前から<a href="http://ustre.am/H4kR" target="_blank">Ustream配信（サーバーワークス社内勉強会）</a>による外部公開、そしてこのたびCanon製最新ビデオカメラとパソコン不要でUstreamを高画質・簡単に配信できるLiveShellを購入しました。<br />
ほぼ毎週金曜日18:30頃からスタートしていますのでぜひご覧ください。あくまで社内勉強会ですので突然の日程変更やゆるい内容になることもあることご了承ください。</p>
<p>このような形で発信力を鍛え、当社メンバーはよりよいブログ、よいプレゼンができるようになってきていると思います。これを続けることにより、お客さまへわかりやすく説明する力もつけ、安心して当社ソリューションを導入してもらえるよう今後も努力していきたいと思います。</p>
<h2>最後に</h2>
<p>最後に予告です。<br />
せっかくこのような活動をしているため社内勉強会だけではもったいないのでイベントを企画しています。<br />
その名も<strong><font color="#0098FD">「Serverworks Night。（仮）」</font></strong>。発表者は当社代表の大石をはじめ、AWSチームのマネージャー、リーダー、おかあさんなど豪華？なメンバーに講演してもらう予定ですのでどうぞご期待ください。<br />
詳細な日程や発表者・発表内容は改めて本ブログにて紹介します。</p>
<p>それでは今後ともどうぞよろしくお願いいたします。</p>
<div class="evernoteSiteMemory"><a href="javascript:" onclick="Evernote.doClip({title: '発信力を鍛える。 on サーバーワークス エンジニアブログ',url: 'http://175.41.251.6/tech/2012/07/03/send-serverworks-night/',contentID: 'post-11615',suggestTags: 'イベント,スピリチュアル,ワイルド',providerName: 'サーバーワークス エンジニアブログ',styling: 'text' });return false" class="evernoteSiteMemoryLink"><img src="http://static.evernote.com/article-clipper.png" class="evernoteSiteMemoryButton" />
				</a>				<div class="evernoteSiteMemoryClear">&nbsp;</div>
</div>          </div>

          <p class="postmetadata">Tags: <a href="http://175.41.251.6/tech/tag/%e3%82%a4%e3%83%99%e3%83%b3%e3%83%88/" rel="tag">イベント</a> <a href="http://175.41.251.6/tech/tag/%e3%82%b9%e3%83%94%e3%83%aa%e3%83%81%e3%83%a5%e3%82%a2%e3%83%ab/" rel="tag">スピリチュアル</a> <a href="http://175.41.251.6/tech/tag/%e3%83%af%e3%82%a4%e3%83%ab%e3%83%89/" rel="tag">ワイルド</a><br /></p>
        </div>

      
        <div class="post-10312 post type-post status-publish format-standard hentry category-1 tag-elb tag-98" id="post-10312">
          <h2><a href="http://175.41.251.6/tech/2012/07/03/mod_spdy/" rel="bookmark" title="Permanent Link to ELBでのhttps表示を激的に早くする〜mod_spdy〜">ELBでのhttps表示を激的に早くする〜mod_spdy〜</a></h2>
          <div class="clearfix">
          <div style="float:left;">
            <a href="http://b.hatena.ne.jp/entry/http://175.41.251.6/tech/2012/07/03/mod_spdy/" class="hatena-bookmark-button" data-hatena-bookmark-title="ELBでのhttps表示を激的に早くする〜mod_spdy〜" data-hatena-bookmark-layout="standard" title="このエントリーをはてなブックマークに追加"><img src="http://b.st-hatena.com/images/entry-button/button-only.gif" alt="このエントリーをはてなブックマークに追加" width="20" height="20" style="border: none;" /></a><script type="text/javascript" src="http://b.st-hatena.com/js/bookmark_button.js" charset="utf-8" async="async"></script>

            <a href="http://twitter.com/share" class="twitter-share-button" data-url="http://175.41.251.6/tech/2012/07/03/mod_spdy/" data-count="horizontal">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>

            <g:plusone size="medium" href="http://175.41.251.6/tech/2012/07/03/mod_spdy/"></g:plusone>

            <iframe src="http://www.facebook.com/plugins/like.php?app_id=134649519942791&amp;href=http://175.41.251.6/tech/2012/07/03/mod_spdy/&amp;send=false&amp;layout=button_count&amp;width=120&amp;show_faces=true&amp;action=like&amp;colorscheme=light&amp;font&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:120px; height:21px;" allowTransparency="true"></iframe>
          </div>
          <div class="date" style="float:right;margin-top:0;">
            7月 3rd, 2012 by 
<span class="vcard"><a class="url fn n" href="http://175.41.251.6/tech/author/zabbio/" title="zabbio" rel="me">zabbio</a></h1>
            <img alt='' src='http://0.gravatar.com/avatar/a6d84c003cc1f7f1fa752617055f9462?s=48&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D48&amp;r=G' class='avatar avatar-48 photo' height='48' width='48' />          </div>
        </div>

          <div class="entry">
            <p>お久しぶりです。<br />
好きなAWSサービスは、「Elastic Stomach Cloud」のザビオです。<br />
最近は社内教育の一貫でやたら強制的に大盛りを注文されてしまいます。</p>
<p><a href="http://s3-ap-northeast-1.amazonaws.com/corporate-tech-blog-wp/wp-content/uploads/IMAG0020.jpg"><br />
<img src="http://s3-ap-northeast-1.amazonaws.com/corporate-tech-blog-wp/wp-content/uploads/IMAG0020-169x300.jpg" alt="" width="169" height="300" class="alignnone size-medium wp-image-10314" /></a><br />
<a href="http://s3-ap-northeast-1.amazonaws.com/corporate-tech-blog-wp/wp-content/uploads/IMAG0021.jpg"><br />
<img src="http://s3-ap-northeast-1.amazonaws.com/corporate-tech-blog-wp/wp-content/uploads/IMAG0021-169x300.jpg" alt="" width="169" height="300" class="alignnone size-medium wp-image-10324" /></a><br />
<a href="http://s3-ap-northeast-1.amazonaws.com/corporate-tech-blog-wp/wp-content/uploads/IMAG0023.jpg"><br />
<img src="http://s3-ap-northeast-1.amazonaws.com/corporate-tech-blog-wp/wp-content/uploads/IMAG0023-169x300.jpg" alt="" width="169" height="300" class="alignnone size-medium wp-image-10317" /></a><br />
<a href="http://s3-ap-northeast-1.amazonaws.com/corporate-tech-blog-wp/wp-content/uploads/IMAG0024.jpg"><br />
<img src="http://s3-ap-northeast-1.amazonaws.com/corporate-tech-blog-wp/wp-content/uploads/IMAG0024-169x300.jpg" alt="" width="169" height="300" class="alignnone size-medium wp-image-10325" /></a></p>
<p>本当東京は怖いです。<br />
江戸川橋は制覇したかと思いますので、他にありましたら教えてください。</p>
<p>さて本題ですが、皆様、mod_spdyをご存知ですか？</p>
<p>知らない人のために下記ブログをみると分かるかもしれません！<br />
<a href="http://d.hatena.ne.jp/zabbio/20120508/1336435014/" target="_blank">mod_spdyを試してみた(Amazon linuxで)</a></p>
<p><strong>簡単に言えば、https表示を早くするapacheのモジュールです。</strong><br />
ELB配下のインスタンスにmod_spdyをインストールしてhttps表示が早くなるか調べてみました。</br></p>
<div style="width: 680px;margin: 24px 0pt 10px;padding: 5px 0pt 5px 10px;background: none repeat scroll 0% 0% #eaf3fa;color: #00019b;border-left: 7px solid #00019b">
<h5>環境図</h5>
</div>
<p><a href="http://s3-ap-northeast-1.amazonaws.com/corporate-tech-blog-wp/wp-content/uploads/edaa17a4fd56aac58e6cc039a0a8217e2.png"><br />
<img src="http://s3-ap-northeast-1.amazonaws.com/corporate-tech-blog-wp/wp-content/uploads/edaa17a4fd56aac58e6cc039a0a8217e2.png" alt="" width="417" height="493" class="alignright size-full wp-image-10352" /></a></p>
<p>一つのインスタンスにのみmod_spdyをインストールし、実際に速度改善されたか、表示速度を検証してみました。</p>
<div style="width: 680px;margin: 24px 0pt 10px;padding: 5px 0pt 5px 10px;background: none repeat scroll 0% 0% #eaf3fa;color: #00019b;border-left: 7px solid #00019b">
<h5>インストール</h5>
</div>
<p>両方のインストールにapache、mod_sslをインストール後、mod_spdyをインストールするインスタンスのみ下記を実行。<br />
<strong>インストールする際に対象のrpmを選んでインストールしてください！</strong></p>
<pre>
wget https://dl-ssl.google.com/dl/linux/direct/mod-spdy-beta_current_x86_64.rpm
rpm -ivh mod-spdy-beta_current_x86_64.rpm
service httpd restart
</pre>
<div style="width: 680px;margin: 24px 0pt 10px;padding: 5px 0pt 5px 10px;background: none repeat scroll 0% 0% #eaf3fa;color: #00019b;border-left: 7px solid #00019b">
<h5>ELBの構築</h5>
</div>
<p>今回は下記の構成でELBを構築します。<br />
<a href="http://blog.serverworks.co.jp/tech/2012/07/03/mod_spdy/ec2-management-console/" rel="attachment wp-att-10379"><img src="http://s3-ap-northeast-1.amazonaws.com/corporate-tech-blog-wp/wp-content/uploads/EC2-Management-Console.jpg" alt="" width="650" height="350" class="alignnone size-full wp-image-10379" /></a></p>
<div style="width: 680px;margin: 24px 0pt 10px;padding: 5px 0pt 5px 10px;background: none repeat scroll 0% 0% #eaf3fa;color: #00019b;border-left: 7px solid #00019b">
<h5>実際にブラウザからアクセス</h5>
</div>
<p><strong>↓↓SPDYがインストールされているインスタンス</strong></p>
<p><a href="http://s3-ap-northeast-1.amazonaws.com/corporate-tech-blog-wp/wp-content/uploads/https___zabbio-1246254610.ap-northeast-1.elb_.amazonaws.com_.jpg"><br />
<img src="http://s3-ap-northeast-1.amazonaws.com/corporate-tech-blog-wp/wp-content/uploads/https___zabbio-1246254610.ap-northeast-1.elb_.amazonaws.com_.jpg" alt="" width="700" height="120" class="alignnone size-full wp-image-10419" /></a></p>
<p><strong>↓↓SPDYがインストールされていないインスタンス</strong></p>
<p><a href="http://s3-ap-northeast-1.amazonaws.com/corporate-tech-blog-wp/wp-content/uploads/Yammer.jpg"><br />
<img src="http://s3-ap-northeast-1.amazonaws.com/corporate-tech-blog-wp/wp-content/uploads/Yammer.jpg" alt="" width="700" height="120" class="alignnone size-full wp-image-10392" /></a></p>
<p>と大変見にくいのですが、10回ほどリロードした結果は下記。</p>
<table border="4" width="250" align="left">
<caption>【Time Latency】</caption>
<tr bgcolor="#00019b">
<th></th>
<th>Time Latency</th>
</tr>
<tr align="center">
<td>mod_spdy</td>
<td>20ms</td>
</tr>
<tr align="center">
<td>No,spdy</td>
<td>96ms</td>
</tr>
</table>
<p>と、ELB配下のインスタンスでもかなり表示速度が早くなりました！<br />
国内での導入実績はまだ少ないですが、検証程度に利用してみるのは有りかなーと思いました。</p>
<p>今度は、SSL Terminationで速度改善が見られるか検証してみたいです。</p>
<div class="evernoteSiteMemory"><a href="javascript:" onclick="Evernote.doClip({title: 'ELBでのhttps表示を激的に早くする〜mod_spdy〜 on サーバーワークス エンジニアブログ',url: 'http://175.41.251.6/tech/2012/07/03/mod_spdy/',contentID: 'post-10312',suggestTags: 'ELB,挑戦',providerName: 'サーバーワークス エンジニアブログ',styling: 'text' });return false" class="evernoteSiteMemoryLink"><img src="http://static.evernote.com/article-clipper.png" class="evernoteSiteMemoryButton" />
				</a>				<div class="evernoteSiteMemoryClear">&nbsp;</div>
</div>          </div>

          <p class="postmetadata">Tags: <a href="http://175.41.251.6/tech/tag/elb/" rel="tag">ELB</a> <a href="http://175.41.251.6/tech/tag/%e6%8c%91%e6%88%a6/" rel="tag">挑戦</a><br /></p>
        </div>

      
        <div class="post-11285 post type-post status-publish format-standard hentry category-1" id="post-11285">
          <h2><a href="http://175.41.251.6/tech/2012/06/29/elastic-beanstalk_wordpress_install/" rel="bookmark" title="Permanent Link to Elastic BeanstalkでWordPressをインストールしてみました">Elastic BeanstalkでWordPressをインストールしてみました</a></h2>
          <div class="clearfix">
          <div style="float:left;">
            <a href="http://b.hatena.ne.jp/entry/http://175.41.251.6/tech/2012/06/29/elastic-beanstalk_wordpress_install/" class="hatena-bookmark-button" data-hatena-bookmark-title="Elastic BeanstalkでWordPressをインストールしてみました" data-hatena-bookmark-layout="standard" title="このエントリーをはてなブックマークに追加"><img src="http://b.st-hatena.com/images/entry-button/button-only.gif" alt="このエントリーをはてなブックマークに追加" width="20" height="20" style="border: none;" /></a><script type="text/javascript" src="http://b.st-hatena.com/js/bookmark_button.js" charset="utf-8" async="async"></script>

            <a href="http://twitter.com/share" class="twitter-share-button" data-url="http://175.41.251.6/tech/2012/06/29/elastic-beanstalk_wordpress_install/" data-count="horizontal">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>

            <g:plusone size="medium" href="http://175.41.251.6/tech/2012/06/29/elastic-beanstalk_wordpress_install/"></g:plusone>

            <iframe src="http://www.facebook.com/plugins/like.php?app_id=134649519942791&amp;href=http://175.41.251.6/tech/2012/06/29/elastic-beanstalk_wordpress_install/&amp;send=false&amp;layout=button_count&amp;width=120&amp;show_faces=true&amp;action=like&amp;colorscheme=light&amp;font&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:120px; height:21px;" allowTransparency="true"></iframe>
          </div>
          <div class="date" style="float:right;margin-top:0;">
            6月 29th, 2012 by 
<span class="vcard"><a class="url fn n" href="http://175.41.251.6/tech/author/kawamura/" title="kawamura" rel="me">kawamura</a></h1>
            <img alt='' src='http://1.gravatar.com/avatar/92a128f8f08e0184dad255b165824dec?s=48&amp;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D48&amp;r=G' class='avatar avatar-48 photo' height='48' width='48' />          </div>
        </div>

          <div class="entry">
            <p>こんにちは、CSチームのかわむらです。</p>
<p>Elastic Beanstalkネタが続きますが、Elastic BeanstalkとRDSを使ってWordPressのインストールをしてみました。</p>
<p><a href="http://blog.serverworks.co.jp/tech/2012/06/29/elastic-beanstalk_wordpress_install/wp_on_eb-2/" rel="attachment wp-att-11290"><img src="http://s3-ap-northeast-1.amazonaws.com/corporate-tech-blog-wp/wp-content/uploads/wp_on_eb1.png" alt="" width="640" height="352" class="aligncenter size-full wp-image-11290" /></a></p>
<p>環境ができてしまえば、この図のように<strong>GitHubにgit pushして、それをElastic Beanstalkにpush（git aws.push）するだけ</strong>なのですが、まったくのゼロから始めるとなると環境構築に相応の手間が必要です。</p>
<p><strong><a href="http://blog.serverworks.co.jp/tech/2012/06/28/aws-elastic-beanstalk/" target="_blank">『AWS Elastic Beanstalkを使ってみた』</a></strong>も参考にしてみてください。</p>
<p>インストールにあたってのポイントは、こんな感じです。</p>
<p><span style="font-size: large"><strong>Amazon Linux</strong></span><br />
以下を使えるようにします。<br />
・git<br />
・Ruby 1.8.7<br />
・Python 2.7<br />
・AWS-ElasticBeanstalk-CLI-2.0</p>
<p><span style="font-size: large"><strong>Elastic Beanstalk</strong></span><br />
・PHP 5.3 64bitを選択<br />
・アクセスキーとシークレットキーが必要</p>
<p><span style="font-size: large"><strong>RDS</strong></span><br />
・AWS Management ConsoleでMySQL 5.5.20を選択<br />
・セキュリティーグループはelasticbeanstalk-defaultを指定</p>
<p>では、インストールの流れを追っていきます。</p>
<p><span style="font-size: large"><strong>1. Amazon Linux</strong></span></p>
<p><strong><a href="http://aws.amazon.com/code/6752709412171743" target="_blank"><br />
AWS-ElasticBeanstalk-CLI-2.0</a></strong>をダウンロードして/optに置きます。<br />
Pythonのバージョンが2.6だったので2.7をインストールして、/usr/bin/pythonのシンボリックリンクの向き先をPython 2.7に変えます。<br />
/opt/AWS-ElasticBeanstalk-CLI-2.0/eb/linux/python2.7にPATHを通します。</p>
<p>これでElastic Beanstalkのebコマンドが使えるようになりました。</p>
<p><span style="font-size: large"><strong>2. GitHub</strong></span></p>
<p>Elastic BeanstalkはGitHub上のリポジトリからデプロイされるため、GitHubのアカウントが使える状態になっている必要があります。<br />
心苦しいのですが、GitHubを使える状態にするだけでひとつの記事になってしまうので、ここでは省略します。</p>
<p><span style="font-size: large"><strong>3. 再びAmazon Linux</strong></span></p>
<p><strong><a href="http://ja.wordpress.org/" target="_blank">http://ja.wordpress.org/</a></strong>からWordPressをダウンロードします。最新バージョンの3.4.1をダウンロードしました。<br />
解凍したwordpressディレクトリに移動して、GitHubにリポジトリを作成したらcommitします。</p>
<p>ebコマンドを使ってElastic Beanstalkを実行していきます。まずは初期化。</p>
<div>
<pre><code>$ eb init
To get your AWS Access Key ID and Secret Access Key, 
  visit "https://aws-portal.amazon.com/gp/aws/securityCredentials".
Enter your AWS Access Key ID:<strong> アクセスキーを入力します</strong>
Enter your AWS Secret Access Key:<strong> シークレットキーを入力します</strong>
Select an AWS Elastic Beanstalk service region.
Available service regions are:
1) "US East (Virginia)"
2) "EU West (Ireland)"
3) "Asia Pacific (Tokyo)"
Select (1 to 3): <strong>3 ← 東京リージョンを選びます</strong>
Enter an AWS Elastic Beanstalk application name (auto-generated value is "wordpress"): <strong>デフォルト値のまま</strong>
Enter an AWS Elastic Beanstalk environment name (auto-generated value is "wordpress-env"): <strong>デフォルト値のまま</strong>
Select a solution stack.
Available solution stacks are:
1) "32bit Amazon Linux running Tomcat 7"
2) "64bit Amazon Linux running Tomcat 7"
3) "32bit Amazon Linux running Tomcat 6"
4) "64bit Amazon Linux running Tomcat 6"
5) "32bit Amazon Linux running PHP 5.3"
6) "64bit Amazon Linux running PHP 5.3"
7) "64bit Windows Server 2008 R2 running IIS 7.5"
Select (1 to 7): <strong>6 ← Amazon Linux, PHP 5.3, 64bitを選びます</strong>
Successfully updated AWS Credential file at "/home/ユーザー名/.elasticbeanstalk/aws_credential_file".
</code></pre>
</div>
<p>これで準備ができました。まだインスタンスは起動していません。eb startするとインスタンスが立ち上がります。</p>
<div>
<pre><code>$ eb start
Starting application "wordpress".
Waiting for environment "wordpress-env" to launch.
2012-06-28 17:28:35	INFO	createEnvironment is starting.
2012-06-28 17:28:46	INFO	Using elasticbeanstalk-ap-northeast-1-020833910461 as Amazon S3 storage bucket for environment data.
2012-06-28 17:28:47	INFO	Created Auto Scaling launch configuration named: awseb-wordpress-env-3RiMfhep0L.
2012-06-28 17:28:48	INFO	Created load balancer named: awseb-wordpress-env.
2012-06-28 17:28:49	INFO	Created Auto Scaling group named: awseb-wordpress-env-C9fk6D6lFc.
2012-06-28 17:28:50	INFO	Created Auto Scaling trigger named: awseb-wordpress-env-C9fk6D6lFc.
2012-06-28 17:28:52	INFO	Waiting for an EC2 instance to launch.
2012-06-28 17:29:37	INFO	Adding EC2 instances to the load balancer. This may take a few minutes.
2012-06-28 17:31:47	INFO	Application available at wordpress-env-pjtcknj2qy.elasticbeanstalk.com.
Application is available at "wordpress-env-pjtcknj2qy.elasticbeanstalk.com".
</code></pre>
</div>
<p>インスタンスが立ち上がるまで少し時間がかかります。起動状況はeb statusで確認できます。</p>
<div>
<pre><code>$ eb status
URL	: wordpress-env-hqpph9fuxh.elasticbeanstalk.com
Status	: Ready
Health	: Green
</code></pre>
</div>
<p>git pushしてWordPressのファイルをGitHubに上げます。</p>
<p>次はいよいよgit aws.pushでElastic Beanstalkにデプロイします。<br />
※git aws.pushはRuby 1.9系だとエラーになるので1.8.7を使います。</p>
<p><span style="font-size: large"><strong>4. RDS</strong></span></p>
<p>上記のポイントでも書きましたが、AWS Management ConsoleでMySQL 5.5.20を選択しました。<br />
セキュリティーグループはelasticbeanstalk-defaultを指定します。</p>
<p><span style="font-size: large"><strong>5. WordPress</strong></span></p>
<p><strong><a href="http://wpdocs.sourceforge.jp/WordPress_のインストール#5.E5.88.86.E9.96.93.E3.82.A4.E3.83.B3.E3.82.B9.E3.83.88.E3.83.BC.E3.83.AB" target="_blank">「5分間インストール」</a></strong>を参照しながら、wp-config.phpを書き換えます。<br />
wp-config.phpの変更を適用するためにGitHubにpushし、再度git aws.pushを実行します。</p>
<p><span style="font-size: large"><strong>6. ELB</strong></span></p>
<p>ELBのヘルスチェックで使用するファイルを適当なものに変更してELB経由でアクセスができるようにします。</p>
<p><span style="font-size: large"><strong>7. WordPress仕上げ</strong></span></p>
<p>/wp-admin/install.php にアクセスしてWordPressのインストールを行います。<br />
終了したら、/wp-admin にアクセスして記事のポストを行ってみてください。<br />
これでWordPressが動きました。</p>
<p><span style="font-size: large"><strong>感想</strong></span><br />
Elastic BeanstalkとRDSを使って何か動かしてみたいと思い、今回はWordPressをインストールしてみました。</p>
<p>比較的まだ新しいサービスなので使いどころをつかめていませんが、Elastic Beanstalkを選択することでGitHub経由でデプロイすることが前提になるところが個人的にうれしい部分です。</p>
<div class="evernoteSiteMemory"><a href="javascript:" onclick="Evernote.doClip({title: 'Elastic BeanstalkでWordPressをインストールしてみました on サーバーワークス エンジニアブログ',url: 'http://175.41.251.6/tech/2012/06/29/elastic-beanstalk_wordpress_install/',contentID: 'post-11285',suggestTags: '',providerName: 'サーバーワークス エンジニアブログ',styling: 'text' });return false" class="evernoteSiteMemoryLink"><img src="http://static.evernote.com/article-clipper.png" class="evernoteSiteMemoryButton" />
				</a>				<div class="evernoteSiteMemoryClear">&nbsp;</div>
</div>          </div>

          <p class="postmetadata"></p>
        </div>

      
        <div class="post-11091 post type-post status-publish format-standard hentry category-1 tag-ec2 tag-nginx tag-wordpress" id="post-11091">
          <h2><a href="http://175.41.251.6/tech/2012/06/29/nginx-02/" rel="bookmark" title="Permanent Link to Nginx + WordPress 「Gzip Precompression」モジュール篇">Nginx + WordPress 「Gzip Precompression」モジュール篇</a></h2>
          <div class="clearfix">
          <div style="float:left;">
            <a href="http://b.hatena.ne.jp/entry/http://175.41.251.6/tech/2012/06/29/nginx-02/" class="hatena-bookmark-button" data-hatena-bookmark-title="Nginx + WordPress 「Gzip Precompression」モジュール篇" data-hatena-bookmark-layout="standard" title="このエントリーをはてなブックマークに追加"><img src="http://b.st-hatena.com/images/entry-button/button-only.gif" alt="このエントリーをはてなブックマークに追加" width="20" height="20" style="border: none;" /></a><script type="text/javascript" src="http://b.st-hatena.com/js/bookmark_button.js" charset="utf-8" async="async"></script>

            <a href="http://twitter.com/share" class="twitter-share-button" data-url="http://175.41.251.6/tech/2012/06/29/nginx-02/" data-count="horizontal">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>

            <g:plusone size="medium" href="http://175.41.251.6/tech/2012/06/29/nginx-02/"></g:plusone>

            <iframe src="http://www.facebook.com/plugins/like.php?app_id=134649519942791&amp;href=http://175.41.251.6/tech/2012/06/29/nginx-02/&amp;send=false&amp;layout=button_count&amp;width=120&amp;show_faces=true&amp;action=like&amp;colorscheme=light&amp;font&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:120px; height:21px;" allowTransparency="true"></iframe>
          </div>
          <div class="date" style="float:right;margin-top:0;">
            6月 29th, 2012 by 
<span class="vcard"><a class="url fn n" href="http://175.41.251.6/tech/author/sakamoto/" title="sakamoto" rel="me">sakamoto</a></h1>
            <img alt='' src='http://0.gravatar.com/avatar/e246b8f2d3b6b3b1a2e5ad8e9b4e756b?s=48&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D48&amp;r=G' class='avatar avatar-48 photo' height='48' width='48' />          </div>
        </div>

          <div class="entry">
            <p>こんにちは。CSチームの坂本です。</p>
<p><a href="http://blog.serverworks.co.jp/tech/2012/06/27/nginx-01/" target="_blank">前回</a>はNginxをWordPressのWebサーバーとして導入しました。今回からは設定などを変更していくことで更にNginxでWordPressを高速化する方法を考えていきたいと思います。</p>
<p><strong>前回の記事</strong><br />
<a href="http://blog.serverworks.co.jp/tech/2012/06/27/nginx-01/" target="_blank">Nginx + WordPress</a></p>
<p>今回は高速化の第1段階として、Gzip圧縮したデータを転送しWebページの読み込みにかかる時間を減らしたいと思います。</p>
<p>Gzip圧縮転送は、Webページの読み込み時間を減らすための基本的な方法です。</p>
<p>Nginxには「<strong>Gzip</strong>」モジュールがあり、簡単に設定ができます。</p>
<p>※Apacheにも「mod_deflate」モジュールが存在します。</p>
<p>ですが、この「<strong>Gzip</strong>」モジュールを利用した場合、データをリアルタイムで圧縮するため、導入することによって逆にサーバーの処理に時間がかかってしまい、結果として読み込み時間が遅くなってしまうこともあるようです。</p>
<p>この問題の解決策になりそうな「<strong>Gzip Precompression</strong>」というモジュールがNginxにありましたので、今回はこのモジュールを試してみたいと思います。</p>
<p>※EC2の環境、Nginx以外のMySQL、PHP、PHP-FPMの設定などは前回と同様です。</p>
<p><strong>目次</strong></p>
<ol>
<li>「Gzip Precompression」モジュールについて</li>
<li>インストール</li>
<li>設定ファイル</li>
<li>比較</li>
</ol>
<p><span style="font-size: large"><strong>1. 「Gzip Precompression」モジュールについて</strong></span></p>
<p>「<strong>Gzip Precompression</strong>」モジュールは、拡張子が「.gz」のファイルが存在した場合、「.gz」ファイルを転送する、という単純な処理をしてくれるモジュールです。例えば、「style.css」への要求があった場合は「style.cs.gz」を探して、存在した場合はこちらを転送してくれます。</p>
<p>難点は、データを事前に手動で「gzip -9 style.css」のように圧縮しておかなければいけないことです。</p>
<p>ですが、WordPressのようにテーマが決まっていて「.css」、「.js」などの静的なファイルが頻繁に変わることがないサイトであれば、『事前に「.css」、「.js」ファイルのみ圧縮しておいて利用する』、という運用方法も検討できるかと思います。</p>
<p>今回は、WordPressのテーマ、「Twenty Eleven」のトップページで利用されている「style.css」を利用してGzip圧縮なしの場合、「<strong>Gzip</strong>」モジュール利用の場合、「<strong>Gzip Precompression</strong>」モジュール利用の場合を簡単に比較してみたいと思います。</p>
<p><span style="font-size: large"><strong>2. インストール</strong></span></p>
<p>「<strong>Gzip</strong>」モジュールはデフォルトで含まれているモジュールですが、「<strong>Gzip Precompression</strong>」モジュールはデフォルトで含まれていませんのでソースからインストールします。</p>
<p>※Nginxはモジュールを後から追加できません。</p>
<p>configure実行の際に、オプションに&#8211;with-http_gzip_static_moduleを追加してインストールします。</p>
<pre>
wget http://nginx.org/download/nginx-1.0.15.tar.gz
tar zxvf nginx-1.0.15.tar.gz 
cd nginx-1.0.15
./configure --prefix=/usr/share/nginx --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --http-client-body-temp-path=/var/lib/nginx/tmp/client_body --http-proxy-temp-path=/var/lib/nginx/tmp/proxy --http-fastcgi-temp-path=/var/lib/nginx/tmp/fastcgi --http-uwsgi-temp-path=/var/lib/nginx/tmp/uwsgi --http-scgi-temp-path=/var/lib/nginx/tmp/scgi --pid-path=/var/run/nginx.pid --lock-path=/var/lock/subsys/nginx --user=nginx --group=nginx --with-file-aio（…省略、適宜必要なモジュールを指定してください。）--with-http_gzip_static_module
make
make install
sudo vi /etc/nginx/nginx.conf　# 設定ファイル変更
sudo /usr/sbin/nginx # 起動
</pre>
<p><span style="font-size: large"><strong>3. 設定ファイル</strong></span></p>
<p>nginx.confのhttpブロックの中を変更して確認します。<br />
以下は比較の際の各設定の違いです。今回比較したい「style.css」を比較するための最低限の設定になります。</p>
<p>※gzipをonにすると、「text/html」はデフォルトで圧縮されます。</p>
<p><strong>Gzip圧縮なし</strong></p>
<pre>
    #gzip  on;
    #gzip_types text/css;

    #gzip_static on;
</pre>
</p>
<p></p>
<p><strong>「Gzip」モジュール利用</strong></p>
<pre>
    gzip  on;
    gzip_types text/css;

    #gzip_static on;
</pre>
</p>
<p></p>
<p><strong>「Gzip Precompression」モジュール利用</strong></p>
<pre>
    gzip  on; # text/htmlのみ圧縮
    #gzip_types text/css;

    gzip_static on;
</pre>
</p>
<p><span style="font-size: large"><strong>4. 比較</strong></span></p>
<div style="width: 680px;margin: 24px 0 10px 0;padding: 5px 0 5px 10px;background: #eaf3fa;color: #00019b;border-left:7px solid #00019b"><strong>Gzip圧縮なし</strong></div>
<p style="text-align: center"><a href="http://s3-ap-northeast-1.amazonaws.com/corporate-tech-blog-wp/wp-content/uploads/nginx-02-off.jpg"><img src="http://s3-ap-northeast-1.amazonaws.com/corporate-tech-blog-wp/wp-content/uploads/nginx-02-off.jpg" alt="" width="580" height="357" /></a></p>
<p>データ量が<strong>53.34キロバイト</strong>、ダウンロードが<strong>203ミリ秒</strong>、トータル<strong>300ミリ秒</strong>でした。</p>
<div style="width: 680px;margin: 24px 0 10px 0;padding: 5px 0 5px 10px;background: #eaf3fa;color: #00019b;border-left:7px solid #00019b"><strong>「Gzip」モジュール利用</strong></div>
<p style="text-align: center"><a href="http://s3-ap-northeast-1.amazonaws.com/corporate-tech-blog-wp/wp-content/uploads/nginx-02-gzip.jpg"><img src="http://s3-ap-northeast-1.amazonaws.com/corporate-tech-blog-wp/wp-content/uploads/nginx-02-gzip.jpg" alt="" width="580" height="357" /></a></p>
<p>データ量が<strong>14.35キロバイト</strong>、ダウンロードが<strong>90ミリ秒</strong>、トータル<strong>187ミリ秒</strong>でした。</p>
<div style="width: 680px;margin: 24px 0 10px 0;padding: 5px 0 5px 10px;background: #eaf3fa;color: #00019b;border-left:7px solid #00019b"><strong>「Gzip Precompression」モジュール利用</strong></div>
<p>※事前に圧縮率9（圧縮率最高）で「style.css」をGzip圧縮しています。</p>
<pre>
gzip -9 style.css
</pre>
<p style="text-align: center"><a href="http://s3-ap-northeast-1.amazonaws.com/corporate-tech-blog-wp/wp-content/uploads/nginx-02-gzip-pre.jpg"><img src="http://s3-ap-northeast-1.amazonaws.com/corporate-tech-blog-wp/wp-content/uploads/nginx-02-gzip-pre.jpg" alt="" width="580" height="357" /></a></p>
<p>データ量が<strong>11.10キロバイト</strong>、ダウンロードが<strong>10ミリ秒</strong>、トータル<strong>105ミリ秒</strong>でした。</p>
<figure>
<figcaption><strong>style.cssのデータ取得時間計測結果まとめ</strong></figcaption>
</p>
<table>
<tr>
<td>モジュール有無</td>
<td>データ量</td>
<td>サーバー処理時間</td>
<td>データダウンロード時間</td>
<td>データ取得トータル時間</td>
</tr>
<tr>
<td>Gzip圧縮なし</td>
<td style="text-align: right;padding: 0px 5px 0 0">53.34KB</td>
<td style="text-align: right;padding: 0px 5px 0 0">95ms</td>
<td style="text-align: right;padding: 0px 5px 0 0">203ms</td>
<td style="text-align: right;padding: 0px 5px 0 0">300ms</td>
</tr>
<tr>
<td>Gzip</td>
<td style="text-align: right;padding: 0px 5px 0 0">14.35KB</td>
<td style="text-align: right;padding: 0px 5px 0 0">96ms</td>
<td style="text-align: right;padding: 0px 5px 0 0">90ms</td>
<td style="text-align: right;padding: 0px 5px 0 0">187ms</td>
</tr>
<tr>
<td>Gzip Precompression</td>
<td style="text-align: right;padding: 0px 5px 0 0">11.10KB</td>
<td style="text-align: right;padding: 0px 5px 0 0">94ms</td>
<td style="text-align: right;padding: 0px 5px 0 0">10ms</td>
<td style="text-align: right;padding: 0px 5px 0 0">105ms</td>
</tr>
</table>
</figure>
<p></p>
<p>顕著に結果がでました。サーバー側の処理はどれも90ミリ秒台ですが、「<strong>Gzip</strong>」モジュール利用の場合のデフォルトの圧縮率が1ですので、圧縮率を9に変更した場合は、サーバー側の処理にもう少し時間がかかるのではないかと思います。</p>
<p>今回はWordPressも初期状態で検証以外のアクセスもありませんので大きな差ではないかもしれません。ですが、「塵も積もれば山となる」はずですので実際の運用では高速化に有効な手段となるのでははないでしょうか？</p>
<p>次回も引き続き、Nginxを使用してWordPressを高速化する方法を考えてみたいと思います。</p>
<div class="evernoteSiteMemory"><a href="javascript:" onclick="Evernote.doClip({title: 'Nginx + WordPress 「Gzip Precompression」モジュール篇 on サーバーワークス エンジニアブログ',url: 'http://175.41.251.6/tech/2012/06/29/nginx-02/',contentID: 'post-11091',suggestTags: 'EC2,Nginx,wordpress',providerName: 'サーバーワークス エンジニアブログ',styling: 'text' });return false" class="evernoteSiteMemoryLink"><img src="http://static.evernote.com/article-clipper.png" class="evernoteSiteMemoryButton" />
				</a>				<div class="evernoteSiteMemoryClear">&nbsp;</div>
</div>          </div>

          <p class="postmetadata">Tags: <a href="http://175.41.251.6/tech/tag/ec2/" rel="tag">EC2</a> <a href="http://175.41.251.6/tech/tag/nginx/" rel="tag">Nginx</a> <a href="http://175.41.251.6/tech/tag/wordpress/" rel="tag">wordpress</a><br /></p>
        </div>

      
        <div class="post-10700 post type-post status-publish format-standard hentry category-1 tag-rack tag-ruby" id="post-10700">
          <h2><a href="http://175.41.251.6/tech/2012/06/29/playing-with-rack/" rel="bookmark" title="Permanent Link to Rackと遊ぶ">Rackと遊ぶ</a></h2>
          <div class="clearfix">
          <div style="float:left;">
            <a href="http://b.hatena.ne.jp/entry/http://175.41.251.6/tech/2012/06/29/playing-with-rack/" class="hatena-bookmark-button" data-hatena-bookmark-title="Rackと遊ぶ" data-hatena-bookmark-layout="standard" title="このエントリーをはてなブックマークに追加"><img src="http://b.st-hatena.com/images/entry-button/button-only.gif" alt="このエントリーをはてなブックマークに追加" width="20" height="20" style="border: none;" /></a><script type="text/javascript" src="http://b.st-hatena.com/js/bookmark_button.js" charset="utf-8" async="async"></script>

            <a href="http://twitter.com/share" class="twitter-share-button" data-url="http://175.41.251.6/tech/2012/06/29/playing-with-rack/" data-count="horizontal">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>

            <g:plusone size="medium" href="http://175.41.251.6/tech/2012/06/29/playing-with-rack/"></g:plusone>

            <iframe src="http://www.facebook.com/plugins/like.php?app_id=134649519942791&amp;href=http://175.41.251.6/tech/2012/06/29/playing-with-rack/&amp;send=false&amp;layout=button_count&amp;width=120&amp;show_faces=true&amp;action=like&amp;colorscheme=light&amp;font&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:120px; height:21px;" allowTransparency="true"></iframe>
          </div>
          <div class="date" style="float:right;margin-top:0;">
            6月 29th, 2012 by 
<span class="vcard"><a class="url fn n" href="http://175.41.251.6/tech/author/arai/" title="arai" rel="me">arai</a></h1>
            <img alt='' src='http://0.gravatar.com/avatar/21e716727def66766589c775719faa2f?s=48&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D48&amp;r=G' class='avatar avatar-48 photo' height='48' width='48' />          </div>
        </div>

          <div class="entry">
            <p>プログラマの新井です。</p>
<p>今回は皆大好き「Rack」を触ってみたいと思います。</p>
<p>Rackとは<br />
&#8211;</p>
<p><a href="http://rack.github.com/" target="_blank">Rack: a Ruby WebServer Interface</a></p>
<p>簡単に言うと「Webサーバの差異を吸収し、統一的なAPIを提供するインターフェース」です。</p>
<p>WebサーバにはApache,WEBrick,Mongrelなど様々なものがあります。</p>
<p>これらに個別に対応しようとするとフレームワークごとにWebサーバをサポートするコードが必要になります。</p>
<p>Rackを利用するとフレームワークとWebサーバの間を良いように取りもってくれます。</p>
<p>    [ブラウザ]  [Webサーバ]  [Rack]  [フレームワーク]  [Webアプリ]</p>
<p>Rack Middleware<br />
&#8211;</p>
<p>上記に上げたように「Webサーバの差異を吸収する」だけでも素晴しいですが、もう一つの利点があります。</p>
<p>それはRack Middlewareの仕組みです。</p>
<p>Rack Middlewareを利用することにより、サーバとアプリケーションの間でちょっとした処理を行うことができます。</p>
<p>例えば、条件に応じたURLの書き換えや、Cookieの処理などがRack Middlewareを利用することで簡単に、かつWebサーバに依存することなく行えるようになります。</p>
<p>とりあえずRackを動かしてみる<br />
&#8211;</p>
<p>gemでrackをインストールします。</p>
<p>    $ gem install rack</p>
<p>以下のファイルをconfig.ruとして作成します。</p>
<p>rackupコマンドで起動します。</p>
<p>    $ rackup config.ru</p>
<p>これでlocalhost:9292にアクセスするとHello, world!が表示されるかと思います。</p>
<p>止めるときはCtrl-Cとかで止めてください。</p>
<p>デフォルトだとWEBrickが起動しますが、以下のようにすれば他のサーバーを起動することも可能です。</p>
<p>    $ rackup config.ru -s SERVER</p>
<p>Rackはこのようにconfig.ruに色々書くのですが、このコードでは処理も一緒になっています。</p>
<p>なので次はconfig.ruに書くべき設定とアプリケーション部分を分割しましょう。</p>
<p>Rackアプリを書いてみる<br />
&#8211;</p>
<p>ざっくり言ってしまうと以下の要素を満たしていればRackアプリとなります。</p>
<p>- callというメソッドを持っていること<br />
- callメソッドの引数としてenv(環境変数のハッシュ)を受けとること<br />
- callメソッドは，次の要素を含むレスポンスを返すること<br />
    &#8211; ステータスコード<br />
    &#8211; レスポンスヘッダ(Hash)<br />
    &#8211; レスポンスボディ(Array)</p>
<p>これらを満たすように修正してみました。</p>
<p>両方のファイルを同じ場所において先程と同様にlocalhost:9292へアクセスすると、「Hello, Rack Application!」と表示されるかと思います。</p>
<p>Rack Middlewareを利用する<br />
&#8211;</p>
<p>最後にRack Middlewareを入れてみましょう。</p>
<p>デフォルトでもいくつか利用できるものがあります。</p>
<p>今回はBasic認証のRack MiddlewareであるRack::Auth::Basicを利用してみましょう。</p>
<p>config.ruを以下のように書き換えます。</p>
<p>サーバーを再起動してlocalhost:9292へアクセスをするとBasic認証のダイアログが出てくるかと思います。</p>
<p>config.ruで指定したユーザー、パスワードで認証できます。</p>
<p>まとめ<br />
&#8211;</p>
<p>今回の題材のRackはフレームワーク開発者のような人でなければ普段あまり触ることのない箇所ではありますが、Rack Middlewareは通常の開発でもすぐ使えて役立つものが沢山あります。</p>
<p>また、Rack MiddlewareもRackアプリなので簡単に作成することができます。</p>
<p>今回はRack Middlewareの作成までは行いませんが、簡単に作れるうえ、理解もより深まること間違いないので是非一度作ってみることをお勧めします。</p>
<p>補足<br />
&#8211;</p>
<p>Rackをインストールする際にgemを叩きましたが、Bundlerを利用するようにすればこのままHeroku上で今回のサンプルも動かすことが可能です。</p>
<p>参考サイト<br />
&#8211;</p>
<p><a href="http://route477.net/d/?date=20080716" target="_blank">5分でわかるRack</a></p>
<p><a href="http://gihyo.jp/dev/serial/01/ruby/0023" target="_blank">Ruby Freaks Lounge：第23回　Rackとは何か（1）Rackの生まれた背景｜gihyo.jp … 技術評論社</a></p>
<div class="evernoteSiteMemory"><a href="javascript:" onclick="Evernote.doClip({title: 'Rackと遊ぶ on サーバーワークス エンジニアブログ',url: 'http://175.41.251.6/tech/2012/06/29/playing-with-rack/',contentID: 'post-10700',suggestTags: 'rack,Ruby',providerName: 'サーバーワークス エンジニアブログ',styling: 'text' });return false" class="evernoteSiteMemoryLink"><img src="http://static.evernote.com/article-clipper.png" class="evernoteSiteMemoryButton" />
				</a>				<div class="evernoteSiteMemoryClear">&nbsp;</div>
</div>          </div>

          <p class="postmetadata">Tags: <a href="http://175.41.251.6/tech/tag/rack/" rel="tag">rack</a> <a href="http://175.41.251.6/tech/tag/ruby/" rel="tag">Ruby</a><br /></p>
        </div>

      
        <div class="post-11028 post type-post status-publish format-standard hentry category-1 tag-aws tag-paas tag-php" id="post-11028">
          <h2><a href="http://175.41.251.6/tech/2012/06/28/aws-elastic-beanstalk/" rel="bookmark" title="Permanent Link to AWS Elastic Beanstalkを使ってみた">AWS Elastic Beanstalkを使ってみた</a></h2>
          <div class="clearfix">
          <div style="float:left;">
            <a href="http://b.hatena.ne.jp/entry/http://175.41.251.6/tech/2012/06/28/aws-elastic-beanstalk/" class="hatena-bookmark-button" data-hatena-bookmark-title="AWS Elastic Beanstalkを使ってみた" data-hatena-bookmark-layout="standard" title="このエントリーをはてなブックマークに追加"><img src="http://b.st-hatena.com/images/entry-button/button-only.gif" alt="このエントリーをはてなブックマークに追加" width="20" height="20" style="border: none;" /></a><script type="text/javascript" src="http://b.st-hatena.com/js/bookmark_button.js" charset="utf-8" async="async"></script>

            <a href="http://twitter.com/share" class="twitter-share-button" data-url="http://175.41.251.6/tech/2012/06/28/aws-elastic-beanstalk/" data-count="horizontal">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>

            <g:plusone size="medium" href="http://175.41.251.6/tech/2012/06/28/aws-elastic-beanstalk/"></g:plusone>

            <iframe src="http://www.facebook.com/plugins/like.php?app_id=134649519942791&amp;href=http://175.41.251.6/tech/2012/06/28/aws-elastic-beanstalk/&amp;send=false&amp;layout=button_count&amp;width=120&amp;show_faces=true&amp;action=like&amp;colorscheme=light&amp;font&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:120px; height:21px;" allowTransparency="true"></iframe>
          </div>
          <div class="date" style="float:right;margin-top:0;">
            6月 28th, 2012 by 
<span class="vcard"><a class="url fn n" href="http://175.41.251.6/tech/author/baba/" title="baba" rel="me">baba</a></h1>
            <img alt='' src='http://1.gravatar.com/avatar/5b8665d54452643de2f49050b711e3dc?s=48&amp;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D48&amp;r=G' class='avatar avatar-48 photo' height='48' width='48' />          </div>
        </div>

          <div class="entry">
            <div>CSチームの馬場です。</div>
<div>使ってみたシリーズ、<a href="http://blog.serverworks.co.jp/tech/2012/03/28/php-fog/" target="_blank">PHP Fog</a>に続き第二弾は『<a href="http://aws.amazon.com/jp/elasticbeanstalk/" target="_blank">AWS Elastic Beanstalk</a>』です。</div>
<div>AWS Elastic Beanstalkは、Amazon Web Servicesの一つとして提供されているクラウド上のアプリケーションを簡単に管理できる機能です。ロードバランサーとオートスケーリング機能も標準装備となっていて、これらの機能は自動で提供されます。</div>
<div>サービスの追加はAWS Management ConsoleからAWS Elastic Beanstalkを選択して追加するだけで、機能の利用自体には料金が発生しないため手軽に利用できます。課金は起動したEC2インスタンスやその他サービスの利用に応じておこなわれます。</div>
<div>2012年3月からPHPもサポートが開始され、2012年4月には東京リージョンでもAWS Elastic Beanstalkが利用可能となりました。Gitも利用できるため、アプリケーションのデプロイも簡単におこなうことができます。</div>
<div>早速、Gitを利用してAWS Elastic Beanstalkにデプロイをおこなってみたいとおもいます。</div>
<div><strong>事前準備</strong></br><br />
Windows環境でGitを利用するため、以下のツールを使用します。</div>
<div>
<ul>
<li>Git</br><a href="http://git-scm.com/" target="_blank">Git-1.7.10-preview20120409.exe</a> をインストールします。インストールの際はコマンドプロンプトを使用するため</br>『Run Git from the Windows Command Prompt』を選択します。</li>
</ul>
<div><img class="alignleft size-full wp-image-11029" src="http://s3-ap-northeast-1.amazonaws.com/corporate-tech-blog-wp/wp-content/uploads/00.jpg" alt="" width="400" height="311" /></div>
</div>
<ul>
<li><a href="http://aws.amazon.com/code/6752709412171743" target="_blank">AWS Elastic Beanstalk Command Line Tool</a></br><br />
ダウンロードしたディレクトリ内のelasticbeanstalk-cliAWSDevToolsWindowsAWSDevTools-OneTimeSetup.bat を実行します。これで、AWS Elastic Beanstalk アプリケーションのプッシュに必要なものがすべてインストールされます。</li>
</ul>
<div><strong>手順</strong></br><br />
1) AWS Elastic BeanstalkでEnvironmentを作成</br><br />
2) リポジトリの作成</br><br />
3) リポジトリセットアップ</br><br />
4) Gitでデプロイ</div>
<div><strong>1) AWS Elastic BeanstalkでEnvironmentを作成</strong></br><br />
<a href="http://aws.amazon.com/jp/console/" target="_blank">AWS Management Console</a> &gt; AWS Elastic Beanstalk &gt; Create New Application で新しいアプリケーションを作成します。</div>
<div><img class="alignleft size-full wp-image-11055" src="http://s3-ap-northeast-1.amazonaws.com/corporate-tech-blog-wp/wp-content/uploads/101.jpg" alt="" width="700" height="346" /></div>
<div><img class="alignleft size-full wp-image-11058" src="http://s3-ap-northeast-1.amazonaws.com/corporate-tech-blog-wp/wp-content/uploads/11.jpg" alt="" width="400" height="339" /></div>
<div>Environmentを作成します。</div>
<div><img class="alignleft size-full wp-image-11062" src="http://s3-ap-northeast-1.amazonaws.com/corporate-tech-blog-wp/wp-content/uploads/12.jpg" alt="" width="400" height="339" /></div>
<div><strong>今回作成したサンプル</strong></br></p>
<li>Application：sample</li>
<li>Environment：samplephp</li>
<p>ここで作成したsamplephpがデプロイ環境になります。</p></div>
<div>以上、数分でセットアップが完了します。<br />
http://***Environment名***.elasticbeanstalk.com/ にアクセスすると デフォルトのアプリケーショントップページが表示されます。</div>
<div><img class="alignleft size-full wp-image-11071" src="http://s3-ap-northeast-1.amazonaws.com/corporate-tech-blog-wp/wp-content/uploads/121.jpg" alt="" width="700" height="393" /></div>
<div>URLはEnvironment Details &gt; URLでも確認できます。<br />ちなみにEC2のインスタンス一覧を確認すると、インスタンスが起動していることがわかります。</div>
<div><img class="alignleft size-full wp-image-11065" src="http://s3-ap-northeast-1.amazonaws.com/corporate-tech-blog-wp/wp-content/uploads/06.jpg" alt="" width="700" height="75" /></div>
<div><strong>2) リポジトリの作成</strong><br />
ローカル環境にて、事前準備でインストールしたGit BashアイコンからShellを起動し作業用のディレクトリを作成します。</div>
<pre>
$ mkdir test
$ cd test
$ git init .
</pre>
<div><strong>3) リポジトリセットアップ</strong></br><br />
解凍したAWS Elastic Beanstalk Command Line Toolのelasticbeanstalk-cli¥AWSDevTools¥Windows¥AWSDevTools-RepositorySetup.bat をtestディレクトリ以下にコピーし、ダブルクリックして実行します。</br>※この作業は作成したリポジトリ毎に実行が必要です<br />
バッチファイルの実行後、デプロイ用の設定をおこないます。</div>
<pre>
$ git aws.config
AWS Access Key: **************** // アクセスキーを入力
AWS Secret Key: ******************************** // シークレットキーを入力
AWS Region [default to us-east-1]: ap-northeast-1 // 東京リージョンを指定
AWS Elastic Beanstalk Application: sample // アプリケーション名を入力
AWS Elastic Beanstalk Environment: samplephp // Environment名を入力
</pre>
<div><strong>4) Gitでデプロイ</strong></br><br />
コミット用のファイルを作成し、Gitでデプロイをおこないます。</div>
<pre>
$ vi index.php
&lt;?php phpinfo(); ?&gt;
$ git add 
$ git commit -m "first commit"
$ git aws.push
</pre>
<div>http://***Environment名***.elasticbeanstalk.com/ にアクセスします。</div>
<div><img class="alignleft size-full wp-image-11069" src="http://s3-ap-northeast-1.amazonaws.com/corporate-tech-blog-wp/wp-content/uploads/08.jpg" alt="" width="700" height="346" /></div>
<div>無事反映されました！</div>
<div><strong>まとめ</strong></br><br />
環境設定まわりは最初手間取りましたが、セットアップが完了すれば数分で最適な環境が構築できました。<br />
試しにBeanstalkで起動したインスタンスを停止してみたところ、数分で復旧しヘルスチェックもグリーンに戻りました。</br><br />
今後も対応環境は増えるようなので、更に使い勝手が良くなりそうですね。</div>
<div class="evernoteSiteMemory"><a href="javascript:" onclick="Evernote.doClip({title: 'AWS Elastic Beanstalkを使ってみた on サーバーワークス エンジニアブログ',url: 'http://175.41.251.6/tech/2012/06/28/aws-elastic-beanstalk/',contentID: 'post-11028',suggestTags: 'AWS,PaaS,PHP',providerName: 'サーバーワークス エンジニアブログ',styling: 'text' });return false" class="evernoteSiteMemoryLink"><img src="http://static.evernote.com/article-clipper.png" class="evernoteSiteMemoryButton" />
				</a>				<div class="evernoteSiteMemoryClear">&nbsp;</div>
</div>          </div>

          <p class="postmetadata">Tags: <a href="http://175.41.251.6/tech/tag/aws/" rel="tag">AWS</a> <a href="http://175.41.251.6/tech/tag/paas/" rel="tag">PaaS</a> <a href="http://175.41.251.6/tech/tag/php/" rel="tag">PHP</a><br /></p>
        </div>

      
        <div class="post-10897 post type-post status-publish format-standard hentry category-1 tag-88 tag-105" id="post-10897">
          <h2><a href="http://175.41.251.6/tech/2012/06/28/spirituals-aws/" rel="bookmark" title="Permanent Link to スピリチュアルなAWSの使い方">スピリチュアルなAWSの使い方</a></h2>
          <div class="clearfix">
          <div style="float:left;">
            <a href="http://b.hatena.ne.jp/entry/http://175.41.251.6/tech/2012/06/28/spirituals-aws/" class="hatena-bookmark-button" data-hatena-bookmark-title="スピリチュアルなAWSの使い方" data-hatena-bookmark-layout="standard" title="このエントリーをはてなブックマークに追加"><img src="http://b.st-hatena.com/images/entry-button/button-only.gif" alt="このエントリーをはてなブックマークに追加" width="20" height="20" style="border: none;" /></a><script type="text/javascript" src="http://b.st-hatena.com/js/bookmark_button.js" charset="utf-8" async="async"></script>

            <a href="http://twitter.com/share" class="twitter-share-button" data-url="http://175.41.251.6/tech/2012/06/28/spirituals-aws/" data-count="horizontal">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>

            <g:plusone size="medium" href="http://175.41.251.6/tech/2012/06/28/spirituals-aws/"></g:plusone>

            <iframe src="http://www.facebook.com/plugins/like.php?app_id=134649519942791&amp;href=http://175.41.251.6/tech/2012/06/28/spirituals-aws/&amp;send=false&amp;layout=button_count&amp;width=120&amp;show_faces=true&amp;action=like&amp;colorscheme=light&amp;font&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:120px; height:21px;" allowTransparency="true"></iframe>
          </div>
          <div class="date" style="float:right;margin-top:0;">
            6月 28th, 2012 by 
<span class="vcard"><a class="url fn n" href="http://175.41.251.6/tech/author/tateoka/" title="tateoka" rel="me">tateoka</a></h1>
            <img alt='' src='http://1.gravatar.com/avatar/9aa7593ed324d3a058f315adcdb893e8?s=48&amp;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D48&amp;r=G' class='avatar avatar-48 photo' height='48' width='48' />          </div>
        </div>

          <div class="entry">
            <p><img class="alignnone size-full wp-image-9353" src="http://s3-ap-northeast-1.amazonaws.com/corporate-tech-blog-wp/wp-content/uploads/amazon-web-services-logo-large1-e1334297880876.png" alt="" width="275" height="100" /></p>
<p>皆さんこんにちは。<br />
自社のブログサーバを<a href="http://blog.serverworks.co.jp/tech/2012/04/25/blogserver-down/" target="_blank">落とした</a>AWSチームの舘岡と申します。<br />
前回に引き続きブログサーバの負荷テス…、エンジニアブログを投下したいと思います。</p>
<div style="width: 680px;margin: 24px 0px 10px;padding: 5px 0px 5px 10px;background: none repeat scroll 0% 0% #eaf3fa;color: #00019b;border-left: 7px solid #00019b">
<h4>スピリチュアル</h4>
</div>
<p>皆さん、スピリチュアルプログラミング(エンジニアリング)という言葉をご存知でしょうか。</p>
<p><strong><a href="http://docs.komagata.org/4055" target="_blank">スピリチュアルプログラミング</a></strong></p>
<p><strong> </strong></p>
<p><strong><a href="http://d.hatena.ne.jp/mirakui/20100301/1267464280" target="_blank">スピリチュアルエンジニアリング入門</a></strong></p>
<pre>〜引用〜
システム開発・運用にスピリチュアル要素を取り入れることでシステム安定化を目指します。</pre>
<p>私はこの言葉と考え方に出会って雷に打たれるような衝撃を受けました。あ、例え話ですよ。<br />
この感動を皆さんに伝えるべく、この考えをAWSにも適用出来ないか考えてみました。</p>
<div style="width: 680px;margin: 24px 0px 10px;padding: 5px 0px 5px 10px;background: none repeat scroll 0% 0% #eaf3fa;color: #00019b;border-left: 7px solid #00019b">
<h4>スピリチュアリティ</h4>
</div>
<p>僕が絶大な信頼を寄せる<a href="http://ja.wikipedia.org/wiki/%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%9A%E3%83%BC%E3%82%B8" target="_blank">Wikipedia</a>さんによるとスピリチュアルという言葉は大雑把に霊歌という意味なのだそうです。</p>
<p>Wikipedia: <strong><a href="http://ja.wikipedia.org/wiki/%E3%82%B9%E3%83%94%E3%83%AA%E3%83%81%E3%83%A5%E3%82%A2%E3%83%AB" target="_blank">スピリチュアル</a></strong></p>
<p>「霊的な」意味のスピリチュアルについては「スピリチュアリティ」をご覧ください、とありますが<br />
URIを貼りたかっただけなので無視します。</p>
<div style="width: 680px;margin: 24px 0px 10px;padding: 5px 0px 5px 10px;background: none repeat scroll 0% 0% #eaf3fa;color: #00019b;border-left: 7px solid #00019b">
<h4>基本原理</h4>
</div>
<p>スピリチュアルエンジニアリングの基本原理に則ると基本は「<strong>祈り</strong>」にあるとの事です。<br />
AWSに限らず祈る事でうまく動作したり安定稼働したりすることは多々あります。<br />
この記事をご覧の皆様のサーバにも神田明神で購入した<a href="http://www.kandamyoujin.or.jp/omamori/detail.html?id=7" target="_blank">IT情報安全守護</a>がありますよね？<br />
お守りも1つの祈りの形です。</p>
<p>そして<strong>強い信念</strong>。<br />
「動くはず」「いや、動かないワケがない」「動く！」と信じ抜く事が大切です。<br />
開発環境？ステージング環境？そんなの必要ありません。<br />
だって不思議なチカラで動くんですもの。</p>
<div style="width: 680px;margin: 24px 0px 10px;padding: 5px 0px 5px 10px;background: none repeat scroll 0% 0% #eaf3fa;color: #00019b;border-left: 7px solid #00019b">
<h4>EC2に祈る</h4>
</div>
<p>では具体的に祈って行きましょう。<br />
まずはEC2。<br />
EC2に祈りを捧げると以下の効果が見られるとの噂です。</p>
<li>起動が早くなる</li>
<li>IPアドレスを開放してもまた同じIPアドレスを使える確率アップ</li>
<li>不思議なチカラでインスタンスサイズがアップ</li>
<li>意図しないSecurity Groupsの穴が見えないチカラで塞がる</li>
<p>
あなたの祈りが通じればEC2の安定稼働に上記の効果が見られるかも知れません。</p>
<div style="width: 680px;margin: 24px 0px 10px;padding: 5px 0px 5px 10px;background: none repeat scroll 0% 0% #eaf3fa;color: #00019b;border-left: 7px solid #00019b">
<h4>RDSに祈る</h4>
</div>
<p>RDSに熱心に祈りを捧げると以下の効果が見られると近所の小学生が言ってました。</p>
<li>勝手にMulti-AZ</li>
<li>不思議なチカラでRegion間Replication</li>
<li>もちろんインスタンスサイズアップ</li>
<li>タイムゾーンの変更が可能に</li>
<li>更新処理の前に「更新するよ？大丈夫？」ってRDSが聞いてくる</li>
<p>
RDSには大切なデータを入れて運用している方が多いと思います。<br />
祈りよりも「いつもありがとう」と感謝の言葉をかける事でSLAがグンと上がったり、<br />
クエリに対する応答時間が格段に速くなったという声をなんとか知恵袋で見た気がします。</p>
<div style="width: 680px;margin: 24px 0px 10px;padding: 5px 0px 5px 10px;background: none repeat scroll 0% 0% #eaf3fa;color: #00019b;border-left: 7px solid #00019b">
<h4>ELBに祈る</h4>
</div>
<p>魔法陣の中央にトカゲの尻尾・蜘蛛の足・蛇の毒を銀の皿の上に置いて呪文を唱えながら祈りを捧げると、<br />
以下の効果が見られると某掲示板のまとめサイトのコメント欄に書いてあったと人づてに聞きました。</p>
<li>不思議なチカラでL7に対応</li>
<li>Webサーバに変わってSorry画面をおせっかいで表示</li>
<li>キャッシュサーバに変わっておせっかいで画像キャッシュ</li>
<p>
ELBのダウンはサービスのダウンに直結します。<br />
RDS同様に感謝の言葉をかけてあげる事でWebサーバに進化するって立ち読みした攻略本に書いてありました。</p>
<div style="width: 680px;margin: 24px 0px 10px;padding: 5px 0px 5px 10px;background: none repeat scroll 0% 0% #eaf3fa;color: #00019b;border-left: 7px solid #00019b">
<h4>とりあえず祈る</h4>
</div>
<p>皆さんご存知の通り、AWSはクラウドサービスです。<br />
つまり雲の上に存在する各サービスは神だと言えるでしょう。<br />
神々は私達の行動や言動をつぶさに観察しています。<br />
信心が足りない、最近お祈りを怠っている、そう思っている方は障害が発生しませんでしたか？<br />
EC2がふてくされてTerminateしたのに残ったりしませんでしたか？<br />
なんかツイてなかったり障害が重なった時は思い出して下さい。<br />
あなたの強い思いと祈りは届きます。<br />
祈祷方法は知りませんが。</p>
<div style="width: 680px;margin: 24px 0px 10px;padding: 5px 0px 5px 10px;background: none repeat scroll 0% 0% #eaf3fa;color: #00019b;border-left: 7px solid #00019b">
<h4>まとめ</h4>
</div>
<p>スピリチュアルの奇跡をご覧いただけましたでしょうか。<br />
このブログを書いている時も『こんな内容を会社のブログで出せると思っているのか？』という<br />
ボスに良く似た声が聞こえた気がしましたが、気のせいでしょう。</p>
<p>あ、今気が付きましたが「<strong>祈る</strong>」部分を「<strong>お布施する</strong>」にするとしっくりしますね。</p>
<div style="width: 680px;margin: 24px 0px 10px;padding: 5px 0px 5px 10px;background: none repeat scroll 0% 0% #eaf3fa;color: #00019b;border-left: 7px solid #00019b">
<h4>ご注意！</h4>
</div>
<p><strong>良い子の諸君！分かっているだろうがこの記事はネタだ！<br />
だが、AWSの中の人に懇願すると願いが叶う事があるかも知れないぞ！<br />
</strong></p>
<div style="width: 680px;margin: 24px 0px 10px;padding: 5px 0px 5px 10px;background: none repeat scroll 0% 0% #eaf3fa;color: #00019b;border-left: 7px solid #00019b">
<h4>Special Thanks!!</h4>
</div>
<p>当ブログでの紹介を快諾していただいた <strong><a href="http://twitter.com/#!/mirakui" target="_blank">@mirakuiさん</a>、<a href="http://twitter.com/#!/komagata" target="_blank">@komagataさん</a></strong>、ありがとうございました！</p>
<div class="evernoteSiteMemory"><a href="javascript:" onclick="Evernote.doClip({title: 'スピリチュアルなAWSの使い方 on サーバーワークス エンジニアブログ',url: 'http://175.41.251.6/tech/2012/06/28/spirituals-aws/',contentID: 'post-10897',suggestTags: 'スピリチュアル,祈り',providerName: 'サーバーワークス エンジニアブログ',styling: 'text' });return false" class="evernoteSiteMemoryLink"><img src="http://static.evernote.com/article-clipper.png" class="evernoteSiteMemoryButton" />
				</a>				<div class="evernoteSiteMemoryClear">&nbsp;</div>
</div>          </div>

          <p class="postmetadata">Tags: <a href="http://175.41.251.6/tech/tag/%e3%82%b9%e3%83%94%e3%83%aa%e3%83%81%e3%83%a5%e3%82%a2%e3%83%ab/" rel="tag">スピリチュアル</a> <a href="http://175.41.251.6/tech/tag/%e7%a5%88%e3%82%8a/" rel="tag">祈り</a><br /></p>
        </div>

      
        <div class="post-10797 post type-post status-publish format-standard hentry category-1 tag-ec2 tag-nginx tag-wordpress" id="post-10797">
          <h2><a href="http://175.41.251.6/tech/2012/06/27/nginx-01/" rel="bookmark" title="Permanent Link to Nginx + WordPress">Nginx + WordPress</a></h2>
          <div class="clearfix">
          <div style="float:left;">
            <a href="http://b.hatena.ne.jp/entry/http://175.41.251.6/tech/2012/06/27/nginx-01/" class="hatena-bookmark-button" data-hatena-bookmark-title="Nginx + WordPress" data-hatena-bookmark-layout="standard" title="このエントリーをはてなブックマークに追加"><img src="http://b.st-hatena.com/images/entry-button/button-only.gif" alt="このエントリーをはてなブックマークに追加" width="20" height="20" style="border: none;" /></a><script type="text/javascript" src="http://b.st-hatena.com/js/bookmark_button.js" charset="utf-8" async="async"></script>

            <a href="http://twitter.com/share" class="twitter-share-button" data-url="http://175.41.251.6/tech/2012/06/27/nginx-01/" data-count="horizontal">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>

            <g:plusone size="medium" href="http://175.41.251.6/tech/2012/06/27/nginx-01/"></g:plusone>

            <iframe src="http://www.facebook.com/plugins/like.php?app_id=134649519942791&amp;href=http://175.41.251.6/tech/2012/06/27/nginx-01/&amp;send=false&amp;layout=button_count&amp;width=120&amp;show_faces=true&amp;action=like&amp;colorscheme=light&amp;font&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:120px; height:21px;" allowTransparency="true"></iframe>
          </div>
          <div class="date" style="float:right;margin-top:0;">
            6月 27th, 2012 by 
<span class="vcard"><a class="url fn n" href="http://175.41.251.6/tech/author/sakamoto/" title="sakamoto" rel="me">sakamoto</a></h1>
            <img alt='' src='http://0.gravatar.com/avatar/e246b8f2d3b6b3b1a2e5ad8e9b4e756b?s=48&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D48&amp;r=G' class='avatar avatar-48 photo' height='48' width='48' />          </div>
        </div>

          <div class="entry">
            <p>こんにちは。CSチームの坂本です。</p>
<p>今回はロシア産の軽量サーバー、<a href="http://ja.wikipedia.org/wiki/Nginx" target="_blank">Nginx</a>をWordPressのWebサーバーとして導入したいと思います。</p>
<p>NginxはApache、IISに次いで現在3番目に利用されているWebサーバーで、ここ最近急激にシェアを伸ばしています。</p>
<p>NginxがApacheに比べ最も優れているといわれる点はスピードですが、Apacheより設定が簡単なことも人気の理由のようです。</p>
<p><a href="http://wordpress.com/" target="_blank">WordPress.com</a>でも導入されており、WordPressの運用に適したサーバーであるといえそうです。</p>
<figure>
<figcaption><strong>今回のEC2環境</strong></figcaption>
</p>
<table>
<tr>
<td>Zone</td>
<td>ap-southeast-1b</td>
</tr>
<tr>
<td>AMI</td>
<td>amzn-ami-pv-2012.03.2.x86_64-ebs</td>
</tr>
<tr>
<td>Type</td>
<td>t1.micro</td>
</tr>
</table>
</figure>
<p></p>
<p><strong>目次</strong></p>
<ol>
<li>インストール</li>
<li>Nginxの設定</li>
<li>NginxとPHP-FPMの起動</li>
<li>Apacheと比較</li>
</ol>
<p><span style="font-size: large"><strong>1. インストール</strong></span></p>
<p>まず、NginxでWordPressを動かすために最低限必要な「Nginx、MySQL、PHP、PHP-FPM」をインストールします。</p>
<pre>
sudo yum install nginx
sudo yum install mysql-server 
sudo yum install php php-fpm php-mbstring php-mysql
</pre>
<p>※MySQL、PHP、PHP-FPMの設定は適宜おこなってください。</p>
<p><span style="font-size: large"><strong>2. Nginxの設定</strong></span></p>
<p>Nginxのデフォルトの設定ファイルを変更し、PHPを動かすための最低限の設定をおこないます。</p>
<p><strong>基本の設定ファイル</strong></p>
<ol>
<li>/etc/nginx/nginx.conf</li>
<li>/etc/nginx/conf.d/default.conf</li>
</ol>
<p>以下がWebサーバーの場合のNginxの設定ファイルの基本構造となっています。</p>
<p><strong>Webサーバーの設定ファイルの基本構造</strong></p>
<pre>
# 省略
http { # httpブロック、Webサーバーの場合はhttpとなる
    server { # serverブロック、仮想サーバーの設定
        location / { # locationブロック、URLのパスにマッチした時の設定
        }
    }
}
</pre>
<p>実際の設定ファイルを簡単に確認します。</p>
<p><strong>/etc/nginx/nginx.conf</strong></p>
<pre>
# 省略
http {
    # 省略
    include /etc/nginx/conf.d/*.conf;
}
</pre>
<p>nginx.confで設定されているhttpブロックで/etc/nginx/conf.d以下の.confファイルを読み込む設定となっています。httpブロックで設定された内容はそのブロック内で設定されているserverブロック、locationブロックに適用されますので、共通する設定はこちらで設定します。</p>
<p>今回はnginx.confは変更せず、default.conf内のserverブロック、locationブロックを変更して最低限PHPが動く設定にします。</p>
<p><strong>/etc/nginx/conf.d/default.conf</strong></p>
<pre>
server {
    listen 80; # 仮想サーバーのポート番号      
    server_name _; # 仮想サーバーの名前 

    location / {
        root /usr/share/nginx/html; # ドキュメントルート  
        index index.php index.html; # インデックスページとして使われるファイル名 
    }

    location ~ .php$ { # 末尾「.php」にマッチした時の設定
        fastcgi_pass 127.0.0.1:9000; # FastCGIサーバーのアドレス:ポート番号  
        fastcgi_index index.php; # インデックスページとして使われるファイル名 
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; # PHP-FPMで処理するファイル名
        include fastcgi_params; # 外部設定ファイル（/etc/nginx/fastcgi_params）の読み込み  
    }
}
</pre>
<p><span style="font-size: large"><strong>3. NginxとPHP-FPMの起動</strong></span></p>
<p>設定が終わったらNginxとPHP-FPMを起動し、WordPressをインストールしてください。</p>
<pre>
sudo /etc/init.d/nginx start
sudo /etc/init.d/php-fpm start
</pre>
<p><span style="font-size: large"><strong>4. Apacheと比較</strong></span></p>
<p>上記のEC2環境と同じ条件の環境でApache + WordPressを構築し、Chromeの「Developer Tools」を使って同じ環境からアクセスし、簡単にWebページの読み込みにかかった時間を比較しました。</p>
<p>※Apacheは始めからAmazon Linux AMIにインストールされているものをデフォルトの設定で利用しています。MySQL、PHPは同じものをインストールしています。Apacheもチューニングをおこなうことで速くなると思いますが、今回はデフォルトの設定での比較になります。</p>
<p>「Developer Tools」はChromeの右上のスパナのアイコン &#8211; ［ツール］ &#8211; ［デベロッパーツール］で起動します。</p>
<p>Networkタブを開いてからアクセスします。</p>
<div style="width: 680px;margin: 24px 0 10px 0;padding: 5px 0 5px 10px;background: #eaf3fa;color: #00019b;border-left:7px solid #00019b"><strong>Apache</strong></div>
<p style="text-align: center"><a href="http://s3-ap-northeast-1.amazonaws.com/corporate-tech-blog-wp/wp-content/uploads/nginx-01-apache.jpg"><img src="http://s3-ap-northeast-1.amazonaws.com/corporate-tech-blog-wp/wp-content/uploads/nginx-01-apache.jpg" alt="" width="580" height="454" /></a></p>
<p></p>
<div style="width: 680px;margin: 24px 0 10px 0;padding: 5px 0 5px 10px;background: #eaf3fa;color: #00019b;border-left:7px solid #00019b"><strong>Nginx</strong></div>
<p style="text-align: center"><a href="http://s3-ap-northeast-1.amazonaws.com/corporate-tech-blog-wp/wp-content/uploads/nginx-01-nginx.jpg"><img src="http://s3-ap-northeast-1.amazonaws.com/corporate-tech-blog-wp/wp-content/uploads/nginx-01-nginx.jpg" alt="" width="580" height="454" /></a></p>
<p></p>
<p>Apacheは<strong>1.66秒</strong>掛かっているのに対し、Nginxは<strong>0.825秒</strong>でした。</p>
<p>何回か計測した結果でApacheでは約1.5秒掛かるのに対し、Nginxは1秒を上回ることはなくスピードを実感できました。</p>
<p>今回はNginxの導入をおこないました。次回以降はその他の設定の変更をおこない、Nginxを利用して更に高速化する方法を考えたいと思います。</p>
<div class="evernoteSiteMemory"><a href="javascript:" onclick="Evernote.doClip({title: 'Nginx + WordPress on サーバーワークス エンジニアブログ',url: 'http://175.41.251.6/tech/2012/06/27/nginx-01/',contentID: 'post-10797',suggestTags: 'EC2,Nginx,wordpress',providerName: 'サーバーワークス エンジニアブログ',styling: 'text' });return false" class="evernoteSiteMemoryLink"><img src="http://static.evernote.com/article-clipper.png" class="evernoteSiteMemoryButton" />
				</a>				<div class="evernoteSiteMemoryClear">&nbsp;</div>
</div>          </div>

          <p class="postmetadata">Tags: <a href="http://175.41.251.6/tech/tag/ec2/" rel="tag">EC2</a> <a href="http://175.41.251.6/tech/tag/nginx/" rel="tag">Nginx</a> <a href="http://175.41.251.6/tech/tag/wordpress/" rel="tag">wordpress</a><br /></p>
        </div>

      
      <div class="navigation clearfix">
        <div class="alignleft"><a href="http://175.41.251.6/tech/page/2/" >&laquo; Older Entries</a></div>
        <div class="alignright"></div>
      </div>

    
  <!-- end of #content -->
</div>
  <div class="sidebar grid_3">
       <li id="text-4" class="widget widget_text">			<div class="textwidget"><a href="http://www.serverworks.co.jp/career">
<img width="233" height="119" border="0" src="http://www.serverworks.co.jp/wp-content/themes/wag/img/banner/sw_recruit.gif">
</a></div>
		</li><li id="popular_searches-3" class="widget widget_search_meter"><h2 class="widgettitle">人気の記事</h2></li>		<li id="recent-posts-2" class="widget widget_recent_entries">		<h2 class="widgettitle">最近の投稿</h2>		<ul>
				<li><a href="http://175.41.251.6/tech/2012/07/13/cloudfront_elasticache_mvc/" title="CloudFrontとElastiCacheとMVC">CloudFrontとElastiCacheとMVC</a></li>
				<li><a href="http://175.41.251.6/tech/2012/07/06/asterisk-heartbeat-pacemaker/" title="AWS上のAsteriskサーバをHeartbeat+Pacemakerで冗長化">AWS上のAsteriskサーバをHeartbeat+Pacemakerで冗長化</a></li>
				<li><a href="http://175.41.251.6/tech/2012/07/03/send-serverworks-night/" title="発信力を鍛える。">発信力を鍛える。</a></li>
				<li><a href="http://175.41.251.6/tech/2012/07/03/mod_spdy/" title="ELBでのhttps表示を激的に早くする〜mod_spdy〜">ELBでのhttps表示を激的に早くする〜mod_spdy〜</a></li>
				<li><a href="http://175.41.251.6/tech/2012/06/29/elastic-beanstalk_wordpress_install/" title="Elastic BeanstalkでWordPressをインストールしてみました">Elastic BeanstalkでWordPressをインストールしてみました</a></li>
				<li><a href="http://175.41.251.6/tech/2012/06/29/nginx-02/" title="Nginx + WordPress 「Gzip Precompression」モジュール篇">Nginx + WordPress 「Gzip Precompression」モジュール篇</a></li>
				<li><a href="http://175.41.251.6/tech/2012/06/29/playing-with-rack/" title="Rackと遊ぶ">Rackと遊ぶ</a></li>
				<li><a href="http://175.41.251.6/tech/2012/06/28/aws-elastic-beanstalk/" title="AWS Elastic Beanstalkを使ってみた">AWS Elastic Beanstalkを使ってみた</a></li>
				<li><a href="http://175.41.251.6/tech/2012/06/28/spirituals-aws/" title="スピリチュアルなAWSの使い方">スピリチュアルなAWSの使い方</a></li>
				<li><a href="http://175.41.251.6/tech/2012/06/27/nginx-01/" title="Nginx + WordPress">Nginx + WordPress</a></li>
				</ul>
		</li><li id="tag_cloud-3" class="widget widget_tag_cloud"><h2 class="widgettitle">タグ</h2><div class="tagcloud"><a href='http://175.41.251.6/tech/tag/asterisk/' class='tag-link-3' title='3件のトピック' style='font-size: 9.2631578947368pt;'>Asterisk</a>
<a href='http://175.41.251.6/tech/tag/aws/' class='tag-link-4' title='63件のトピック' style='font-size: 22pt;'>AWS</a>
<a href='http://175.41.251.6/tech/tag/azure/' class='tag-link-5' title='2件のトピック' style='font-size: 8pt;'>Azure</a>
<a href='http://175.41.251.6/tech/tag/centos/' class='tag-link-9' title='2件のトピック' style='font-size: 8pt;'>CentOS</a>
<a href='http://175.41.251.6/tech/tag/chef/' class='tag-link-10' title='2件のトピック' style='font-size: 8pt;'>Chef</a>
<a href='http://175.41.251.6/tech/tag/cloud-days-tokyo-2012/' class='tag-link-11' title='2件のトピック' style='font-size: 8pt;'>Cloud Days Tokyo 2012</a>
<a href='http://175.41.251.6/tech/tag/cloudfront/' class='tag-link-12' title='4件のトピック' style='font-size: 10.315789473684pt;'>CloudFront</a>
<a href='http://175.41.251.6/tech/tag/cloudwatch/' class='tag-link-15' title='2件のトピック' style='font-size: 8pt;'>Cloudwatch</a>
<a href='http://175.41.251.6/tech/tag/cloudworks/' class='tag-link-16' title='5件のトピック' style='font-size: 11.157894736842pt;'>Cloudworks</a>
<a href='http://175.41.251.6/tech/tag/dynamo/' class='tag-link-18' title='2件のトピック' style='font-size: 8pt;'>Dynamo</a>
<a href='http://175.41.251.6/tech/tag/ec2/' class='tag-link-21' title='28件のトピック' style='font-size: 18.315789473684pt;'>EC2</a>
<a href='http://175.41.251.6/tech/tag/elb/' class='tag-link-23' title='2件のトピック' style='font-size: 8pt;'>ELB</a>
<a href='http://175.41.251.6/tech/tag/firefox/' class='tag-link-26' title='2件のトピック' style='font-size: 8pt;'>Firefox</a>
<a href='http://175.41.251.6/tech/tag/google-apps-script/' class='tag-link-30' title='2件のトピック' style='font-size: 8pt;'>Google Apps Script</a>
<a href='http://175.41.251.6/tech/tag/heartbeat/' class='tag-link-31' title='2件のトピック' style='font-size: 8pt;'>heartbeat</a>
<a href='http://175.41.251.6/tech/tag/iphone/' class='tag-link-33' title='2件のトピック' style='font-size: 8pt;'>iPhone</a>
<a href='http://175.41.251.6/tech/tag/ivr/' class='tag-link-35' title='2件のトピック' style='font-size: 8pt;'>IVR</a>
<a href='http://175.41.251.6/tech/tag/jasmine/' class='tag-link-36' title='4件のトピック' style='font-size: 10.315789473684pt;'>Jasmine</a>
<a href='http://175.41.251.6/tech/tag/javascript/' class='tag-link-37' title='5件のトピック' style='font-size: 11.157894736842pt;'>JavaScript</a>
<a href='http://175.41.251.6/tech/tag/jawsug/' class='tag-link-39' title='3件のトピック' style='font-size: 9.2631578947368pt;'>JAWSUG</a>
<a href='http://175.41.251.6/tech/tag/linux/' class='tag-link-40' title='2件のトピック' style='font-size: 8pt;'>Linux</a>
<a href='http://175.41.251.6/tech/tag/macports/' class='tag-link-43' title='2件のトピック' style='font-size: 8pt;'>MacPorts</a>
<a href='http://175.41.251.6/tech/tag/management-console/' class='tag-link-44' title='2件のトピック' style='font-size: 8pt;'>Management Console</a>
<a href='http://175.41.251.6/tech/tag/mysql/' class='tag-link-48' title='3件のトピック' style='font-size: 9.2631578947368pt;'>MySQL</a>
<a href='http://175.41.251.6/tech/tag/nginx/' class='tag-link-51' title='2件のトピック' style='font-size: 8pt;'>Nginx</a>
<a href='http://175.41.251.6/tech/tag/paas/' class='tag-link-54' title='2件のトピック' style='font-size: 8pt;'>PaaS</a>
<a href='http://175.41.251.6/tech/tag/pdf/' class='tag-link-55' title='2件のトピック' style='font-size: 8pt;'>PDF</a>
<a href='http://175.41.251.6/tech/tag/php/' class='tag-link-56' title='10件のトピック' style='font-size: 13.894736842105pt;'>PHP</a>
<a href='http://175.41.251.6/tech/tag/rails3/' class='tag-link-60' title='2件のトピック' style='font-size: 8pt;'>Rails3</a>
<a href='http://175.41.251.6/tech/tag/rds/' class='tag-link-61' title='7件のトピック' style='font-size: 12.421052631579pt;'>RDS</a>
<a href='http://175.41.251.6/tech/tag/ruby/' class='tag-link-65' title='11件のトピック' style='font-size: 14.315789473684pt;'>Ruby</a>
<a href='http://175.41.251.6/tech/tag/ruby-on-rails/' class='tag-link-66' title='3件のトピック' style='font-size: 9.2631578947368pt;'>Ruby on Rails</a>
<a href='http://175.41.251.6/tech/tag/s3/' class='tag-link-67' title='3件のトピック' style='font-size: 9.2631578947368pt;'>S3</a>
<a href='http://175.41.251.6/tech/tag/symfony/' class='tag-link-74' title='4件のトピック' style='font-size: 10.315789473684pt;'>symfony</a>
<a href='http://175.41.251.6/tech/tag/vpc/' class='tag-link-76' title='5件のトピック' style='font-size: 11.157894736842pt;'>VPC</a>
<a href='http://175.41.251.6/tech/tag/windows/' class='tag-link-77' title='5件のトピック' style='font-size: 11.157894736842pt;'>Windows</a>
<a href='http://175.41.251.6/tech/tag/wordpress/' class='tag-link-78' title='6件のトピック' style='font-size: 11.894736842105pt;'>wordpress</a>
<a href='http://175.41.251.6/tech/tag/%e3%82%a4%e3%83%99%e3%83%b3%e3%83%88/' class='tag-link-84' title='14件のトピック' style='font-size: 15.368421052632pt;'>イベント</a>
<a href='http://175.41.251.6/tech/tag/%e3%82%af%e3%83%a9%e3%82%a6%e3%83%89%e3%82%b3%e3%83%b3%e3%83%94%e3%83%a5%e3%83%bc%e3%83%86%e3%82%a3%e3%83%b3%e3%82%b0/' class='tag-link-87' title='24件のトピック' style='font-size: 17.684210526316pt;'>クラウドコンピューティング</a>
<a href='http://175.41.251.6/tech/tag/%e3%83%84%e3%83%bc%e3%83%ab/' class='tag-link-91' title='3件のトピック' style='font-size: 9.2631578947368pt;'>ツール</a>
<a href='http://175.41.251.6/tech/tag/%e3%83%86%e3%82%b9%e3%83%88/' class='tag-link-92' title='4件のトピック' style='font-size: 10.315789473684pt;'>テスト</a>
<a href='http://175.41.251.6/tech/tag/%e3%83%af%e3%82%a4%e3%83%ab%e3%83%89/' class='tag-link-94' title='3件のトピック' style='font-size: 9.2631578947368pt;'>ワイルド</a>
<a href='http://175.41.251.6/tech/tag/%e5%96%b6%e6%a5%ad/' class='tag-link-96' title='3件のトピック' style='font-size: 9.2631578947368pt;'>営業</a>
<a href='http://175.41.251.6/tech/tag/exhibition/' class='tag-link-97' title='8件のトピック' style='font-size: 12.947368421053pt;'>展示会</a>
<a href='http://175.41.251.6/tech/tag/%e6%96%b0%e4%ba%ba/' class='tag-link-102' title='4件のトピック' style='font-size: 10.315789473684pt;'>新人</a></div>
</li><li id="search-2" class="widget widget_search"><h2 class="widgettitle">ブログ内検索</h2><form role="search" method="get" id="searchform" action="http://175.41.251.6/tech/" >
	<div><label class="screen-reader-text" for="s">検索:</label>
	<input type="text" value="" name="s" id="s" />
	<input type="submit" id="searchsubmit" value="検索" />
	</div>
	</form></li><li id="rss-2" class="widget widget_rss"><h2 class="widgettitle"><a class='rsswidget' href='http://blog.serverworks.co.jp/ceo/' title='このサイトを RSS で購読'><img style='border:0' width='14' height='14' src='http://175.41.251.6/tech/wp-includes/images/rss.png' alt='RSS' /></a> <a class='rsswidget' href='http://blog.serverworks.co.jp/ceo' title=''>社長ブログ</a></h2><ul><li><a class='rsswidget' href='http://feedproxy.google.com/~r/co/NgWp/~3/HqzyoYzsMHw/' title='こんにちは、大石です。 過日、東京国際フォーラムで行われた展示会、そして経済産業省（中国経済産業局）主催の広島、松江で行われたセミナーと、立て続けに「クラウド時代にSIerの役割がどう変わるのか？」という話をする機会があ [&hellip;]'>SIサービスのセル生産</a></li><li><a class='rsswidget' href='http://feedproxy.google.com/~r/co/NgWp/~3/8-uFWwOzqNw/' title='こんにちは、大石です。 先日、IT系専門学校の先生とお話ししている時に、先生から 「すごくいい技術を持っている子でも、口べただったりコミュニケーションが下手だというだけで採用されない子がいるんですよ」 という様なお話しを [&hellip;]'>コミュニケーション能力重視という愚行</a></li><li><a class='rsswidget' href='http://feedproxy.google.com/~r/co/NgWp/~3/HHtRa1kqFts/' title='こんにちは、大石です。 当社では、事業拡大に伴い継続的な採用活動を行っていますが、今日は4月から当社にジョインした3人の「コミュニティーリーダー」をご紹介したいと思います。 中武 優樹 @zabbiozabbio（通称ザ [&hellip;]'>Welcome, Leaders!</a></li><li><a class='rsswidget' href='http://feedproxy.google.com/~r/co/NgWp/~3/VQw4unixOnM/' title='こんにちは、大石です。 今年もおかげさまで、2名の新入社員を迎えることができました。新入社員には毎年同じ話をしているのですが、改めて、私が話している2つの話をお伝えさせていただければと思います。   答えがな [&hellip;]'>入社式</a></li><li><a class='rsswidget' href='http://feedproxy.google.com/~r/co/NgWp/~3/V00c6hGqLes/' title='こんにちは、大石です。 今日で震災から丸一年。今でもYouTubeで津波の映像を見ると、涙がこぼれてしまいます。 あの震災から一年。本当に激動としか言い様の無い一年でした。 私達の周りのものは、いつか壊れ、なくなり、そし [&hellip;]'>震災から一年</a></li></ul></li><li id="rss-3" class="widget widget_rss"><h2 class="widgettitle"><a class='rsswidget' href='http://www.serverworks.co.jp/news/' title='このサイトを RSS で購読'><img style='border:0' width='14' height='14' src='http://175.41.251.6/tech/wp-includes/images/rss.png' alt='RSS' /></a> <a class='rsswidget' href='http://www.serverworks.co.jp' title='AWSに特化したクラウドインテグレーターのサーバーワークス'>お知らせ</a></h2><ul><li><a class='rsswidget' href='http://www.serverworks.co.jp/news/2012/07/02/cloud_for_education_osaka/' title='株式会社ディスコ主催セミナー「学校でクラウドはこう使う！」に当社代表の大石（@ooishi）が講演しています。 大学など教育機関におけるクラウド導入の不安や疑問を事例を交えてわかりやすく解説をさせていただいております。 … Continue reading → [&hellip;]'>教育機関向けクラウドセミナー「学校でクラウドはこう使う！」 大阪講演のおしらせ</a></li><li><a class='rsswidget' href='http://www.serverworks.co.jp/news/2012/06/22/business-show-kyushu-2012-2/' title='2012年6月20日〜6月21日に開催されましたビジネスショウ九州2012 は無事に終了致しました。福岡をはじめ、九州全土からクラウドの注目が集まっている事を実感する2日間でした。 今後もクラウド促進、九州のクラウド活用 … Continue reading → [&hellip;]'>ビジネスショウ九州2012にお越し頂き有り難うございました！</a></li><li><a class='rsswidget' href='http://www.serverworks.co.jp/news/2012/06/18/tour-de-kyushu-2012/' title='Japan Amazon Web Services User Group(JAWS-UG)が九州すべての県をカバーしたとの事で、この度開催されるTour de 九州に当社中武と小室がAWSの導入事例や導入の勘所等について … Continue reading → [&hellip;]'>Tour de 九州にて当社中武、小室が発表いたします。</a></li><li><a class='rsswidget' href='http://www.serverworks.co.jp/news/2012/06/18/business-show-kyushu-2012/' title='来る2012年6月20日(水曜日)〜6月21日(木曜日)に開催されるビジネスショウ九州2012に株式会社サーバーワークスが出展致します！ ビジネスショウ九州2012 ビジネスショウ九州2012 開催テーマ: 情報技術・情 … Continue reading → [&hellip;]'>ビジネスショウ九州2012に出展いたします。</a></li><li><a class='rsswidget' href='http://www.serverworks.co.jp/news/2012/06/18/fukuoka-office/' title='福岡オフィス開設のお知らせ 株式会社サーバーワークスは、2012年5月1日に福岡市中央区大名に福岡オフィスを開設しました。福岡オフィスでは、九州全土のお客様対応と、クラウドの促進活動を行なって行く予定です。 福岡オフィス … Continue reading → [&hellip;]'>福岡オフィス開設のお知らせ</a></li></ul></li>  </div>
</div>

	<!-- #footer ///////////////////////////////////// -->
    <div class="clear"></div>
<p class="goto-pabetop"><a href="#top"><img src="http://s3-ap-northeast-1.amazonaws.com/corporate-tech-blog-wp/wp-content/uploads/bt_pagetop.gif" alt="PAGE TOP" border="0" /></a></p>
<div id="footer">
<div id="foot_link">

<div id="foot_nav">
<div class="area01">
<ul>
<li class="md"><img src="http://s3-ap-northeast-1.amazonaws.com/corporate-tech-blog-wp/wp-content/uploads/foot_t_content.png" border="0" />コンテンツ</li>
<li><a href="http://www.serverworks.co.jp/services">サービス</a></li>
<li><a href="http://www.serverworks.co.jp/case">導入事例</a></li>
<li><a href="http://www.serverworks.co.jp/corporate">会社情報</a></li>
<li><a href="http://www.serverworks.co.jp/career">採用情報</a></li>
<li><a href="http://www.serverworks.co.jp/blog">ブログ</a></li>
<li><a href="http://www.serverworks.co.jp/news">ニュース・お知らせ一覧</a></li>
<li><a href="http://www.serverworks.co.jp/privacy-policy">プライバシーポリシー</a></li>
<li><a href="http://www.serverworks.co.jp/contact">お問い合わせ</a></li>
</ul>
</div>

<div class="row_r">
<div class="area02">
<ul>
<li class="md"><img src="http://s3-ap-northeast-1.amazonaws.com/corporate-tech-blog-wp/wp-content/uploads/foot_t_search.png" border="0" />サービス名から探す</li>
<li><a href="http://cloudworks.jp/" target="_blank">Cloudworks </a> <img src="http://www.serverworks.co.jp/wp-content/themes/wag/img/common/icon_swin.gif" border="0" /></li>
<li><a href="http://cloudnosuke.jp/" target="_blank">大石蔵人之助</a> <img src="http://www.serverworks.co.jp/wp-content/themes/wag/img/common/icon_swin.gif" border="0" /></li>
<li><a href="http://bakusoku.jp/" target="_blank">爆速ホスティング</a> <img src="http://www.serverworks.co.jp/wp-content/themes/wag/img/common/icon_swin.gif" border="0" /></li>
<li><a href="http://www.serverworks.co.jp/services/cloud/aws-support/actingpayment">Amazon Web Services 課金代行サービス</a></li>
<li><a href="http://www.serverworks.co.jp/services/cloud/aws-support/vpcstarterpack">Amazon VPC スターターパック</a></li>
</ul>
</div>

<div class="area03">
<ul>
<li class="md"><img src="http://s3-ap-northeast-1.amazonaws.com/corporate-tech-blog-wp/wp-content/uploads/foot_t_facebook.png" border="0" />Facebook</li>
 <li><a href="http://www.facebook.com/serverworks" target="_blank">株式会社サーバーワークス</a></li>
 <li><a href="http://www.facebook.com/pages/Cloudworks/175918312443468" target="_blank">Cloudworks</a></li>

</ul>
<ul>
<li class="md"><img src="http://s3-ap-northeast-1.amazonaws.com/corporate-tech-blog-wp/wp-content/uploads/foot_t_twitter.png" border="0" />twitter</li>
 <li><a href="https://twitter.com/#!/serverworks" target="_blank">@serverworks</a></li>
 <li><a href="https://twitter.com/#!/cloudworks_jp" target="_blank">@cloudworks_jp</a></li>
</ul>
</div>
</div>
</div><!-- /#foot_nav -->

<!-- #Info //////////////// -->
<div id="Info">
<div class="icon_groupe">
<img src="http://s3-ap-northeast-1.amazonaws.com/corporate-tech-blog-wp/wp-content/uploads/foot_tel.gif" alt="導入のご相談・お問い合わせ：03-5579-8029 受付時間：10:00-19:00（土日祝日、お盆、GW、年末年始をのぞく）" width="260" height="59" class="foot_tel" title="導入のご相談・お問い合わせ：03-5579-8029 受付時間：10:00-19:00（土日祝日、お盆、GW、年末年始をのぞく）" /><a href="http://aws.amazon.com/jp/solutions/solution-providers-japan/#sp_serverworks" target="_blank"><img src="http://s3-ap-northeast-1.amazonaws.com/corporate-tech-blog-wp/wp-content/uploads/foot_aws.gif" alt="サーバーワークスは、AWSにSolution Provider として認定されたAWS専門のインテグレーターです。" title="サーバーワークスは、AWSにSolution Provider として認定されたAWS専門のインテグレーターです。" width="262" height="108" border="0" /></a> </div>
</div><!-- /#Info -->

</div><!-- /#foot_link -->
<div class="clear"></div>
<div id="cp">
<p class="copy">Copyright 2012 Serverworks Co, Ltd. All Rights Reserved.</p>
</div>
</div><!-- /#footer -->

</div><!-- /#container -->
    
				<!-- WP Evernote Site Memory -->
			<script type="text/javascript" src="http://175.41.251.6/tech/wp-content/plugins/wp-evernote-site-memory/js/noteit.js"></script>
			    
<!--【Google Analytics】 -->

<script type="text/javascript" src="http://apis.google.com/js/plusone.js">
  {lang: 'ja'}
</script>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-1745123-6");
pageTracker._trackPageview();
} catch(err) {}</script>
</body>
</html>
