tag:blogger.com,1999:blog-10258458013747804282024-02-19T21:57:22.899+09:00クラウドやろうぜ!クラウドを触ってとやかく言うエンジニアのブログtaka3110http://www.blogger.com/profile/04058645764439327338noreply@blogger.comBlogger28125tag:blogger.com,1999:blog-1025845801374780428.post-61106446739797944142018-06-27T19:18:00.002+09:002018-06-27T19:18:32.636+09:00IT放浪記~奄美大島編~今回は技術の話は一切なく日記です。<br />
<br />
本当は書こうか迷ったのですが、<br />
ただITインフラを触る人や事業者には、割と興味を持って欲しいなと。<br />
そうするには私が見てきた現状を発信する事が一番と思い書くことにしました。<br />
<br />
そもそもが私の個人的な事業目的で奄美大島に訪れた為、<br />
各アポ先にはもちろんblog掲載の許可を頂いていません。<br />
なので出どころや詳しい話、人間関係や思惑等は記載しません。<br />
ただ、聞いて回った話と私が感じた事を書こうと思います。<br />
<br />
前置きはこの辺にしまして。<br />
<br />
奄美大島に行ってきました。<br />
奄美大島のイメージって皆さんどんな感じでしょうか。<br />
<br />
私は調べるまでは沖縄の近くの島。というイメージしか持ってませんでした。<br />
ただ調べてみるとフリーランスや情報通信産業に市が力を入れている事がわかりました。<br />
行政がフリーランスや情報通信産業に力を入れる島というのも面白いなと。<br />
いてもたっても居られなくなり、実際に状況を確認しに行ったというのが今回の放浪記です。<br />
<br />
奄美大島のフリーランス施策や情報通信産業に関する施策ですが、<br />
<h3 class="r" style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 18px; font-weight: normal; margin: 0px; overflow: hidden; padding: 0px; text-overflow: ellipsis; white-space: nowrap;">
<a href="http://www.amami-freelance.com/" ping="/url?sa=t&source=web&rct=j&url=http://www.amami-freelance.com/&ved=0ahUKEwiVpsaowfPbAhWCzLwKHTdxANcQFghLMAA" style="color: #660099; cursor: pointer;">フリーランスが最も働きやすい島化計画</a></h3>
<div>
ここに解りやすく載っています。</div>
<div>
<br /></div>
<div>
面白そうという事と、丁度自分の事業計画にもマッチングしそうだった為、</div>
<div>
直ぐに飛行機を予約して、アポ取りをはじめました。</div>
<div>
で、実際に市役所にもアポを取って話を伺い、さらにICT施設も見学してきました。</div>
<div>
また、ITエンジニアの教育現場も拝見し、お話を伺いました。</div>
<div>
そしてさらに紹介を受けて地元の情報通信業の会社様にもお話を伺いました。</div>
<div>
<br /></div>
<div>
順を追って書いていきたいと思います。</div>
<div>
<br /></div>
<div>
まず市が行っているフリーランス施策ですが、厳密に言うとエンジニアは含まれていません。</div>
<div>
この施策の大元となるのは島の活性化であり、島の人たちがITを使って発信する事を目的としているそうです。</div>
<div>
例えば島の魅力等を伝えるライティング事業であったり、ハンドメイドをインターネットを使って売ってみたり、</div>
<div>
そういうフリーランスの方々となります。</div>
<div>
この施策はランサーズやGMOペパボ等の企業とタッグになって進めているそうです。</div>
<div>
バリバリのITエンジニアの方々も勿論OKですけども、市がやってるフリーランス施策とは一線を画するという事を、</div>
<div>
頭に入れておいて計画を練るのが良いと思います。</div>
<div>
私の計画とは残念ながらマッチングしませんでした。2020年以降の次のステップで考えてるそうです。</div>
<div>
フリーランス支援窓口があり、そこに相談をすると色々と相談に乗ってもらえます。</div>
<div>
ここでは移住に関する相談も乗ってもらえるので、ITエンジニアの方も勿論相談に乗ってもらえます。</div>
<div>
<br /></div>
<div>
ICT施設も見学しました。ICT施設は空港に近いところにあります。</div>
<div>
<a href="http://www.city.amami.lg.jp/shosui/kanko/sangyo/sogyo/ict-plaza.html" target="_blank">奄美市ICTプラザかさり</a></div>
<div>
カードキーによる入室管理と防犯ビデオも完備されており、管理人が常駐してます。</div>
<div>
入口、さらに各部屋にカードキーが設置されています。</div>
<div>
更にサーバールームもあります。ここは空調でコントロールされていました。</div>
<div>
ただ、ドアの結露がとても気になりました。</div>
<div>
素で置いておくよりかはよっぽど良いと思いますが、高価な機器はおけなさそうです。</div>
<div>
入居する為には奄美に移住する必要があります。</div>
<div>
空港から近い為、1か月に1度訪れる程度で借りようと考える人が結構居るそうですが、</div>
<div>
入居条件としては3/4以上は常駐する必要があるそうです。</div>
<div>
ただ、ここが難しいところなのですが、ICT施設があるのは笠利という地区です。</div>
<div>
奄美市の中心地は名瀬というところです。名瀬から笠利は車で40分くらいかかります。</div>
<div>
はっきり言って移住して通うには通い辛いです。何故あそこに作ってしまったんだろう。</div>
<div>
そう思わざるを得ない場所にあります。</div>
<div>
空港から近いというのは1つの利点なのですが。ただ入居のハードルが少し高いです。</div>
<div>
<div>
個人事業主でも借りれるそうなので、奄美に移住を考えているエンジニアは良いかもしれません。<br />
ハブは山に入ったり藪や農道を通らなければ見かける事も困難なレベルなのでご安心を。</div>
</div>
<div>
<br /></div>
<div>
で、実際に移住を考えた場合なのですが、</div>
<div>
正直、話を聞いた中での主観になりますが、地元にはエンジニアとしての仕事が殆ど無いと思います。</div>
<div>
地元の企業も多くは東京から仕事を持ってきています。そして協力しながら仕事をこなしています。</div>
<div>
外から仕事を持ってこれる人でないと厳しいです。<br />
<br />
通信環境は整っていますし、携帯の電波もDocomoならほぼ入ります。</div>
<div>
物価は平均して特に安くないです。家賃も名瀬なら鹿児島の中心地と変わらないです。</div>
<div>
空き家は結構あるそうですが、大家さんとの交渉もあり、あまり出回っていません。</div>
<div>
名瀬なら土着の不動産屋さんや市役所に相談して探した方が良いと思います。</div>
<div>
実際に見つけた空き家の近所の人に大家さんを聞いて直接交渉する位の気持ちが丁度良さそうです。</div>
<div>
<br />
さて、今回の旅で一番重要視していたのがITインフラへの知見だったのですが、<br />
そもそもエンジニアもプログラマーが主体なので、<br />
前述のICT施設のサーバールーム扱いからみてわかる通り、<br />
サーバーに関してはまだまだ知識が不足しています。<br />
更に離島あるあるといえばあるあるなのですが、まだまだ物理への信頼感があり、<br />
クラウドに関して疑問を持ってる方が多いです。<br />
なのでレンタルサーバーは普及していますが、クラウドは全く普及してません。<br />
クラウドインフラの普及は急務な気がします。これこそ施策にして欲しいくらいに。<br />
クラウドインフラを広めるようなイベントが開けたらと思いますが・・・<br />
手をあげてくれる事業者が居ると嬉しいです。<br />
<br /></div>
<div>
今回、観光という観光は殆ど出来なかったのですが、</div>
<div>
普段観光する人達が訪れないような場所に沢山立ち寄らせてもらえました。</div>
<div>
専門学校や開発センターなど、いろいろと伺わせてもらいました。</div>
<div>
島の人達はとても良い人ばかりで、そして皆さんとても自然を大事にしています。</div>
<div>
私は奄美大島がとても好きになりました。</div>
<div>
<br /></div>
<div>
もちろん夜は飲み明かしました。</div>
<div>
地元の方々にいろいろとお店を紹介してもらいながらハシゴ。</div>
<div>
とても楽しい夜でした。</div>
<div>
特にお世話になった屋仁川の心機一転の皆さん、Bar柊のマスターには感謝です。</div>
<div>
奄美大島に訪れた際には絶対にまた立ち寄ります。</div>
<div>
皆さんもとても楽しい素敵な旅になると思いますのでお勧めです。<br />
<br />
一応、海の写真置いておきます。こんな素敵な海が直ぐ近くにあります。</div>
<div>
<br /></div>
<div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtzY9bbJNY2fcooSFxEM_lmNOe2RrXGy2JiJ8SJtBaJWpqzAzLnt_IRNF1nr7Dl7H4tHS8alyB88Pu9HmcBVzvGdpC0eBehYBFpVSysyY8oTsF3nz0fYk4a6QDrZW1pOWvF_QzWe2pz9-x/s1600/IMG_2987.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="900" data-original-width="1200" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtzY9bbJNY2fcooSFxEM_lmNOe2RrXGy2JiJ8SJtBaJWpqzAzLnt_IRNF1nr7Dl7H4tHS8alyB88Pu9HmcBVzvGdpC0eBehYBFpVSysyY8oTsF3nz0fYk4a6QDrZW1pOWvF_QzWe2pz9-x/s320/IMG_2987.JPG" width="320" /></a></div>
<span id="goog_1010105548"></span><span id="goog_1010105549"></span><br /></div>
<div>
<br /></div>
<div>
奄美大島で東京に負けないような技術力を持ったインフラエンジニア集団が出来ればいいな。</div>
<div>
もしクラウド事業者が本気を出せば、近い将来、それは訪れるかもしれませんね。<br />
<br /></div>
<div>
それでは皆さん、良いクラウド構築を。</div>
taka3110http://www.blogger.com/profile/04058645764439327338noreply@blogger.com0tag:blogger.com,1999:blog-1025845801374780428.post-50167593804692638942018-05-26T02:05:00.001+09:002018-05-26T12:46:24.286+09:00CentOS5でphpのcurlからTLS1.2対応をさせる話PCIDSSの対応で各決済会社のTLS1.2縛りが始まりました。<br />
<br />
乗り遅れてしまった!! やばい!間もなくじゃない?<br />
的な話もチラホラ聞きます。<br />
<br />
phpで作られているシステムであれば、curl等を用いて決済情報に確認を<br />
しにいったりリクエストを投げたりしているところが多いのではないでしょうか。<br />
<br />
CentOS6以降であれば普通にyumで対応出来ちゃうのですが、<br />
CentOS5系ですとyumでは無理。<br />
proxyで逃げるという策もあるのですが、サーバーも立てられない環境だと、<br />
なかなか安易に逃げれない。<br />
という訳で、今回はphp-curlを更新して対応させちゃう話です。<br />
<br />
/usr/localにはソースインストールしているような形跡が無い前提で、<br />
php-5.3.19の環境を元に書いていますので、<br />
その辺は自身の環境と読み変えて下さい。<br />
<br />
<br />
全て最新を入れたいところなのですが、<br />
全て最新だとなかなかいろいろと問題が出るので、<br />
TLS1.2に対応出来ているという形で収めます。<br />
<br />
opensslをダウンロードします。<br />
<br />
wget --no-check-certificate https://www.openssl.org/source/old/1.0.1/openssl-1.0.1u.tar.gz<br />
tar xzvf openssl-1.0.1u.tar.gz<br />
cd openssl-1.0.1u<br />
<br />
既存環境を汚したくないのでprefixを指定してconfigureします。<br />
<br />
./config --prefix=/usr/local/openssl shared<br />
make<br />
make install<br />
<br />
完了です。<br />
<br />
次にcurlをインストールするのですが、opensslのlibを読み込めるように、<br />
ldconfigでpathを読めるように以下を追記しておきます。<br />
vi /etc/ld.so.conf<br />
---------<br />
/usr/local/openssl/lib<br />
---------<br />
ldconfig<br />
<br />
curlですがs3等で画像の存在確認をして表示をさせるようなシステムだと、<br />
最新のcurlでは--outputオプションをつけないとbinaryは表示出来ない為、<br />
エラーになるケースが見受けられました。<br />
<br />
以下は新しいcurlで実施していますが、エラーが出るようでしたら<br />
curlを7.19くらいに落とすと上手くいきます。<br />
ただ7.19をダウンロードするにも公式からTLSではじかれるので、<br />
7.58.0をインストールしてから<br />
curl -k curlのURL -o ファイル名<br />
でもいいと思います。<br />
ca情報が古い場合はpemファイルを上記と同じようにcurl -k でゲットして配置しなおします。<br />
詳しくはこちら。<br />
うまい棒ブログ(id:hogemさん)<br />
サーバのSSL CA(認証局)証明書が古くてcurl がエラーになる件<br />
http://hogem.hatenablog.com/entry/20120705/1340284071<br />
<br />
<br />
さて、続きやります。今回は7.58.0をゲットして入れます。<br />
今回も環境汚染しないようにcurlをprefix指定して別にインストールします。<br />
新しいsslを読み込んで作りたいので新しくインストールしたopensslディレクトリを指定します。<br />
<br />
wget --no-check-certificate https://execve.net/mirror/curl/curl-7.58.0.tar.gz<br />
tar xzvf curl-7.58.0.tar.gz<br />
cd curl-7.58.0<br />
./configure --prefix=/usr/local/curl --with-ssl=/usr/local/openssl<br />
make<br />
make install<br />
<br />
以下でバージョン確認するとopenssl-1.0.1uを参照しているのがわかると思います。<br />
/usr/local/curl/bin/curl --version<br />
<br />
新しくインストールしたcurlを元にphp-curlを作り直します。<br />
今回の環境はphp-5.3.19がyumでインストールしてあったので、同じバージョンをダウンロードします。<br />
切り戻せるように元からあるモジュールはバックアップしておきましょう。<br />
<br />
mv /usr/lib64/php/modules/curl.so /usr/lib64/php/modules/curl.so.old<br />
※32bit環境であればlib64をlibにして下さい。<br />
<br />
<br />
wget http://museum.php.net/php5/php-5.3.19.tar.gz<br />
tar xzf php-5.3.19.tar.gz<br />
cd php-5.3.19/ext/curl/<br />
phpize<br />
<br />
新しくインストールしたcurlをディレクトリとして指定します。<br />
./configure --with-curl=/usr/local/curl<br />
make<br />
make install<br />
<br />
これで完了です。<br />
php -i で確認するとcurlの参照opensslが1.0.1の新しいものに<br />
なっていると思います。<br />
<br />
以下のようなテストスクリプトでphpの実行ファイルを作成し、<br />
実行した際にページの情報が表示されればokです。<br />
<br />
-----------------------------------<br />
<?php<br />
$url = "対象サイトのURL";<br />
$ch = curl_init();<br />
<br />
curl_setopt($ch, CURLOPT_URL, $url);<br />
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);<br />
$html = curl_exec($ch);<br />
var_dump($html);<br />
curl_close($ch);<br />
-----------------------------------<br />
<br />
意図しない表示崩れ等を起こすと困るので、<br />
apacheを再起動(gracefulやreloadでもok)して表示を確認しましょう。<br />
<br />
今回はcurlでしたが他のphpモジュールで対応したい場合でも、<br />
そのモジュールが参照するパッケージを新しくソースインストールして、<br />
新しい方を参照する形で作り直せば通ると思います。<br />
<br />
同じようにCentOS5のgitのsshやcurlでハマッてる人をよく見かけますが、<br />
上記と同じようにopensslを元にsshやcurlを作れば大丈夫です。<br />
<br />
ここまで書いといてあれですけど、<br />
既に陳腐化しているシステムを無理くりやっているだけなので、<br />
本来であればCentOS7に移行するのが筋です。<br />
<br />
あくまでワークアラウンドでお考え下さい。<br />
<br />
※ここに書いてある内容は一般的な対応方法では無いので<br />
くれぐれも実施後は確認を怠らず注意の上、自己責任でお願いします。<br />
<br />
<br />
それでは、よいクラウド構築を。taka3110http://www.blogger.com/profile/04058645764439327338noreply@blogger.com2tag:blogger.com,1999:blog-1025845801374780428.post-85001240686642645772017-12-23T00:00:00.000+09:002017-12-24T22:44:01.524+09:00IDCFクラウドで追加ネットワークに仮想マシン作成時からIPを指定する※<a href="https://qiita.com/advent-calendar/2017/idcfcloud">IDCF Cloud Advent Calendar 2017</a> に参加してます。<br />
<br />
気付いたら1年ぶりの投稿でした。<br />
ブログって意識してないとホント書きませんね。<br />
という訳で、アドベントカレンダーがあったので書くきっかけにしてみました。<br />
<br />
IDCFクラウドで追加ネットワークって仮想マシン作成時に、<br />
コントロールパネルからIP指定して起動出来ないんですよね。<br />
・追加ネットワークだけ使いたい(裏側のDBとか)<br />
・プライベートネットワークと接続している<br />
・別途マネージドFW/LBを契約している<br />
とかとか。そんな時に超不便。<br />
なのでcloudstack-apiを使用してさくっとIP指定して作ってしまいます。<br />
<br />
cloudstack-apiのインストール方法は下記。<br />
<a href="http://docs.idcf.jp/cloud/introduction/#install">http://docs.idcf.jp/cloud/introduction/#install</a><br />
ちなみに、上記のマニュアルは一部古くて、curlは以下が正解です。<br />
<pre class="prettyprint">curl -kL https://bootstrap.pypa.io/get-pip.py | python</pre>
<br />
2018年2月には現在ベータ版のidcfcloud-apiの仮想マシン機能がリリース予定らしいので、<br />
その時はidcfcloud-apiに書き換えちゃいましょうね。<br />
それまでの間って短いなーって感じですが、短い間でも楽しなきゃ損なので。<br />
<br />
基本形はこれ。 <br />
<pre class="prettyprint">/usr/bin/cloudstack-api deployVirtualMachine \
--serviceofferingid $SERVICEOFFERINGID \
--templateid $TEMPLATEID \
--zoneid $ZONEID \
--group $GROUP \
--keypair $KEYPAIR \
--name $NAME \
--networkids $NETWORKIDS \
--ipaddress $IPADDR</pre>
<br />
順を追って確認しましょう。<br />
先ずは serviceofferingidですが、仮想マシンのタイプです。<br />
以下コマンドで起動したい仮想マシンのタイプのidをメモ。<br />
<pre class="prettyprint">cloudstack-api listServiceOfferings -t name,id
</pre>
<br />
templateidも同じように以下コマンドで起動したいテンプレートのidをメモ。<br />
※セルフテンプレートの場合は以下。公式のを使う人は templatefilterをselfからfeaturedに変更<br />
<pre class="prettyprint">cloudstack-api listTemplates --templatefilter self -t displaytext,id,name,ostypename,status,zonename
</pre>
<br />
次はzoneidを確認。<br />
<pre class="prettyprint">cloudstack-api listZones -t name,id
</pre>
<br />
<br />
groupを確認。<br />
※新しく指定する場合は必要なし。<br />
<pre class="prettyprint">cloudstack-api listInstanceGroups -t name
</pre>
<br />
<br />
keypairを確認。<br />
※指定するときは名前。finger printは確認の意味で。<br />
<pre class="prettyprint">cloudstack-api listSSHKeyPairs -t name,fingerprint
</pre>
<br />
<br />
networkidを確認。<br />
<pre class="prettyprint">cloudstack-api listNetworks -t name,id,cidr
</pre>
<br />
上記コマンドで確認した内容を前述の以下コマンドで流せば作成できます。<br />
$NAMEの部分は作成したい仮想マシンの名前。<br />
$IPADDRの部分は指定したいIPアドレスを代入してください。 <br />
<pre class="prettyprint">/usr/bin/cloudstack-api deployVirtualMachine \
--serviceofferingid $SERVICEOFFERINGID \
--templateid $TEMPLATEID \
--zoneid $ZONEID \
--group $GROUP \
--keypair $KEYPAIR \
--name $NAME \
--networkids $NETWORKIDS \
--ipaddress $IPADDR</pre>
<br />
ちなみにnetworkidsは複数指定可能なので、仮想ルーターのデフォルトNWと追加NWを両方出来ます。<br />
<br />
これをshellとかにして引数にIPアドレスと名前を指定出来るようにしておけば、<br />
オートスケールに使ったり出来るし、結構万能に使えます。<br />
<br />
「なんで追加ネットワークのIP指定出来ないんだよ!」<br />
って発狂気味の皆さんはぜひお試しください。<br />
<br />
それではよいクラウド構築を。taka3110http://www.blogger.com/profile/04058645764439327338noreply@blogger.com0tag:blogger.com,1999:blog-1025845801374780428.post-75934679603136797402016-12-19T00:40:00.002+09:002017-01-19T12:38:50.353+09:00IDCFクラウドでゾーンを移設するメリットと方法※本記事は<a href="http://qiita.com/advent-calendar/2016/idcfcloud" target="_blank">IDCF Cloud Advent Calendar 2016</a>に寄稿しています。<br />
<br />
どうも。どんことtaka3110です。<br />
<a href="http://cloudyarouze.blogspot.jp/2016/12/idcf.html" target="_blank">前回はゾーン別のスペックについて</a>書いてみました。<br />
今回はゾーン移設を実際にやってみます。<br />
手順を書いた長い記事ですので、面白いことは書いてません。あしからず。。<br />
<div>
<br /></div>
メリットについては<a href="http://cloudyarouze.blogspot.jp/2016/12/idcf.html" target="_blank">前回のブログ</a>で書いた通り、<br />
スペックが違う為、初期のゾーンから移設するという選択だけで、<br />
性能アップが見込めます。<br />
<br />
今回、wordpressとメール的な環境を想定してみました。<br />
移設元は「メールサーバー + Webサーバー」(Web+DB)という内容です。<br />
<br />
前提としては、<br />
----<br />
移設元環境<br />
・IDCF提供のテンプレートを使用して構築されている<br />
・仮想ルーターIPを使用している<br />
・Webサーバーとメールサーバーに使用している<br />
----<br />
としています。<br />
<br />
やり方はいくつかあります。<br />
このブログでも紹介しましたが、rsyncでOSより上をまるっと移設する方法や、<br />
1から構築してデータのみを移設する方法もあります。<br />
<br />
今回はテンプレートファイルを作成し、それをリージョン移設して構築したいと思います。<br />
今回はteslaから東日本2のluxに移設します。<br />
<br />
極力ダウンタイムを減らしたいので、<br />
Webについてはsorryサーバーを表示させ、メールはセカンダリを指定してみます。<br />
今回の記事でもsorryサーバーとセカンダリメールサーバーの構築をしたいと思います。<br />
移設前にはスムーズに作業、確認を行うためにDNSのTTLを下げておきましょう。<br />
最低でも600以下にしておく事をお勧めします。<br />
<br />
セカンダリメールサーバーを作成してそちらに向けるメリットとしては、<br />
こちら側の意図でメールの再配信が出来るところにあります。<br />
メールサーバーへの疎通ができない場合、送信元がリトライを行います。<br />
リトライの回数、秒数については送信元によって違います。<br />
セカンダリメールサーバーを用意しておくと、送信元はメール送信を完了し、<br />
セカンダリメールサーバーで再送処理をする形になります。<br />
作業完了後にセカンダリメールサーバーで再送処理をする事で、<br />
移設後直ぐにメールサーバーを落としていた間のメールが届く形になります。<br />
常時運用ではなく、今回はスポット的に使用しますが、とても簡単に構築出来ます。<br />
なお、サービスを停止してからテンプレートを取得する手順を踏む為、<br />
送信だけ行っている環境であればセカンダリメールサーバーの構築は今回必要ありません。<br />
<br />
セカンダリメールサーバの構築時にluxのIPを使用するので、<br />
移設元がIPを取得しているならば、先にIPの取得をしておきましょう。<br />
(この記事では仮想ルーターのIPを使用します。)<br />
また、ポートフォワードの設定も移設しておきましょう。<br />
<br />
今回の流れ<br />
0.移設先のIP取得とポートフォワードの設定<br />
1.sorryサーバーとセカンダリメールサーバーの構築<br />
2.DNSの登録とポートフォワードの設定変更<br />
3.スナップショット、テンプレートの作成<br />
4.テンプレートの移設<br />
5.テンプレートから構築<br />
6.移設後の確認<br />
7.DNSの変更<br />
8.セカンダリメールサーバーの再配送<br />
9.後片付け<br />
大体、15GBであれば1時間程度で完了する作業です。<br />
<br />
先ずはsorryサーバー+セカンダリメールサーバーを作ります。<br />
移設元の同じゾーンに仮想マシンを立ち上げます。<br />
今回はCentOS6.8を選択して構築したいと思います。<br />
<br />
仮想マシンが立ち上がったらIPアドレスを取得します。<br />
IPアドレスを取得したら今回立ち上げた仮想マシンにNATの紐づけをします。<br />
NATの紐づけはNATボタンから対象サーバーを選択して有効化するだけです。<br />
この対応で全てのポートがNAT設定した対象サーバーに向けられます。<br />
(もちろんポートフォワードでも構いません)<br />
<br />
FWにはsorryサーバーとセカンダリメールサーバー用の許可設定を追加します。<br />
先ずはsshのport22をMyIP等、作業環境から許可し、<br />
httpのport80、smtpのport25をAny(0.0.0.0/0)で許可します。<br />
(httpsのアクセスが必要な場合は443も許可しましょう)<br />
<br />
上記まで完了したらsshでサーバーにログインしましょう。<br />
<br />
Webサーバーを構築します。<br />
<pre class="prettyprint">
# yum -y install httpd
# /etc/init.d/httpd start
</pre>
<br />
下記にsorryページを配置しましょう。<br />
/var/www/html/index.html<br />
<br />
この状態で"http://取得したIPアドレス/"にアクセスして、<br />
sorryページが表示されればOKです。<br />
<br />
次にセカンダリメールサーバーを作成します。<br />
既にpostfixはインストール済みになっているので、設定変更のみ行います。<br />
<pre class="prettyprint">
# vi /etc/postfix/main.cf
----
以下をlocalhostからallへ変更
----
inet_interfaces = all
----
最終行に以下を追記
----
transport_maps = hash:/etc/postfix/transport
relay_domains = ドメイン名
----
</pre>
<br />
<pre class="prettyprint">
# vi /etc/postfix/transport
以下を追記
----
ドメイン名 smtp:移設先サーバーのIP
----
</pre>
例)ドメイン名がtest.orgで移設先サーバーが210.140.171.1だった場合<br />
test.org smtp:210.140.171.1<br />
<br />
設定を反映します。<br />
<pre class="prettyprint">
# postmap /etc/postfix/transport
# /etc/init.d/postfix restart
</pre>
<br />
以上でsorryサーバーとセカンダリメールサーバの構築は完了です。<br />
<br />
次にセカンダリメールサーバー用にDNSを設定しましょう。<br />
今回取得したsorryサーバー用のIPアドレスをAレコードで指定します。<br />
mail2等、解りやすい名前で構いません。<br />
次にMXレコードを今のものよりも大きい優先度で設定します。<br />
例)今が10であればセカンダリは20<br />
<br />
これでDNSが浸透すればセカンダリメールサーバの設定は完了です。<br />
<br />
<br />
ここからは移設の作業になります。<br />
ダウンタイムにある程度の許容があれば、データの不整合等もなくなるので、<br />
この時点でsorryサーバーに切り替えてしまいましょう。<br />
ダウンタイムに許容が無い場合は、sorryサーバーへの切り替えは最後に行い、<br />
DNSの浸透を待って新しいサーバーへ同期を行いましょう。<br />
<br />
今回はこの時点でsorryサーバーに切り替えを行う手順を取ります。<br />
この記事ではhttp、httpsをsorryサーバーに切り替えます。<br />
既存のサーバーのポートフォワードを一旦削除し、sorryサーバーへ向けます。<br />
※既存のサーバーがNATでしたら別のIPを取得し、ポートフォワードで設定をし、<br />
そちらにDNSを向けて対応しましょう。<br />
<br />
移設元サーバーにログインします。<br />
既にサービスはsorryサーバーの方を向いている事を確認し、<br />
各サービスを止めます。<br />
<pre class="prettyprint">
# /etc/init.d/httpd stop
# /etc/init.d/mysqld stop
# /etc/init.d/postfix stop
</pre>
<br />
ここからサーバーをコピーする作業を行います。<br />
テンプレートを作成する前にnetwork deviceの情報を削除します。<br />
<pre class="prettyprint">
# rm -f /etc/udev/rules.d/70-persistent-net.rules
</pre>
また、Disk追加をしている場合は、fstabで追加Diskの行をコメントアウトしておきます。<br />
<br />
上記が完了したらスナップショットを取得します。<br />
スナップショットは<br />
仮想マシン⇒(対象の仮想マシン名)⇒ボリューム⇒右下のボリューム操作へをクリック<br />
表示されるボリューム名をクリックし、スナップショット⇒スナップショット作成で取得できます。<br />
<br />
スナップショットが取得出来たら、スナップショットを確認します。<br />
ステータスがBackedUpになっていればスナップショットの取得完了です。<br />
スナップショットからテンプレート作成をクリックします。<br />
テンプレート名やOSタイプを選択し、作成するをクリックします。<br />
<br />
作成できたテンプレートをエクスポートします。<br />
テンプレートから作成したテンプレートをクリックし、エクスポートをクリックします。<br />
URLを発行するボタンが表示されるのでクリックします。<br />
※生成中の間は他のページ等に遷移しないように注意してください。<br />
<br />
テンプレートのURLが表示されるのでテキスト等にコピーをしておきます。<br />
<br />
ここまで出来たら移設先の東日本2にページを切り替えます。<br />
<br />
コンピューティングのテンプレートからテンプレート作成ボタンをクリックします。<br />
テンプレート名~OSタイプまでを入力します。フォーマット以下は特に変更は不要です。<br />
URLは先ほどコピーしたURLのhttpsの部分をhttpにして貼り付けます。<br />
全て入力したらテンプレートを作成するボタンでテンプレートを作成します。<br />
<br />
上記テンプレートを使用して仮想マシンを作成します。<br />
今回の記事ではセカンダリメールで転送先指定をしているluxを指定しているので、<br />
ゾーンはluxを使用します。<br />
また、SSH keyは元のサーバーと同じものを使用します。<br />
アップロードをクリックし、移設元サーバーで以下で表示される内容をコピーしましょう。<br />
<pre class="prettyprint">
# cat /root/.ssh/authorized_keys
</pre>
<br />
上記入力が完了したら仮想マシンを作成します。<br />
<br />
仮想マシンにログイン出来る事を確認したら、<br />
立ち上がっていないサービスが無いか確認しましょう。<br />
<br />
※ログイン出来ないという時は、udevのルールが残っている可能性があります。<br />
コンソールからログインして削除をしてrebootしましょう。<br />
<br />
これでサーバー側は完了です。<br />
<br />
最後にDNSを新しいサーバーへ向けなおします。<br />
<br />
DNSが浸透をした事を確認したら、sorryサーバーにログインし、<br />
postfixの溜まったデータを再配送します。<br />
<br />
<pre class="prettyprint">
# postfix flush
</pre>
<br />
以下コマンドでqueueが空になっている事を確認しましょう。<br />
<pre class="prettyprint">
# postqueue -p
Mail queue is empty
</pre>
<br />
上記が完了したら、sorryサーバーは削除してしまいましょう。<br />
旧サーバーも停止してしまいましょう。<br />
データについては何かあった際に使う可能性がありますので、<br />
念のため2~3日についてはサーバーはそのまま残しておく事をお勧めします。<br />
<br />
以上で移設完了です。お疲れ様でした。<br />
<br />
さて、画像等を使わないで文字だけでつらつらと書いてしまい、<br />
解りづらい部分もあったかと思います。<br />
こんなところにハマった。とか、こういうのはどうやってやるの?<br />
質問等があればご連絡ください。<br />
また、<a href="https://idcfcloudug.doorkeeper.jp/" target="_blank">ユーザー会</a>もありますので、ぜひ参加して聞いてみて下さい。<br />
<br />
それでは、よいクラウド構築を。taka3110http://www.blogger.com/profile/04058645764439327338noreply@blogger.com0tag:blogger.com,1999:blog-1025845801374780428.post-13334050901372443832016-12-04T04:13:00.002+09:002016-12-04T04:23:13.253+09:00IDCFクラウドのゾーンから見る性能強化と進化※本記事は<a href="http://qiita.com/advent-calendar/2016/idcfcloud" target="_blank">IDCF Cloud Advent Calendar 2016 Advent Calendar 2016</a>に寄稿しています。<br />
<br />
どうも。どんことtaka3110です。<br />
<br />
今回は久しぶりにIDCFクラウドについてです。<br />
東日本に新しいリージョンがリリースされました。<br />
これでリージョンは3個、ゾーンは10個となった訳ですが、<br />
どれを使っても同じという訳ではありません。<br />
という訳で、今回はゾーンについて振り返りながら性能を考えてみたいと思います。<br />
<br />
まずはどんなゾーンがあるのか。<br />
<br />
<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 260px;">
<colgroup><col style="mso-width-alt: 896; mso-width-source: userset; width: 21pt;" width="28"></col>
<col style="width: 54pt;" width="72"></col>
<col style="mso-width-alt: 2816; mso-width-source: userset; width: 66pt;" width="88"></col>
<col style="width: 54pt;" width="72"></col>
</colgroup><tbody>
<tr height="25" style="height: 18.75pt;">
<td class="xl65" height="25" style="height: 18.75pt; width: 21pt;" width="28"> </td>
<td class="xl65" style="border-left: none; width: 54pt;" width="72">ゾーン</td>
<td class="xl65" style="border-left: none; width: 66pt;" width="88">リージョン</td>
<td class="xl66" style="border-left: none; width: 54pt;" width="72">リリース</td>
</tr>
<tr height="25" style="height: 18.75pt;">
<td align="right" class="xl65" height="25" style="border-top: none; height: 18.75pt;">1</td>
<td class="xl65" style="border-left: none; border-top: none;">tesla※</td>
<td class="xl65" style="border-left: none; border-top: none;">東日本</td>
<td class="xl66" style="border-left: none; border-top: none;">2014/10</td>
</tr>
<tr height="25" style="height: 18.75pt;">
<td align="right" class="xl65" height="25" style="border-top: none; height: 18.75pt;">2</td>
<td class="xl65" style="border-left: none; border-top: none;">pascal</td>
<td class="xl65" style="border-left: none; border-top: none;">東日本</td>
<td class="xl66" style="border-left: none; border-top: none;">2015/4</td>
</tr>
<tr height="25" style="height: 18.75pt;">
<td align="right" class="xl65" height="25" style="border-top: none; height: 18.75pt;">3</td>
<td class="xl65" style="border-left: none; border-top: none;">henry</td>
<td class="xl65" style="border-left: none; border-top: none;">東日本</td>
<td class="xl66" style="border-left: none; border-top: none;">2015/6</td>
</tr>
<tr height="25" style="height: 18.75pt;">
<td align="right" class="xl65" height="25" style="border-top: none; height: 18.75pt;">4</td>
<td class="xl65" style="border-left: none; border-top: none;">joule</td>
<td class="xl65" style="border-left: none; border-top: none;">東日本</td>
<td class="xl66" style="border-left: none; border-top: none;">2015/10</td>
</tr>
<tr height="25" style="height: 18.75pt;">
<td align="right" class="xl65" height="25" style="border-top: none; height: 18.75pt;">5</td>
<td class="xl65" style="border-left: none; border-top: none;">augusta</td>
<td class="xl65" style="border-left: none; border-top: none;">西日本</td>
<td class="xl66" style="border-left: none; border-top: none;">2015/11</td>
</tr>
<tr height="25" style="height: 18.75pt;">
<td align="right" class="xl65" height="25" style="border-top: none; height: 18.75pt;">6</td>
<td class="xl65" style="border-left: none; border-top: none;">radian※</td>
<td class="xl65" style="border-left: none; border-top: none;">東日本</td>
<td class="xl66" style="border-left: none; border-top: none;">2016/3</td>
</tr>
<tr height="25" style="height: 18.75pt;">
<td align="right" class="xl65" height="25" style="border-top: none; height: 18.75pt;">7</td>
<td class="xl65" style="border-left: none; border-top: none;">newton</td>
<td class="xl65" style="border-left: none; border-top: none;">東日本</td>
<td class="xl66" style="border-left: none; border-top: none;">2016/7</td>
</tr>
<tr height="25" style="height: 18.75pt;">
<td align="right" class="xl65" height="25" style="border-top: none; height: 18.75pt;">8</td>
<td class="xl65" style="border-left: none; border-top: none;">monstera</td>
<td class="xl65" style="border-left: none; border-top: none;">西日本</td>
<td class="xl66" style="border-left: none; border-top: none;">2016/8</td>
</tr>
<tr height="25" style="height: 18.75pt;">
<td align="right" class="xl65" height="25" style="border-top: none; height: 18.75pt;">9</td>
<td class="xl65" style="border-left: none; border-top: none;">weber</td>
<td class="xl65" style="border-left: none; border-top: none;">東日本2</td>
<td class="xl66" style="border-left: none; border-top: none;">2016/11</td>
</tr>
<tr height="25" style="height: 18.75pt;">
<td align="right" class="xl65" height="25" style="border-top: none; height: 18.75pt;">10</td>
<td class="xl65" style="border-left: none; border-top: none;">lux</td>
<td class="xl65" style="border-left: none; border-top: none;">東日本2</td>
<td class="xl66" style="border-left: none; border-top: none;">2016/11</td>
</tr>
</tbody></table>
<br />
<div>
<span style="font-size: x-small;">※は現在新規アカウントでは追加不可能のようです。</span><br />
<br />
約2年で10なので、2.4か月に1ゾーンという形で増えています。<br />
割と良いスピードで増えていますね。<br />
<br />
2015年11月のaugusta以降は全てオールフラッシュディスクでの提供となっています。<br />
(西日本、東日本2はオールフラッシュリージョン)<br />
したがって、Disk性能がaugustaから飛躍的に上がっています。<br />
<br />
性能だけが違うのかというと使えるサービスにも違いがあります。<br />
例えばGPUインスタンスを立ち上げるには現在は東日本2になります。<br />
<br />
ゾーン別の対応インスタンス<br />
<br />
<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 317px;">
<colgroup><col style="mso-width-alt: 896; mso-width-source: userset; width: 21pt;" width="28"></col>
<col style="width: 54pt;" width="72"></col>
<col style="mso-width-alt: 4640; mso-width-source: userset; width: 109pt;" width="145"></col>
<col style="width: 54pt;" width="72"></col>
</colgroup><tbody>
<tr height="25" style="height: 18.75pt;">
<td class="xl65" height="25" style="height: 18.75pt; width: 21pt;" width="28"> </td>
<td class="xl65" style="border-left: none; width: 54pt;" width="72">ゾーン</td>
<td class="xl65" style="border-left: none; width: 109pt;" width="145">HighIO</td>
<td class="xl65" style="border-left: none; width: 54pt;" width="72">GPU</td>
</tr>
<tr height="25" style="height: 18.75pt;">
<td align="right" class="xl65" height="25" style="border-top: none; height: 18.75pt;">1</td>
<td class="xl65" style="border-left: none; border-top: none;">tesla※</td>
<td class="xl65" style="border-left: none; border-top: none;">highio.5XL128のみ</td>
<td class="xl65" style="border-left: none; border-top: none;">非対応</td>
</tr>
<tr height="25" style="height: 18.75pt;">
<td align="right" class="xl65" height="25" style="border-top: none; height: 18.75pt;">2</td>
<td class="xl65" style="border-left: none; border-top: none;">pascal</td>
<td class="xl65" style="border-left: none; border-top: none;">全て可</td>
<td class="xl65" style="border-left: none; border-top: none;">非対応</td>
</tr>
<tr height="25" style="height: 18.75pt;">
<td align="right" class="xl65" height="25" style="border-top: none; height: 18.75pt;">3</td>
<td class="xl65" style="border-left: none; border-top: none;">henry</td>
<td class="xl65" style="border-left: none; border-top: none;">highio.5XL128のみ</td>
<td class="xl65" style="border-left: none; border-top: none;">非対応</td>
</tr>
<tr height="25" style="height: 18.75pt;">
<td align="right" class="xl65" height="25" style="border-top: none; height: 18.75pt;">4</td>
<td class="xl65" style="border-left: none; border-top: none;">joule</td>
<td class="xl65" style="border-left: none; border-top: none;">全て可</td>
<td class="xl65" style="border-left: none; border-top: none;">非対応</td>
</tr>
<tr height="25" style="height: 18.75pt;">
<td align="right" class="xl65" height="25" style="border-top: none; height: 18.75pt;">5</td>
<td class="xl65" style="border-left: none; border-top: none;">augusta</td>
<td class="xl65" style="border-left: none; border-top: none;">全て可</td>
<td class="xl65" style="border-left: none; border-top: none;">非対応</td>
</tr>
<tr height="25" style="height: 18.75pt;">
<td align="right" class="xl65" height="25" style="border-top: none; height: 18.75pt;">6</td>
<td class="xl65" style="border-left: none; border-top: none;">radian※</td>
<td class="xl65" style="border-left: none; border-top: none;">全て可</td>
<td class="xl65" style="border-left: none; border-top: none;">非対応</td>
</tr>
<tr height="25" style="height: 18.75pt;">
<td align="right" class="xl65" height="25" style="border-top: none; height: 18.75pt;">7</td>
<td class="xl65" style="border-left: none; border-top: none;">newton</td>
<td class="xl65" style="border-left: none; border-top: none;">全て可</td>
<td class="xl65" style="border-left: none; border-top: none;">非対応</td>
</tr>
<tr height="25" style="height: 18.75pt;">
<td align="right" class="xl65" height="25" style="border-top: none; height: 18.75pt;">8</td>
<td class="xl65" style="border-left: none; border-top: none;">monstera</td>
<td class="xl65" style="border-left: none; border-top: none;">全て可</td>
<td class="xl65" style="border-left: none; border-top: none;">非対応</td>
</tr>
<tr height="25" style="height: 18.75pt;">
<td align="right" class="xl65" height="25" style="border-top: none; height: 18.75pt;">9</td>
<td class="xl65" style="border-left: none; border-top: none;">weber</td>
<td class="xl65" style="border-left: none; border-top: none;">highio.3XL128のみ</td>
<td class="xl65" style="border-left: none; border-top: none;">対応</td>
</tr>
<tr height="25" style="height: 18.75pt;">
<td align="right" class="xl65" height="25" style="border-top: none; height: 18.75pt;">10</td>
<td class="xl65" style="border-left: none; border-top: none;">lux</td>
<td class="xl65" style="border-left: none; border-top: none;">highio.3XL128のみ</td>
<td class="xl65" style="border-left: none; border-top: none;">対応</td>
</tr>
</tbody></table>
<br />
<br />
HighIOインスタンスに一部違いがあります。<br />
また、GPUインスタンスは現在(2016/12/03現在)は東日本2リージョンのみの対応です。<br />
<br />
ゾーンで違うのはこれだけではありません。<br />
CPUの型も違います。newton以降から新しいCPUを搭載したマシンになっています。<br />
light.S1は以下のようになっています。(タイプによってCPUが変わる場合があります。)<br />
<br />
<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 454px;">
<colgroup><col style="mso-width-alt: 896; mso-width-source: userset; width: 21pt;" width="28"></col>
<col style="width: 54pt;" width="72"></col>
<col style="mso-width-alt: 11328; mso-width-source: userset; width: 266pt;" width="354"></col>
</colgroup><tbody>
<tr height="25" style="height: 18.75pt;">
<td class="xl65" height="25" style="height: 18.75pt; width: 21pt;" width="28"> </td>
<td class="xl65" style="border-left: none; width: 54pt;" width="72">ゾーン</td>
<td class="xl65" style="border-left: none; width: 266pt;" width="354">CPU</td>
</tr>
<tr height="25" style="height: 18.75pt;">
<td align="right" class="xl65" height="25" style="border-top: none; height: 18.75pt;">1</td>
<td class="xl65" style="border-left: none; border-top: none;">tesla※</td>
<td class="xl66" style="border-left: none; border-top: none; width: 266pt;" width="354">Intel(R)
Xeon(R) CPU E5-2680 v2 @ 2.80GHz</td>
</tr>
<tr height="25" style="height: 18.75pt;">
<td align="right" class="xl65" height="25" style="border-top: none; height: 18.75pt;">2</td>
<td class="xl65" style="border-left: none; border-top: none;">pascal</td>
<td class="xl66" style="border-left: none; border-top: none; width: 266pt;" width="354">Intel(R)
Xeon(R) CPU E5-2680 v2 @ 2.80GHz</td>
</tr>
<tr height="25" style="height: 18.75pt;">
<td align="right" class="xl65" height="25" style="border-top: none; height: 18.75pt;">3</td>
<td class="xl65" style="border-left: none; border-top: none;">henry</td>
<td class="xl66" style="border-left: none; border-top: none; width: 266pt;" width="354">Intel(R)
Xeon(R) CPU E5-2680 v2 @ 2.80GHz</td>
</tr>
<tr height="25" style="height: 18.75pt;">
<td align="right" class="xl65" height="25" style="border-top: none; height: 18.75pt;">4</td>
<td class="xl65" style="border-left: none; border-top: none;">joule</td>
<td class="xl66" style="border-left: none; border-top: none; width: 266pt;" width="354">Intel(R)
Xeon(R) CPU E5-2680 v2 @ 2.80GHz</td>
</tr>
<tr height="25" style="height: 18.75pt;">
<td align="right" class="xl65" height="25" style="border-top: none; height: 18.75pt;">5</td>
<td class="xl65" style="border-left: none; border-top: none;">augusta</td>
<td class="xl66" style="border-left: none; border-top: none; width: 266pt;" width="354">Intel(R)
Xeon(R) CPU E5-2680 v2 @ 2.80GHz</td>
</tr>
<tr height="25" style="height: 18.75pt;">
<td align="right" class="xl65" height="25" style="border-top: none; height: 18.75pt;">6</td>
<td class="xl65" style="border-left: none; border-top: none;">radian※</td>
<td class="xl66" style="border-left: none; border-top: none; width: 266pt;" width="354">Intel(R)
Xeon(R) CPU E5-2680 v2 @ 2.80GHz</td>
</tr>
<tr height="25" style="height: 18.75pt;">
<td align="right" class="xl65" height="25" style="border-top: none; height: 18.75pt;">7</td>
<td class="xl65" style="border-left: none; border-top: none;">newton</td>
<td class="xl66" style="border-left: none; border-top: none; width: 266pt;" width="354"><span style="color: red;">Intel(R)
Xeon(R) CPU E5-2697A v4 @ 2.60GHz</span></td>
</tr>
<tr height="25" style="height: 18.75pt;">
<td align="right" class="xl65" height="25" style="border-top: none; height: 18.75pt;">8</td>
<td class="xl65" style="border-left: none; border-top: none;">monstera</td>
<td class="xl66" style="border-left: none; border-top: none; width: 266pt;" width="354"><span style="color: red;">Intel(R)
Xeon(R) CPU E5-2697A v4 @ 2.60GHz</span></td>
</tr>
<tr height="25" style="height: 18.75pt;">
<td align="right" class="xl65" height="25" style="border-top: none; height: 18.75pt;">9</td>
<td class="xl65" style="border-left: none; border-top: none;">weber</td>
<td class="xl66" style="border-left: none; border-top: none; width: 266pt;" width="354"><span style="color: red;">Intel(R)
Xeon(R) CPU E5-2697A v4 @ 2.60GHz</span></td>
</tr>
<tr height="25" style="height: 18.75pt;">
<td align="right" class="xl65" height="25" style="border-top: none; height: 18.75pt;">10</td>
<td class="xl65" style="border-left: none; border-top: none;">lux</td>
<td class="xl65" style="border-left: none; border-top: none;"><span style="color: red;">Intel(R) Xeon(R) CPU
E5-2697A v4 @ 2.60GHz</span></td>
</tr>
</tbody></table>
<br />
ここまで見てお分かり頂いたかと思いますが、<br />
augusta以降からフラッシュディスクになり、newton以降からCPUが新しい型になっている為、<br />
<b>初期のゾーンと一番新しいゾーンでは、かなりの性能差が出ます</b>。<br />
勿論、値段が変わらないので<b>新しいzoneを使った方が断然コストパフォーマンスが高く</b>なります。<br />
<br />
<br />
言葉よりも数値で見た方が解りやすいと思います。<br />
light.S1で全ゾーンをhdparmで比較するとこうなります。<br />
<br />
<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 393px;">
<colgroup><col style="mso-width-alt: 896; mso-width-source: userset; width: 21pt;" width="28"></col>
<col style="width: 54pt;" width="72"></col>
<col style="mso-width-alt: 4512; mso-width-source: userset; width: 106pt;" width="141"></col>
<col style="mso-width-alt: 4864; mso-width-source: userset; width: 114pt;" width="152"></col>
</colgroup><tbody>
<tr height="25" style="height: 18.75pt;">
<td class="xl65" height="25" style="height: 18.75pt; width: 21pt;" width="28"> </td>
<td class="xl65" style="border-left: none; width: 54pt;" width="72">ゾーン</td>
<td class="xl65" style="border-left: none; width: 106pt;" width="141">cached reads</td>
<td class="xl65" style="border-left: none; width: 114pt;" width="152">buffered disk
reads</td>
</tr>
<tr height="25" style="height: 18.75pt;">
<td align="right" class="xl65" height="25" style="border-top: none; height: 18.75pt;">1</td>
<td class="xl65" style="border-left: none; border-top: none;">tesla※</td>
<td class="xl65" style="border-left: none; border-top: none;">8706.18 MB/sec</td>
<td class="xl66" style="border-left: none; border-top: none; width: 114pt;" width="152">275.83
MB/sec</td>
</tr>
<tr height="25" style="height: 18.75pt;">
<td align="right" class="xl65" height="25" style="border-top: none; height: 18.75pt;">2</td>
<td class="xl65" style="border-left: none; border-top: none;">pascal</td>
<td class="xl65" style="border-left: none; border-top: none;">8336.05 MB/sec</td>
<td class="xl66" style="border-left: none; border-top: none; width: 114pt;" width="152">264.62
MB/sec</td>
</tr>
<tr height="25" style="height: 18.75pt;">
<td align="right" class="xl65" height="25" style="border-top: none; height: 18.75pt;">3</td>
<td class="xl65" style="border-left: none; border-top: none;">henry</td>
<td class="xl65" style="border-left: none; border-top: none;">8823.00 MB/sec</td>
<td class="xl66" style="border-left: none; border-top: none; width: 114pt;" width="152">204.79
MB/sec</td>
</tr>
<tr height="25" style="height: 18.75pt;">
<td align="right" class="xl65" height="25" style="border-top: none; height: 18.75pt;">4</td>
<td class="xl65" style="border-left: none; border-top: none;">joule</td>
<td class="xl65" style="border-left: none; border-top: none;">8419.01 MB/sec</td>
<td class="xl66" style="border-left: none; border-top: none; width: 114pt;" width="152">290.63
MB/sec</td>
</tr>
<tr height="25" style="height: 18.75pt;">
<td align="right" class="xl65" height="25" style="border-top: none; height: 18.75pt;">5</td>
<td class="xl65" style="border-left: none; border-top: none;">augusta</td>
<td class="xl65" style="border-left: none; border-top: none;">8823.96 MB/sec</td>
<td class="xl66" style="border-left: none; border-top: none; width: 114pt;" width="152"><span style="color: red;">314.37
MB/sec</span></td>
</tr>
<tr height="25" style="height: 18.75pt;">
<td align="right" class="xl65" height="25" style="border-top: none; height: 18.75pt;">6</td>
<td class="xl65" style="border-left: none; border-top: none;">radian※</td>
<td class="xl65" style="border-left: none; border-top: none;">8593.79 MB/sec</td>
<td class="xl66" style="border-left: none; border-top: none; width: 114pt;" width="152">249.83
MB/sec</td>
</tr>
<tr height="25" style="height: 18.75pt;">
<td align="right" class="xl65" height="25" style="border-top: none; height: 18.75pt;">7</td>
<td class="xl65" style="border-left: none; border-top: none;">newton</td>
<td class="xl65" style="border-left: none; border-top: none;"><span style="color: red;">10150.15 MB/sec</span></td>
<td class="xl66" style="border-left: none; border-top: none; width: 114pt;" width="152"><span style="color: red;">316.51
MB/sec</span></td>
</tr>
<tr height="25" style="height: 18.75pt;">
<td align="right" class="xl65" height="25" style="border-top: none; height: 18.75pt;">8</td>
<td class="xl65" style="border-left: none; border-top: none;">monstera</td>
<td class="xl65" style="border-left: none; border-top: none;"><span style="color: red;">9981.35 MB/sec</span></td>
<td class="xl66" style="border-left: none; border-top: none; width: 114pt;" width="152"><span style="color: red;">389.55
MB/sec</span></td>
</tr>
<tr height="25" style="height: 18.75pt;">
<td align="right" class="xl65" height="25" style="border-top: none; height: 18.75pt;">9</td>
<td class="xl65" style="border-left: none; border-top: none;">weber</td>
<td class="xl65" style="border-left: none; border-top: none;"><span style="color: red;">10436.24 MB/sec</span></td>
<td class="xl66" style="border-left: none; border-top: none; width: 114pt;" width="152"><span style="color: red;">403.65
MB/sec</span></td>
</tr>
<tr height="25" style="height: 18.75pt;">
<td align="right" class="xl65" height="25" style="border-top: none; height: 18.75pt;">10</td>
<td class="xl65" style="border-left: none; border-top: none;">lux</td>
<td class="xl65" style="border-left: none; border-top: none;"><span style="color: red;">10395.61 MB/sec</span></td>
<td class="xl66" style="border-left: none; border-top: none; width: 114pt;" width="152"><span style="color: red;">411.82
MB/sec</span></td>
</tr>
</tbody></table>
</div>
<div>
<br />
augusta以降はフラッシュディスクになっている為、buffered disk readsが性能強化されており、<br />
newton以降はcpuが強化されているのでcached readsが増えています。<br />
しかしながらradianがスペックの割に性能が出ていません。<br />
勝手な想像ですが、恐らくは東日本で初めてフラッシュディスクになったゾーンですので、<br />
仮想マシン数が多いのではないでしょうか。そういった理由も新規で選択出来なくなっている理由でしょう。<br />
新しくIDCFクラウドを契約する方は特に気にする理由は無さそうです。<br />
古くから使用しているユーザはサポート等に現状厳しいゾーンを聞けば答えてくれると思います。きっと。ええきっと。<br />
<br />
<br />
さて、より分かりやすく性能を見るためにWEB2層のアプリケーションで確認してみます。<br />
実際にlight.S1へコンテンツを載せて<a href="http://cloudyarouze.blogspot.jp/2015/01/wrs.html" target="_blank">WRS</a>で比較してみると以下のようになります。<br />
※<a href="http://cloudyarouze.blogspot.jp/2015/01/wrs.html" target="_blank">WRSとはデフォルトの状態でwordpressにabをかけて比較したもの</a>です。<br />
<br />
<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 429px;">
<colgroup><col style="mso-width-alt: 896; mso-width-source: userset; width: 21pt;" width="28"></col>
<col style="width: 54pt;" width="72"></col>
<col style="mso-width-alt: 3136; mso-width-source: userset; width: 74pt;" width="98"></col>
<col style="mso-width-alt: 3552; mso-width-source: userset; width: 83pt;" width="111"></col>
<col style="mso-width-alt: 3840; mso-width-source: userset; width: 90pt;" width="120"></col>
</colgroup><tbody>
<tr height="25" style="height: 18.75pt;">
<td class="xl65" height="25" style="height: 18.75pt; width: 21pt;" width="28"> </td>
<td class="xl65" style="border-left: none; width: 54pt;" width="72">ゾーン</td>
<td class="xl65" style="border-left: none; width: 74pt;" width="98">ab -n 1 -c 1</td>
<td class="xl65" style="border-left: none; width: 83pt;" width="111">ab -n 10 -c 10</td>
<td class="xl65" style="border-left: none; width: 90pt;" width="120">ab -n 100 -c 10</td>
</tr>
<tr height="25" style="height: 18.75pt;">
<td align="right" class="xl65" height="25" style="border-top: none; height: 18.75pt;">1</td>
<td class="xl65" style="border-left: none; border-top: none;">tesla※</td>
<td class="xl66" style="border-left: none; border-top: none; width: 74pt;" width="98">6.30
[#/sec]</td>
<td class="xl65" style="border-left: none; border-top: none;">6.44[#/sec]</td>
<td class="xl65" style="border-left: none; border-top: none;">2.11[#/sec]</td>
</tr>
<tr height="25" style="height: 18.75pt;">
<td align="right" class="xl65" height="25" style="border-top: none; height: 18.75pt;">2</td>
<td class="xl65" style="border-left: none; border-top: none;">pascal</td>
<td class="xl66" style="border-left: none; border-top: none; width: 74pt;" width="98">6.71
[#/sec]</td>
<td class="xl65" style="border-left: none; border-top: none;">6.3[#/sec]</td>
<td class="xl65" style="border-left: none; border-top: none;">2.07[#/sec]</td>
</tr>
<tr height="25" style="height: 18.75pt;">
<td align="right" class="xl65" height="25" style="border-top: none; height: 18.75pt;">3</td>
<td class="xl65" style="border-left: none; border-top: none;">henry</td>
<td class="xl66" style="border-left: none; border-top: none; width: 74pt;" width="98">6.38
[#/sec]</td>
<td class="xl65" style="border-left: none; border-top: none;">7.12[#/sec]</td>
<td class="xl65" style="border-left: none; border-top: none;">2.13[#/sec]</td>
</tr>
<tr height="25" style="height: 18.75pt;">
<td align="right" class="xl65" height="25" style="border-top: none; height: 18.75pt;">4</td>
<td class="xl65" style="border-left: none; border-top: none;">joule</td>
<td class="xl65" style="border-left: none; border-top: none;">6.60 [#/sec]</td>
<td class="xl65" style="border-left: none; border-top: none;">6.56[#/sec]</td>
<td class="xl65" style="border-left: none; border-top: none;">2.1[#/sec]</td>
</tr>
<tr height="25" style="height: 18.75pt;">
<td align="right" class="xl65" height="25" style="border-top: none; height: 18.75pt;">5</td>
<td class="xl65" style="border-left: none; border-top: none;">augusta</td>
<td class="xl66" style="border-left: none; border-top: none; width: 74pt;" width="98">7.47
[#/sec]</td>
<td class="xl65" style="border-left: none; border-top: none;">7.02[#/sec]</td>
<td class="xl65" style="border-left: none; border-top: none;">2.16[#/sec]</td>
</tr>
<tr height="25" style="height: 18.75pt;">
<td align="right" class="xl65" height="25" style="border-top: none; height: 18.75pt;">6</td>
<td class="xl65" style="border-left: none; border-top: none;">radian※</td>
<td class="xl65" style="border-left: none; border-top: none;">6.63 [#/sec]</td>
<td class="xl65" style="border-left: none; border-top: none;">5.84[#/sec]</td>
<td class="xl65" style="border-left: none; border-top: none;">2.08[#/sec]</td>
</tr>
<tr height="25" style="height: 18.75pt;">
<td align="right" class="xl65" height="25" style="border-top: none; height: 18.75pt;">7</td>
<td class="xl65" style="border-left: none; border-top: none;">newton</td>
<td class="xl66" style="border-left: none; border-top: none; width: 74pt;" width="98"><span style="color: red;">8.54
[#/sec]</span></td>
<td class="xl65" style="border-left: none; border-top: none;"><span style="color: red;">8.03[#/sec]</span></td>
<td class="xl65" style="border-left: none; border-top: none;"><span style="color: red;">2.65[#/sec]</span></td>
</tr>
<tr height="25" style="height: 18.75pt;">
<td align="right" class="xl65" height="25" style="border-top: none; height: 18.75pt;">8</td>
<td class="xl65" style="border-left: none; border-top: none;">monstera</td>
<td class="xl66" style="border-left: none; border-top: none; width: 74pt;" width="98"><span style="color: red;">9.72
[#/sec]</span></td>
<td class="xl65" style="border-left: none; border-top: none;"><span style="color: red;">9.38[#/sec]</span></td>
<td class="xl65" style="border-left: none; border-top: none;"><span style="color: red;">2.79[#/sec]</span></td>
</tr>
<tr height="25" style="height: 18.75pt;">
<td align="right" class="xl65" height="25" style="border-top: none; height: 18.75pt;">9</td>
<td class="xl65" style="border-left: none; border-top: none;">weber</td>
<td class="xl66" style="border-left: none; border-top: none; width: 74pt;" width="98"><span style="color: red;">9.98
[#/sec]</span></td>
<td class="xl65" style="border-left: none; border-top: none;"><span style="color: red;">9.54[#/sec]</span></td>
<td class="xl65" style="border-left: none; border-top: none;"><span style="color: red;">2.99[#/sec]</span></td>
</tr>
<tr height="25" style="height: 18.75pt;">
<td align="right" class="xl65" height="25" style="border-top: none; height: 18.75pt;">10</td>
<td class="xl65" style="border-left: none; border-top: none;">lux</td>
<td class="xl66" style="border-left: none; border-top: none; width: 74pt;" width="98"><span style="color: red;">9.87
[#/sec]</span></td>
<td class="xl65" style="border-left: none; border-top: none;"><span style="color: red;">9.56[#/sec]</span></td>
<td class="xl65" style="border-left: none; border-top: none;"><span style="color: red;">2.82[#/sec]</span></td>
</tr>
</tbody></table>
<br />
何もしなくても、初期のteslaやpascalと比べて、<br />
最新ゾーンのweber、luxは1.5倍程度の性能差が出ています。<br />
勿論、まだリリース直後でユーザーが少ないというのも大きな要因ですが、<br />
newtonで見てみても大分性能差が出ている事が解ります。<br />
<br />
ちなみにab -n 100 -c 10だけ値が低いのは、<br />
light.S1のCPUリミッター(0.8GHz)によるものです。<br />
light.S1は0.8GHz相当という触書になっていますが、直ぐにCPUリミッターが掛かる訳ではありません。<br />
上記表の通り、そこまでアクセス数が多くないサイト等であれば、2.4GHz相当で使用出来ます。<br />
<br />
新しいゾーンが出ると性能が強化されて更に進化していくIDCFクラウド。<br />
AWSではファミリーの世代という形で性能強化されていきますが、<br />
IDCFクラウドでは現状、ゾーン毎に進化をしていきます。<br />
<br />
上記のように性能が強化されるのでtesla等、旧ゾーンで性能が足りなくなってきたと感じたら、<br />
ゾーン移設を検討するのも1つの手です。<br />
複数台構成であれば、GSLB機能もあるのでサービス停止を回避しながらゾーン移設も可能です。<br />
<br />
次回は旧ゾーンから新ゾーンに移設する方法をご紹介しようと思います。<br />
<br />
それではよいクラウド構築を。</div>
taka3110http://www.blogger.com/profile/04058645764439327338noreply@blogger.com0tag:blogger.com,1999:blog-1025845801374780428.post-15182508437939932802016-11-22T03:56:00.001+09:002016-11-25T11:35:50.911+09:00CentOS5のyumな環境でATS対応させた話どうもtaka3110ことどんです。<br />
<div>
<br /></div>
<div>
今回は待った無しになっているATS対応の話です。</div>
<div>
そもそもATS対応って何じゃい?という方は、こちらをご参照下さい。</div>
<div>
<a href="https://www.google.co.jp/search?q=%EF%BC%A1%EF%BC%B4%EF%BC%B3&oq=%EF%BC%A1%EF%BC%B4%EF%BC%B3&aqs=chrome..69i57j0l5.1269j0j7&sourceid=chrome&ie=UTF-8#q=ATS+IOS" target="_blank">「ATS + IOSの検索結果」</a></div>
<div>
<br /></div>
<div>
簡単に言うと、AppleさんとこのIOSアプリからAppleさんが言うセキュリティに</div>
<div>
準拠していないサイトは片っ端から弾きまっせ。覚悟しとき。</div>
<div>
という宣告です。</div>
<div>
<br /></div>
<div>
ATSに対応する為には</div>
<div>
-------------------</div>
<div>
・ TLS ver 1.2以上であること</div>
<div>
・ 以下のcipherに対応している事</div>
<div>
<div>
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384</div>
<div>
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256</div>
<div>
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384</div>
<div>
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA</div>
<div>
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256</div>
<div>
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA</div>
<div>
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384</div>
<div>
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256</div>
<div>
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384</div>
<div>
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256</div>
<div>
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA</div>
</div>
<div>
・サーバ証明書はsha256でキーは2048bit長以上にする事</div>
<div>
-------------------</div>
<div>
というルールがあるらしい。</div>
<div>
<br /></div>
<div>
何が困ったってCentOS5系を運用しているサイトやゲームですね。</div>
<div>
特に側ネイティブでやっているアプリなんて季節的にもCentOS5があったりするのでは?</div>
<div>
<br /></div>
<div>
CentOS5でATS対応するには、</div>
<div>
・opensslをsrcからコンパイル</div>
<div>
・apacheの最新版をsrcからコンパイル</div>
<div>
しなければ対応出来ません。</div>
<div>
(対応出来たよ!という方は教えて下さい・・・)</div>
<div>
ちなみにopensslをsrcコンパイルしてmod_ssl作ればええやん的な安易な発想でしたが、</div>
<div>
SSLCompressionの設定、ECDHEに対応していない等の罠があり結論無理でした。</div>
<div>
<br /></div>
<div>
yumの環境だと相当難儀な作業になります。</div>
<div>
モジュール類、特にphpもソースコンパイルして対応となると、</div>
<div>
もうね、それだけで面倒な作業。</div>
<div>
<br /></div>
<div>
という訳で、出来る限りyumでインストールされている現況を崩す事なく、</div>
<div>
何とかATS対応出来ないかという事でやってみました。</div>
<div>
<br /></div>
<div>
aprを変更せずに、prefix指定でソースコンパイルすれば、</div>
<div>
そのままyumで入れた同じモジュールを使えるのではないか説が沸きあがり、</div>
<div>
実際にやってみたら使えたのでご紹介します。</div>
<div>
(実際にやっても自己責任でお願いしますね・・・)</div>
<div>
<br /></div>
<div>
<div>
1.作業ディレクトリ作成</div>
<div>
解りやすく作業する為に作業ディレクトリを作ります。</div>
<div>
<br /></div>
<div>
mkdir /root/src</div>
<div>
cd /root/src</div>
<div>
<br /></div>
<div>
2.ソースゲット</div>
<div>
最新版のソースをゲットします。</div>
<div>
元々2.2系だったので、2.2系の最新とopensslの1.0.1の最新を入れます。</div>
<div>
<br /></div>
<div>
wget http://ftp.jaist.ac.jp/pub/apache/httpd/httpd-2.2.31.tar.gz</div>
<div>
wget https://www.openssl.org/source/openssl-1.0.1u.tar.gz</div>
<div>
<br /></div>
<div>
3.opensslのインストール</div>
<div>
あくまでmod_sslを作るためだけのopensslにしたいので、</div>
<div>
prefixを指定してインストールします。</div>
<div>
#config時の"<span style="background-color: white; color: #333333; display: inline; float: none; font-family: "arial" , sans-serif; font-size: 14px; font-style: normal; font-weight: normal; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;">-fPIC</span>"は入れても入れなくても大丈夫です。入れた場合、ソースの書き換えが一部必要になります。<br />
<br /></div>
<div>
tar xzvf openssl-1.0.1u.tar.gz</div>
<div>
cd openssl-1.0.1u</div>
<div>
./config --prefix=/usr/local/openssl1.0.1 shared</div>
<div>
make</div>
<div>
make install</div>
<div>
cd ..</div>
<div>
<br /></div>
<div>
4.apache</div>
<div>
apacheについても既存環境を汚さないようにprefixを指定してインストールします。</div>
<div>
ちなみにenable類は無くても大丈夫だと思います。何か、念のためやりました。<br />
<br /></div>
<div>
tar xzvf httpd-2.2.31.tar.gz</div>
<div>
cd httpd-2.2.31</div>
<div>
./configure --prefix=/usr/local/httpd-2.2.31 \</div>
<div>
--enable-dav=shared \</div>
<div>
--enable-dav-fs=shared \</div>
<div>
--enable-dav-lock=shared \</div>
<div>
--enable-proxy=shared \</div>
<div>
--enable-proxy-connect=shared \</div>
<div>
--enable-proxy-ftp=shared \</div>
<div>
--enable-proxy-http=shared \</div>
<div>
--enable-proxy-balancer=shared \</div>
<div>
--enable-proxy-ajp=shared \</div>
<div>
--enable-rewrite=shared \</div>
<div>
--enable-ssl=shared \</div>
<div>
--enable-mem-cache=shared \</div>
<div>
--enable-so \</div>
<div>
--enable-modules=all \</div>
<div>
--enable-mods-shared=all \</div>
<div>
--with-ssl=/usr/local/openssl1.0.1</div>
<div>
make</div>
<div>
make install</div>
<div>
cd ..</div>
</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
ここまで出来れば後はapacheのmoduleと起動スクリプト類を入れ替えるだけです。</div>
<div>
ちなみに同じようなCentOS5が他にもある場合、ここで作ったディレクトリを配布すれば、</div>
<div>
いちからコンパイルする必要は無いです。</div>
<div>
/usr/local配下にopenssl1.0.1とhttpd-2.2.31ディレクトリを置いてやればokです。</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
適用作業はこんな感じでやりました。</div>
<div>
<div>
<br /></div>
<div>
5.初期コンフィグのバックアップ</div>
<div>
戻せるようにしておきましょう。</div>
<div>
<br /></div>
<div>
mv /usr/local/httpd-2.2.31/conf /usr/local/httpd-2.2.31/conf.org</div>
<div>
mv /usr/local/httpd-2.2.31/modules /usr/local/httpd-2.2.31/modules.org</div>
<div>
<br /></div>
<div>
6.既存モジュールのcopy</div>
<div>
yumで入れたモジュールをコピーします。</div>
<div>
#パスは64bitの場合です。<br />
<br /></div>
<div>
cp -rp /usr/lib64/httpd/modules /usr/local/httpd-2.2.31/</div>
<div>
<br /></div>
<div>
7.既存コンフィグのコピー</div>
<div>
既存のコンフィグを適用させましょう。</div>
<div>
<br /></div>
<div>
cp -rp /etc/httpd/conf /usr/local/httpd-2.2.31/</div>
<div>
cp -rp /etc/httpd/conf.d /usr/local/httpd-2.2.31/</div>
<div>
cp -rp /etc/httpd/common /usr/local/httpd-2.2.31/</div>
<div>
<br /></div>
<div>
8.設定ファイル類のディレクトリ構成設定</div>
<div>
運用性を考えて同じディレクトリ構成にしておきましょう。</div>
<div>
<br /></div>
<div>
mv /etc/httpd /etc/httpd.org</div>
<div>
ln -s /usr/local/httpd-2.2.31 /etc/httpd</div>
<div>
<br /></div>
<div>
9.起動ファイルの変更</div>
<div>
戻せるようにしておくのと、tab効きするようにしておきましょう。</div>
<div>
<br /></div>
<div>
mv /etc/init.d/httpd /etc/init.d/httpd.org</div>
<div>
chmod -x /etc/init.d/httpd.org</div>
<div>
ln -s /usr/local/httpd-2.2.31/bin/apachectl /etc/init.d/httpd</div>
<div>
mv /usr/sbin/httpd /usr/sbin/httpd.org</div>
<div>
chmod -x /usr/sbin/httpd.org</div>
<div>
ln -s /usr/local/httpd-2.2.31/bin/httpd /usr/sbin/httpd</div>
<div>
<br /></div>
<div>
10.mod_sslのモジュールのみコピー</div>
<div>
mod_sslは今回コンパイルしたものを使います。</div>
<div>
<br /></div>
<div>
cp -pi /usr/local/httpd-2.2.31/modules.org/mod_ssl.so /usr/local/httpd-2.2.31/modules/</div>
<div>
<br /></div>
<div>
11.logやrunフォルダの設定</div>
<div>
logフォルダは引き継ぐようにしておきます。</div>
<div>
<br /></div>
<div>
mkdir /etc/httpd/run</div>
<div>
mv /etc/httpd/logs /etc/httpd/logs.org</div>
<div>
ln -s /var/log/httpd /etc/httpd/logs</div>
<div>
<br /></div>
<div>
12.アップデートしたopensslをmod_sslが読みに行く為の設定</div>
<div>
最後にmod_sslがprefixしたopensslを読みに行けるようにしておきます。</div>
<div>
<br /></div>
<div>
echo "/usr/local/openssl1.0.1/lib" >> /etc/ld.so.conf</div>
<div>
ldconfig</div>
</div>
<div>
<br /></div>
<div>
以上で完了。</div>
<div>
古いapacheが上がっていればpkill httpdで落としてやれば、</div>
<div>
普通に新しいapacheを上げられる筈。</div>
<div>
<br /></div>
<div>
これで構築したサイトを以下で見てみるとATS対応している筈。</div>
<div>
https://www.ssllabs.com/ssltest/</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
ここまででとりあえず一時しのぎ的にATS対応出来たとしましょう。</div>
<div>
でもね、そもそも論としてCentOS5を使い続けるってどうなのよ?</div>
<div>
という疑問を投げかけざるを得ない。</div>
<div>
<br /></div>
<div>
という訳で、取り急ぎ時間が出来たという事で、</div>
<div>
しっかりと計画してリプレースしましょう。</div>
<div>
<br /></div>
<div>
それではよいクラウド構築を。<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
一応、、、、もとにもどす手順も置いときます。<br />
<br />
rm /etc/httpd<br />
mv /etc/httpd.org /etc/httpd<br />
rm /etc/init.d/httpd<br />
mv /etc/init.d/httpd.org /etc/init.d/httpd<br />
chmod +x /etc/init.d/httpd<br />
rm /usr/sbin/httpd<br />
mv /usr/sbin/httpd.org /usr/sbin/httpd<br />
chmod +x /usr/sbin/httpd<br />
<br /></div>
taka3110http://www.blogger.com/profile/04058645764439327338noreply@blogger.com0tag:blogger.com,1999:blog-1025845801374780428.post-59619240021613381242016-09-20T13:15:00.000+09:002016-09-20T13:15:33.840+09:00YAMAHAのルーターで存在しないNWを使ってVPNする話どうもtaka3110ことどんです。<br />
<br />
最近、YAMAHAのルーターと戯れる事が多かったので、<br />
少しメモ代わりに書いておきます。<br />
<br />
題名だけ見ると大それたというか、謎めいた感じですが、<br />
簡単に言えばNATです。はい。<br />
ただ、双方向NAT(TwiceNAT)のドキュメントはありますが、<br />
単方向NATでマスカレードしないのはあまりなく、でも結構使う機会がある。<br />
というところでブログネタにした訳です。<br />
<br />
最近ではフレッツVPNなどで店舗間でも割と簡単にフレッツ網を使ったVPNがはれます。<br />
店舗間データのやり取りをセキュアに行いたい等、結構使う機会はあると思います。<br />
例えば、本店と店舗のNWが全く同じ場合は、前記のTwiceNATを用いれば良いですが、<br />
(TwiceNATの設定例:<a href="http://jp.yamaha.com/products/network/solution/vpn/connect/twice_nat/">http://jp.yamaha.com/products/network/solution/vpn/connect/twice_nat/</a> )<br />
本店が「このNWで接続して下さい。」と払い出されて、店舗側が違うNWになっている場合。<br />
これって、店舗側のNWを総入れ替えするか、NATするかの2択な訳で。<br />
やれ工数だの改修だのを考えると、結論NATになる訳です。<br />
<br />
ただ、もう1台ルーターを置いてやるのが綺麗なやり方。<br />
存在しないNWではなく、存在するNWを作ってしまう。<br />
本社ルーター --> 店舗ルーター(NEW) -(払い出しNW)-> 店舗ルーター<br />
という感じで払い出しNWを作ってしまって、そこのIP帯でNATさせる。<br />
というのが割と綺麗なやり方だと思います。<br />
が、そんなポコスカとルーターを買うという訳にもいかないと思いますし、<br />
出来るので、1台でやってしまいましょうと。<br />
<br />
そうすると、やり方としてはざっと考えて2つあって、<br />
・ セカンダリIPをつけてルーティングさせてしまう。<br />
・ 払い出しNWのIPでNATさせてしまう。<br />
という2つかと。<br />
<br />
で、もう存在はしてないけど、払い出しNWのIPでNATして通信出来れば良い。<br />
という事で、今回はそんな感じの話です。<br />
<br />
本店から払い出されたNWは10.1.10.1/24<br />
基幹に接続するコンピュータのIPは接続元制限により10.1.10.254のみ許可。<br />
例えばストコンが基幹にデータを送る場合は上記IPで送る必要がある。<br />
というような感じ。<br />
<br />
<br />
構築するNWはこんな感じです。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0A1-LVP8b0cpaS8KSSdgd4KKz6LvNxeBsut1q-yPE94FxgCdWo9rElwGrVNR0YJzwoGc3oNFDkdBJKBd5wcEwoCSlYECLroaLD5ux3Y7l1Td_XCw-l8UMTxTOd1ZZKd8jFotr8_30cgMv/s1600/ga1.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0A1-LVP8b0cpaS8KSSdgd4KKz6LvNxeBsut1q-yPE94FxgCdWo9rElwGrVNR0YJzwoGc3oNFDkdBJKBd5wcEwoCSlYECLroaLD5ux3Y7l1Td_XCw-l8UMTxTOd1ZZKd8jFotr8_30cgMv/s320/ga1.png" width="196" /></a></div>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
で、どう構築するかって話になるんですが、<br />
先のTwiceNATのページのreverseの部分を削除すればいいだけ。<br />
というより、TwiceNATも存在しないNWを間に挟んで同じNWを通信させてるイメージなので、<br />
それと同じことをしてやれば良いと。<br />
<br />
書き方も割と単純に、ほんとreverseを削除しただけのこんな感じで通ります。<br />
(ISPの部分やVPN認証、フィルタ等の設定は別途必要)<br />
---<br />
#ルーティング<br />
ip route 172.11.0.16/32 gateway pp 1<br />
ip route 10.20.0.0/16 gateway tunnel 1<br />
<br />
#NAT<br />
nat descriptor type 1 masquerade<br />
nat descriptor masquerade static 1 1 172.11.0.16 udp 500<br />
nat descriptor masquerade static 1 2 172.11.0.16 esp<br />
nat descriptor type 2 nat<br />
nat descriptor address outer 2 10.1.10.1-10.1.10.254<br />
nat descriptor static 2 1 10.1.1.254=192.168.1.50 1<br />
<br />
pp select 1<br />
ip pp address 172.11.0.1/32<br />
ip pp nat descriptor 1<br />
<br />
tunnel select 1<br />
ip tunnel nat descriptor 2<br />
---<br />
<br />
やっぱり存在しないNWがあって、途中でNATにより処理する。<br />
というのはあり得る話なんですが、少し気持ち悪いなぁ。と思うのは私だけかしら。。<br />
<br />
割と設計的にはあり得る話ですが、ググってもなかなか出てこないので、<br />
書いてみました。<br />
<br />
というわけで、よいクラウド?構築を。taka3110http://www.blogger.com/profile/04058645764439327338noreply@blogger.com0tag:blogger.com,1999:blog-1025845801374780428.post-81604934982270178202016-08-27T10:14:00.001+09:002016-08-27T10:20:16.656+09:00IDCFクラウドの追加NWの注意点<div>
最近、IDCFクラウドの追加ネットワークでちょっとしたハマり方をしたのでメモ。</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
IDCFクラウドはネットワークを追加する事が出来ます。<br />
NICも独立するので、インターネット側のNWとは別にしてVPNのネットワークを作ったり、<br />
DBの通信にしようしたり、Heartbeat専用のネットワークを作ったり。</div>
<div>
まぁ、いろんな設計が無停止で柔軟に出来るようになっています。</div>
<div>
ネットワーク追加も従量課金で20円/時間で課金され、1か月1万円が課金上限になるシステムです。</div>
<div>
参考: <a href="http://blog.idcf.jp/entry/etc/add_network/">http://blog.idcf.jp/entry/etc/add_network/</a></div>
<div>
<br /></div>
<div>
で、今回は既存の環境から移設というところで構築したのですが、</div>
<div>
色々な制限があり再設計する事になりました。</div>
<div>
結論から言うと、追加ネットワークを使った設計をする時は、</div>
<div>
実際に追加ネットワークをしてから設計するか、IPを柔軟に変更できる設計にしておくと良いです。</div>
<div>
例えばDBと接続する際にIP指定で許可している場合、許可設定の変更をしたり、</div>
<div>
そもそもDBのIPが変更しなければならない可能性があります。</div>
<div>
同じハマり方をしないようにご注意というところで。</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
1.システム予約IPがある</div>
<div>
後方20個のIPはシステム予約として使用出来ないIPになっています。</div>
<div>
例えば、デフォルトで以下NWが指定されます。(もちろん変更可能)</div>
<div>
192.168.0.0/21</div>
<div>
上記のうち、192.168.7.235~254はシステムで予約して使用不可能になっています。</div>
<div>
従って、後方20IPを使用したIP設計は見直しになります。</div>
<div>
<br /></div>
<div>
2.CIDRが/24~/21のみ</div>
<div>
CIDRは/24~/21でしか使用できません。/25、/26のNWは作れません。</div>
<div>
従って、/24よりも分割されたNWは設計見直しになります。</div>
<div>
<br /></div>
<div>
3.仮想ルーターにIPが自動で採番される</div>
<div>
仮想ルーターにIPが自動で採番されます。これはシステム予約IPに含まれていません。</div>
<div>
例えば、192.168.0.0/21のNWで構築した場合、どこに採番されるか解りません。</div>
<div>
基本的には192.168.0.1が使用されるようですが、2や3が採番される可能性もあります。</div>
<div>
仮想ルーターのIPは使用出来ないので、こちらも被った場合は設計見直しになります。</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
ご察しの通り、3に見事にはまりまして。</div>
<div>
移設前はWebサーバーを192.168.0.1に割り振っていたのですが、</div>
<div>
移設したところ仮想ルーターに192.168.0.1を取られてしまい採番出来なくなりました。</div>
<div>
今回はteslaからnewtonへのゾーン間移設だったのですが、</div>
<div>
移設前と移設後で仮想ルーターのIPが変わった為、このようなハマり方をした次第です。</div>
<div>
<br /></div>
<div>
もし、セキュリティ的にもしばりが無いようであれば、</div>
<div>
192.168.0.0/24のNWを作る場合、</div>
<div>
192.168.0.0/23のNWを作って、192.168.1.1~254の範囲でIP設計をすると良いと思います。</div>
<div>
どうしても/24で作成する場合、念のため、192.168.0.1~10は使用しない等で回避が出来るかと思います。</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
ちなみに、NICは追加/削除をしていくとデバイス名が変わります。</div>
<div>
CentOS7であればさほど困らないかもしれませんが、、</div>
<div>
参考 : <a href="https://www.faq.idcf.jp/app/answers/detail/a_id/569/~/%E8%BF%BD%E5%8A%A0nic%E3%81%AE%E8%A8%AD%E5%AE%9A%E4%BE%8B%EF%BC%88centos7%E7%B3%BB%E3%81%AE%E5%A0%B4%E5%90%88%EF%BC%89">https://www.faq.idcf.jp/app/answers/detail/a_id/569/~/%E8%BF%BD%E5%8A%A0nic%E3%81%AE%E8%A8%AD%E5%AE%9A%E4%BE%8B%EF%BC%88centos7%E7%B3%BB%E3%81%AE%E5%A0%B4%E5%90%88%EF%BC%89</a></div>
<div>
<br /></div>
<div>
CentOS6系でNICを追加/削除してeth1のつもりがeth2や3になってeth1に戻したいという場合、</div>
<div>
udevを修正する事で変更する事が可能です。</div>
<div>
以下ファイルにNICの情報が記載されています。</div>
<div>
/etc/udev/rules.d/70-persistent-net.rules</div>
<div>
上記ファイルで不要なNIC情報を削除し、最後に割り当てられているNICのnameをeth1にします。</div>
<div>
udev rulesの反映を行う為に以下コマンドを実行します。</div>
<div>
start_udev</div>
<div>
これでeth1に戻ります。</div>
<div>
あまり使う機会は無いと思いますが。。</div>
<div>
<br /></div>
<div>
それではよいクラウド構築を!</div>
taka3110http://www.blogger.com/profile/04058645764439327338noreply@blogger.com0tag:blogger.com,1999:blog-1025845801374780428.post-80907609961353646852016-07-11T02:56:00.000+09:002016-07-11T02:56:11.670+09:00クラウドの勉強会をやる際に注意するポイント最近、クラウド系の勉強会をやる機会が多いどん斉藤ことtaka3110です。<div>
<br /></div>
<div>
初級~中級、上級、テスト対策、いろいろとやります。</div>
<div>
非エンジニア向けのクラウド勉強会などもやったりします。</div>
<div>
ベンダーフリーで使うクラウドは問わないので、こんな勉強会やってよ!など、</div>
<div>
ご依頼はtaka3110までご連絡頂ければ打ち合わせ/企画から一緒にやります。</div>
<div>
<br /></div>
<div>
さて、宣伝はこの辺にして。。</div>
<div>
クラウド系の勉強会、特にハンズオンの勉強会をやるときに注意するポイントが結構あります。</div>
<div>
今回、実際にハマるポイントを書こうと思います。</div>
<div>
<br /></div>
<div>
① 上限の確認</div>
<div>
複数人でやる場合、サーバーの上限やIPの上限等、</div>
<div>
クラウドが定める上限値に達していないか確認をします。</div>
<div>
上限以上を使用するならば、上限の緩和申請をサポートにしましょう。</div>
<div>
殆どのクラウドで上限の緩和が可能です。</div>
<div>
遅くても3営業日前には申請をするようにしましょう。</div>
<div>
<br /></div>
<div>
② 同じアカウント内で同時実行時のデフォルトパラメーター確認</div>
<div>
同じ資料を見ながら行った場合やデフォルトの値を使用する場合に、</div>
<div>
値がすべて同じになってしまいエラーが続発する可能性があります。</div>
<div>
特に同じアカウントでやる場合(AWSでIAM使用する場合も含む)は、</div>
<div>
ユーザー名を追加する等、ユニークな値を入力してもらうようにしましょう。</div>
<div>
例:AWSのサーバー起動時のセキュリティグループ等</div>
<div>
<br /></div>
<div>
③ リージョンの確認</div>
<div>
これもハンズオンをやる時にたびたび出る問題です。</div>
<div>
多くのクラウドはリージョンの変更を行っても殆ど画面上に変化はありません。</div>
<div>
リージョンを指定して、ログインした際に確認するように促します。</div>
<div>
<br /></div>
<div>
④ OS選択時のマイナーバージョンの確認</div>
<div>
OSによってはマイナーバージョンが違うだけでログイン方法が変わるものがあります。</div>
<div>
(管理者ログインが禁止されているものなど)</div>
<div>
テンプレートやAMI等を選んでもらう際にはID等で解るようにしておきます。</div>
<div>
<br /></div>
<div>
⑤ 削除漏れの確認</div>
<div>
削除したと思ってDiskが残っていたり、スナップショットが残っていたりする事があります。</div>
<div>
勉強会が終わったら、早めにリソース状況の確認を行って削除するようにしましょう。</div>
<div>
<br /></div>
<div>
⑥ サービスとアカウントを分ける</div>
<div>
これが一番恐ろしいんです!</div>
<div>
社内の場合、同じアカウント内にユーザーを作成して多人数で実施するケースが多いと思います。</div>
<div>
サービス提供をしているサーバーがある場合は間違えて停止や削除等の誤操作をする可能性があります。</div>
<div>
結構触ってもらいたい場合、管理者に近い権限を付与する事になります。</div>
<div>
教える側も緊張するので、なるべくサービスアカウントではなく、別途アカウントを取得するようにしましょう!</div>
<div>
いたしかたない場合はリージョンを変更する等で容易に触れられない環境を作りましょう。</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
クラウドは便利なんですけど、便利だから簡単に出来るのではなく、</div>
<div>
最低限の準備は必要という事ですね。</div>
<div>
<br /></div>
<div>
それでは、よいクラウド構築を!</div>
taka3110http://www.blogger.com/profile/04058645764439327338noreply@blogger.com0tag:blogger.com,1999:blog-1025845801374780428.post-24696288611870013492016-07-01T00:00:00.000+09:002016-07-01T09:33:44.200+09:00IDCFクラウドのDisk領域を3GBにしたテンプレートDisk領域3GBのCentOS6.8テンプレートを作りました。<br />
<br />
light.S1ならば1か月稼働で260円程度(2016/06/30現在)になります。<br />
落としておいても1か月60円程度ですので、気軽に複数台の検証サーバとして使えるかと。<br />
空き容量は約1.4GB程度ありますので、<br />
色々と試せる環境かと思います。<br />
cloudstack-apiもインストール済みなので、<br />
ちょっとしたAPIテストや、検証などにご使用ください。<br />
<br />
またコンテンツ領域を追加Diskにしてlogローテを行い、<br />
そのlogをオブジェクトストレージ上に保存する事で、<br />
コンテンツ領域のみをスナップショットでバックアップしながら、<br />
無償で使える50GBのオブジェクトストレージを有効活用するなんて事も出来るかと思います。<br />
<br />
いろんな用途で試して頂ければ幸いです。<br />
<br />
自分の場合はab(負荷テスト)用として使ったり、踏み台として利用したり。<br />
使わない時は落としておくような、ちょっとした事に使ってます。<br />
<br />
要望やバグ連絡は本ブログにコメント頂ければ幸いです。<br />
ちなみに本テンプレートを元に更新してコミュニティテンプレートをアップ頂いて構いません。<br />
<br />
詳細<br />
----<br />
OS:CentOS 6.8<br />
インストール:Baseシステム<br />
その他:<br />
・VMW関連<br />
vmware-tools-esx-nox<br />
vmware-tools-esx-kmods<br />
vmware-tools-vmxnet3-common<br />
<br />
・IDCFクラウド関連<br />
パスワード変更ツール<br />
認証鍵変更ツール<br />
cloudstack-api(v0.10.2)<br />
<br />
・開発関連<br />
pip(8.1.2)<br />
git(1.7.1)<br />
及び上記解決の為のソフトウェア<br />
<br />
セキュリティ:<br />
iptables off<br />
ip6tables off<br />
selinux Disable<br />
----<br />
<br />taka3110http://www.blogger.com/profile/04058645764439327338noreply@blogger.com0tag:blogger.com,1999:blog-1025845801374780428.post-65421479989097036522016-06-30T22:39:00.003+09:002016-06-30T22:46:50.529+09:00IDCFクラウドでテンプレートのエクスポートロックを解除する話どうも、taka3110ことどん斉藤です。<br />
<br />
IDCFクラウドはテンプレートをエクスポートが出来ます。<br />
ただしISOから作成した仮想マシンのテンプレートは、<br />
ライセンスの問題もあってエクスポートが出来ないようになっています。<br />
<br />
オープンソースの場合はサポートに申請をすれば、<br />
すぐにエクスポートロックの解除対応をしてくれます。<br />
<br />
こんな感じで申請します。<br />
-----<br />
CentOS6.8を使用して作成した以下テンプレートについて、<br />
エクスポートロックの解除をお願いします。<br />
テンプレートID:[テンプレートIDを記入]<br />
-----<br />
<br />
そうすると中の人が確認をしてくれます。<br />
問題無ければエクスポートロックの解除をした旨連絡が入ります。<br />
<br />
公式のテンプレートはDiskが15GBで縛られている為、<br />
サーバーを止めていても月額で300円掛かってしまうんですよね。<br />
自分は3GB程度あれば良いので、ISOから作成しています。<br />
<br />
エクスポートロックが解除されるとリージョン/ゾーン間でコピー出来るようになりますし、<br />
コミュニティテンプレートの公開も可能になります。<br />
エクスポートロックが解除されたテンプレートは、そのままコミュニティテンプレートには<br />
出来ません。<br />
一旦、エクスポートのURLを発行して、そのURLを使ってテンプレート作成をする事で、<br />
コミュニティテンプレートが作れるようになります。ここは謎仕様です。<br />
(発行されたURLはhttps://~ですが、テンプレート作成時はhttp://~に書き換えれば読み込めます)<br />
<br />
それでは、良いクラウド構築を!<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEa5J9mR7Ebkn-y7XhyphenhyphenrKlJ53VBW-SZ5LWIZsa6h2CErU5YMSizYTI3-swVQh2FvuzydaLkRCh52qfcRF8ucr3eJGr-DkhUvf4DlWpybbypwjiSz5lZrUQ-ASSw3iJEBOt-K4yJdkGMBLN/s1600/1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="312" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEa5J9mR7Ebkn-y7XhyphenhyphenrKlJ53VBW-SZ5LWIZsa6h2CErU5YMSizYTI3-swVQh2FvuzydaLkRCh52qfcRF8ucr3eJGr-DkhUvf4DlWpybbypwjiSz5lZrUQ-ASSw3iJEBOt-K4yJdkGMBLN/s400/1.png" width="400" /></a></div>
<br />taka3110http://www.blogger.com/profile/04058645764439327338noreply@blogger.com0tag:blogger.com,1999:blog-1025845801374780428.post-85025551240846394892016-05-24T12:39:00.001+09:002016-05-24T12:39:45.871+09:00IDCFクラウド「MORIO Dojo」に認定してもらったはなしブログを書くのが苦手なtaka3110こと、どん斉藤です。<br />
<div>
<br /></div>
<div>
なんでブログって書けないんですかね。</div>
<div>
これ書こう、あれ書こう、って思って休日を迎えるんですけど、</div>
<div>
結果的に家族サービスや競馬やってるんですよね。</div>
<div>
ITへの愛が足りないのか。愛が。</div>
<div>
<br /></div>
<div>
という訳で、環境から作ろうという事でブログを書くきっかけを作りました。</div>
<div>
IDCFクラウドで新しくアンバサダープログラムが始まりました。</div>
<div>
その名も「MORIO Dojo」(モリオ道場)</div>
<div>
<a href="http://www.idcf.jp/cloud/dojo/">http://www.idcf.jp/cloud/dojo/</a></div>
<div>
IDCFクラウドの使いっぷりやコミュニティでの活躍っぷりによって、</div>
<div>
段位認定してくれるというシステム。</div>
<div>
<br /></div>
<div>
このプログラムに参加すると、クローズドのコミュニティに参加して、</div>
<div>
IDCFクラウドに長けたいろんな方々と会話が出来たり、</div>
<div>
限定イベントに招待してもらえたり、プレゼントもらったり出来るそうです。</div>
<div>
<br /></div>
<div>
段位自体は空手みたいな感じで帯色によって認定が分かれてます。</div>
<div>
段位認定の条件をクリアすれば次の段位へ!という形で、</div>
<div>
最高段位のMORI帯を目指す。という感じのようです。</div>
<div>
ゲーミフィケーション的な感じで面白いですね。</div>
<div>
<br /></div>
<div>
私もコミュニティを運営している端くれとして青帯で認定依頼をしたところ、</div>
<div>
認定してもらえた次第です。</div>
<div>
MORI帯までの道のりとして、一番の山場は3か月間、1か月に1度はIDCFクラウドの記事を書く。</div>
<div>
基本、このブログはIDCFクラウドネタが多いのですが、連続性が無い、というか、</div>
<div>
ブログを続けて書けない人なので、これをモチベーションにしてブログを続けてみようと。</div>
<div>
そういう次第であります。</div>
<div>
さて、私のクリア状況ですが、</div>
<div>
<br /></div>
<div>
白帯:</div>
<div>
◎PCにMORIOステッカーを貼ってる</div>
<div>
◎個人で発信する媒体を持っている</div>
<div>
青帯:[いまここ]</div>
<div>
◎ユーザー会への参加</div>
<div>
○クローズドコミュニティでの積極的な発言</div>
<div>
茶帯:</div>
<div>
×IDCFクラウドのバナーを貼っている</div>
<div>
△IDCFクラウド関連の記事を投稿(1か月に1回程度)</div>
<div>
黒帯:</div>
<div>
×IDCFクラウド関連の記事を3か月連続で投稿</div>
<div>
◎お客様の声への協力</div>
<div>
MORI帯:</div>
<div>
◎ユーザー会を運営</div>
<div>
×コミュニティテンプレートを公開</div>
<div>
<br /></div>
<div>
という訳で、茶帯は直ぐいけそうですが、黒帯は3か月後になりそう。</div>
<div>
飛び級出来るなら3か月後にはMORI帯になれるんじゃないかと。</div>
<div>
<br /></div>
<div>
白帯については割と直ぐに認定されそうです。</div>
<div>
青帯ですが、ユーザー会への参加があります。</div>
<div>
東京では6月28日(火)にユーザー会を予定してますので、</div>
<div>
こちらもチェキっといてもらえれば来月には青帯になれると。</div>
<div>
ユーザーコミュニティ</div>
<div>
東京:<a href="https://idcfcloudug.doorkeeper.jp/">https://idcfcloudug.doorkeeper.jp/</a></div>
<div>
大阪:<a href="https://idcfugosaka.doorkeeper.jp/">https://idcfugosaka.doorkeeper.jp/</a></div>
<div>
つくば:<a href="https://idcfugtkb.doorkeeper.jp/">https://idcfugtkb.doorkeeper.jp/</a></div>
<div>
<br /></div>
<div>
というか、ユーザーコミュニティを作ってしまえばMORI帯の条件をクリア出来ます。</div>
<div>
初めての運営でもmeetup運営メンバーに優しくサポートしてもらえます。</div>
<div>
作りたいけどどうすんの?とか、やりたいから手伝って!</div>
<div>
という方は以下の問い合わせから連絡くれればお手伝いします。</div>
<div>
<a href="https://idcfcloudug.doorkeeper.jp/">https://idcfcloudug.doorkeeper.jp/</a></div>
<div>
<br /></div>
<div>
MORIO道場で検索すると奈良のよくわからん公共施設がヒットするので、</div>
<div>
検索するときはMORIO Dojoで検索しましょう。</div>
<div>
もしくは以下URLからどうぞ。</div>
<div>
<a href="http://www.idcf.jp/cloud/dojo/">http://www.idcf.jp/cloud/dojo/</a></div>
<div>
<br /></div>
<div>
早速6月に限定イベントやるそうなので、登録はお早めに~。</div>
<div>
<br /></div>
taka3110http://www.blogger.com/profile/04058645764439327338noreply@blogger.com0tag:blogger.com,1999:blog-1025845801374780428.post-9054204032039152742015-12-31T10:00:00.000+09:002015-12-31T10:00:03.287+09:00メール配信で送信元IPを変更しながら負荷分散をする最近検証したネタの備忘録です。<br />
<br />
メール配信での悩みはキャリアのブロッキングです。<br />
複数IPを持ってタイムコントロールをしながら配信管理をする事で、<br />
キャリアの閾値以内で収めて配信する必要があります。<br />
<br />
これが想像以上に面倒で、しかもspam認定されると解除もとても面倒なので、<br />
SendGrid等の安価でAPIが使えるメール配信サービスをお勧めしています。<br />
<br />
今回はどうしても内製化しなければならず、どうにか出来ないか?という話があったので、<br />
どうにか作れないもんかと試行錯誤してやってみました。<br />
<br />
先日クーポンを頂いた「さくらのクラウド」で試してみます。<br />
メールの大量配信についてはどのクラウドでも推奨事項ではないので、あくまでもテストという事で。<br />
一応、約款を見てもspamじゃなければ問題無さそうだったのでテスト環境に採用しました。<br />
<br />
さくらのクラウドの良いところは、とにかく柔軟に何でも作れるというところだと思います。<br />
価格設定~コントロールパネルまで全てオリジナリティのある内容なので、<br />
どこか独立系のイメージがあります。IDCFクラウド同様に尖がってるなぁというイメージです。<br />
<br />
今回はIPが複数必要だったので/28で払い出されるRouterを帯域幅100Mで契約しました。<br />
/28ですが使用出来るIPの数は11個です。<br />
サーバはCentOS release 6.7 (Final)を1GB/1仮想コアを契約しました。<br />
<br />
今回はpostfixを使用して、間にHAproxyを挟んで負荷分散させます。<br />
問題は送信元IPを変更するところなのですが、こちらはpostmultiを使って解消しました。<br />
<br />
手順は以下です。<br />
1.サーバにIPを割り当てる<br />
2.必要なミドルウェアをインストールする<br />
3.postmultiでpostfixインスタンスを複数構成にする<br />
4.リレーの設定をする<br />
<br />
以下のような構成を作ります。<br />
事前にDNS(mxやtxtレコード)は設定しておきます。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFSJdeGIEHlYyDC-QzzKZgHuMwFM2qC2cmuMi0__kf69nKAS6NrJs8VTweD4r7iDTnb3tGa_NKfUNxwMmhptIoqPxOR7nyWQdMddavOLUHfpMPZGSTloSsJRNUcGjZGdTbZ6B6PVVaY7pR/s1600/postmulti.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFSJdeGIEHlYyDC-QzzKZgHuMwFM2qC2cmuMi0__kf69nKAS6NrJs8VTweD4r7iDTnb3tGa_NKfUNxwMmhptIoqPxOR7nyWQdMddavOLUHfpMPZGSTloSsJRNUcGjZGdTbZ6B6PVVaY7pR/s400/postmulti.png" width="400" /></a></div>
<br />
<br />
まずはサーバにIPを割り当てますが、今回はセカンダリIPで手っ取り早く済ませます。<br />
-----------------------<br />
# vi /etc/sysconfig/network-scripts/ifcfg-eth0:1<br />
DEVICE=eth0:1<br />
NETMASK=255.255.255.240<br />
IPADDR=[使用範囲内のIPアドレス]<br />
# ifup eth0:1<br />
-----------------------<br />
同様にeth0:2、eth0:3・・・と作成していきます。<br />
<br />
次に今回使用するミドルウェアをインストールします。<br />
postfixはデフォルトでインストールされているものを使用するので、<br />
必要なのはhaproxyです。<br />
(接続確認用にtelnetを入れておくと便利です。)<br />
-----------------------<br />
# yum install haproxy<br />
# yum install telnet<br />
-----------------------<br />
<br />
<br />
HAProxyの設定をします。<br />
-----------------------<br />
#vi /etc/haproxy/haproxy.cfg<br />
listen smtp<br />
bind 127.0.0.1:25<br />
mode tcp<br />
balance roundrobin<br />
server mail2 インスタンス2のIPアドレス:25 check<br />
server mail3 インスタンス3のIPアドレス:25 check<br />
server mail4 インスタンス4のIPアドレス:25 check<br />
server mail5 インスタンス5のIPアドレス:25 check<br />
<br />
listen smtp2<br />
bind HAProxyに設定するIP:25<br />
mode tcp<br />
balance roundrobin<br />
server mail2 インスタンス2のIPアドレス:25 check<br />
server mail3 インスタンス3のIPアドレス:25 check<br />
server mail4 インスタンス4のIPアドレス:25 check<br />
server mail5 インスタンス5のIPアドレス:25 check<br />
-----------------------<br />
<br />
<br />
次にpostmultiを使用した環境に変更をします。<br />
マスターのpostfixは止めておきます。<br />
# /etc/init.d/postfix stop<br />
<br />
メールの受付/キューイング用にインスタンスを1つ。<br />
そして配信用に複数のインスタンスを作ります。<br />
<br />
postmultiでの複数インスタンス作成(例はインスタンス名postfix-mail1)<br />
-----------------------<br />
postmultiの構成の初期化<br />
# postmulti -e init<br />
<br />
postmulti構成でのインスタンス作成<br />
# postmulti -I postfix-mail1 -G postfix -e create<br />
<br />
作成したインスタンスの有効化<br />
# postmulti -i postfix-mail1 -e enable<br />
<br />
インスタンスの起動/停止<br />
# postmulti -i postfix-mail1 -p start<br />
# postmulti -i postfix-mail1 -p stop<br />
-----------------------<br />
<br />
postmultiのインスタンスでinet_interfacesにIPを指定します。<br />
これが配信元IPとなります。<br />
mydestinationやrelayhostの設定を行います。<br />
postmultiのキューイング用インスタンスのコンフィグ変更点<br />
-----------------------<br />
inet_interfaces = 設定するIPアドレス<br />
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain, メールのドメイン<br />
relayhost = [127.0.0.1]:25<br />
relayhost = [HAproxyの設定アドレス]:25<br />
default_destination_concurrency_limit = 1<br />
default_destination_recipient_limit = 1<br />
master_service_disable =<br />
allow_mail_to_commands = alias,forward,include<br />
-----------------------<br />
配信用インスタンスは上記からrelayhostの設定を外します。<br />
<br />
これで前記の構成が完了しました。<br />
複数アドレスを記載したaliasを用意して、そのアドレスに外部から送信すると、<br />
配信元IPを変更して送信される事がわかるかと思います。<br />
<br />
まだこの状態ではセキュリティの担保等の複数問題点が残っていますが、<br />
配信元IPを変えて送信することができました。<br />
<br />
ここまでやって思うのは、やはりメールサーバは外部サービスが便利ということ。<br />
メールサーバの運用は色々と面倒が多いので、内製化が必要なケースでも、<br />
なんとか外部サービスに委託する形にもっていった方が、全員が幸せになるんじゃないかなー。<br />
と思う次第です。<br />
<br />
それでは、良いクラウド構築を。taka3110http://www.blogger.com/profile/04058645764439327338noreply@blogger.com0tag:blogger.com,1999:blog-1025845801374780428.post-89068640212089840522015-12-30T05:21:00.002+09:002015-12-30T05:21:38.988+09:00IDCFクラウドの新旧light.S2を比較してみるIDCFクラウドが10月にエントリー向けのlight.S2の料金を半額に価格改定しました。<br />
これだけでも衝撃的だったのですが、CPUのクロックアップもしており、<br />
実質的には半額で性能倍という、これまた面白い価格改定でした。<br />
<br />
年末でサーバー整理をしていたところ・・・なんと、旧light.S2が未だ稼働しているではないですか!<br />
ということで、旧light.S2のサーバーを新light.S2に変更して、<br />
今更ながら新旧でほんまに性能倍になっとるんかいな?という検証をしてみたいと思います。<br />
ちなみに新たにlight.S2を契約すると、全て新スペックとなりますので、あしからず。<br />
<br />
まずはCPUを見てみましょう。<br />
model name : Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz<br />
新旧light.S2ともにCPUのモデルは変わっていないようです。<br />
どうもクロックの制限に変化があるだけのようなので、<br />
いつも通りWordpressに負荷をかけるやり方で確認してみます。<br />
<div>
<br /></div>
<div>
例のごとくyumでインストールしたLAMP環境にWordpressのver3.0をインストールします。</div>
<div>
まずは10アクセス/10クライアントでのチェック。</div>
<div>
#ab -n 10 -c 10 http://localhost/wordpress/</div>
<div>
<br /></div>
<div>
旧</div>
<div>
<div>
Requests per second: 6.18 [#/sec] (mean)</div>
<div>
Requests per second: 5.56 [#/sec] (mean)</div>
<div>
Requests per second: 5.16 [#/sec] (mean)</div>
</div>
<div>
<br /></div>
<div>
新</div>
<div>
<div>
Requests per second: 6.50 [#/sec] (mean)</div>
<div>
Requests per second: 5.64 [#/sec] (mean)</div>
<div>
Requests per second: 6.21 [#/sec] (mean)</div>
</div>
<div>
<br /></div>
<div>
変わりませんね。誤差です。</div>
<div>
クロック制限については、ある程度負荷をかけないとVM上で認識されている、</div>
<div>
仮想CPUの性能速度で値が返ってきてしまうので、ここまでは想定内です。</div>
<div>
なので、そんなに負荷がない環境でMemoryもそんなに使わない。というのであれば、</div>
<div>
light.S1とlight.S2は変わりません。</div>
<div>
<br /></div>
<div>
次に100アクセス/100クライアントでチェック。</div>
<div>
#ab -n 100 -c 100 http://localhost/wordpress/</div>
<div>
<br /></div>
<div>
旧</div>
<div>
<div>
Requests per second: 1.83 [#/sec] (mean)</div>
<div>
Requests per second: 1.86 [#/sec] (mean)</div>
<div>
Requests per second: 1.89 [#/sec] (mean)</div>
</div>
<div>
<br /></div>
<div>
新</div>
<div>
<div>
Requests per second: 4.33 [#/sec] (mean)</div>
<div>
Requests per second: 3.74 [#/sec] (mean)</div>
<div>
Requests per second: 4.41 [#/sec] (mean)</div>
</div>
<div>
<br /></div>
<div>
見事に性能がアップしています。</div>
<div>
旧の方はクロック制限に見事に引っかかって伸び悩んでいるのに対して、</div>
<div>
制限が倍になった分が新しい方は伸びています。</div>
<div>
<br /></div>
<div>
価格が変わった分、変更しないと損なのは間違いないですが、</div>
<div>
性能面からみても、変更する価値は十分にあることが解りました。</div>
<div>
ハードウェアの認識も変わらず、あくまでクロックアップしただけのようなので、</div>
<div>
何か紐づいたアプリケーションを使っていても、そこまで気を遣う必要はなさそうです。</div>
<div>
<br /></div>
<div>
ちなみに月の途中で性能変更する際には、変更後は新たに課金が始まるので、</div>
<div>
上限(月額)まで達している場合は、新たに月が変わってからの方が良いかもしれません。</div>
<div>
<br /></div>
<div>
それでは、良いクラウド構築を。</div>
taka3110http://www.blogger.com/profile/04058645764439327338noreply@blogger.com1tag:blogger.com,1999:blog-1025845801374780428.post-14269185480676345612015-12-25T12:39:00.001+09:002015-12-25T12:54:23.999+09:00MeetUpでIDCFクラウドを楽しむ#この投稿はIDCF Cloud Advent Calendar 2015に寄稿しています。<br />
<br />
IDCFクラウドについて取り上げることが多いこのブログですが、<br />
もっとIDCFクラウドを楽しんだり、知るためにMeetUpをご紹介します。<br />
<br />
皆さん、IDCFクラウドMeetUpってご存知でしょうか。<br />
<a href="https://idcfcloudug.doorkeeper.jp/">https://idcfcloudug.doorkeeper.jp/</a><br />
twitterハッシュタグ: <a href="https://twitter.com/search?q=%23idcfug">#idcfug</a><br />
私も実行委員として関わらせてもらっているので、ちょっとご紹介を。<br />
<br />
約2か月に1回くらいの割合でユーザーが集まるMeetUpを実施してます。<br />
ユーザー主体で行っているので、ゆるふわな感じで登壇者を募って、<br />
その時に発表された新機能や実際に使用した事例などの情報を共有しています。<br />
<br />
IDCFクラウドMeetUpは以下の概要で開催しています。<br />
<br />
<ul>
<li>ユーザー主体のユーザーの為のコミュニティ</li>
<li>新規ユーザーを増やして裾野を広げる</li>
<li>既存ユーザの知識をシェアして習熟度を上げる</li>
<li>IDCFへフィードバックを行いサービスに反映してもらう</li>
<li>気の合う仲間たちと出会う</li>
<li>先進技術を楽しむ</li>
<li>ネガティブフィードバックも行える自由発言</li>
<li>他クラウドとの連携などなど</li>
</ul>
<br />
<div>
<div>
IDCFクラウドMeetUpの目的は</div>
<div>
<br /></div>
<div>
「業務でIDCFクラウドを使っている方や、これから業務で使いたいと考えている方が、ノウハウを共有する場所。」</div>
<div>
「課題意識が共有できる方たちと共通の話題でカジュアルに楽しく会話する場所。」</div>
<div>
「最新の技術に対してのノウハウや解決手法をシェアする場所。 IDCFクラウドの使い方が解らない・・・という方の不安を取り除く場所」 </div>
</div>
<div>
<br /></div>
<div>
という感じで、IDCFクラウドの情報を共有したり最新の技術をシェアしたり。</div>
<div>
気軽に集まれる環境をとっています。</div>
<div>
そのため、ユーザー企業に会議室をおかりして無料で集まれる勉強会スタイルをとっています。</div>
<div>
<br /></div>
<div>
<br />
<br />
初回は2015年8月に六本木の<a href="http://www.geeplus.jp/">ジープラ株式会社</a>にて会議室をおかりして開催しました。<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5rs1sfC7iET98d8r8Pqjjpm2C1EbquobgwnF1DUlgPudAZhBuplHs1Yg_p81jKTouoPyFkctD_kv69T2hnMCLxKrDYLw6yi9JJEDE4OGTh-j3Un_Q5C99G6bJl-bqdLIEvaWQofIFWQ3t/s1600/no.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5rs1sfC7iET98d8r8Pqjjpm2C1EbquobgwnF1DUlgPudAZhBuplHs1Yg_p81jKTouoPyFkctD_kv69T2hnMCLxKrDYLw6yi9JJEDE4OGTh-j3Un_Q5C99G6bJl-bqdLIEvaWQofIFWQ3t/s320/no.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">充実のノベルティ!w</td></tr>
</tbody></table>
初めての開催でしたが、増員対応という事で注目の高さを再認識しました。</div>
<div>
ASCII.jpさんで紹介して頂きました</div>
<div>
<a href="http://ascii.jp/elem/000/001/043/1043497/">http://ascii.jp/elem/000/001/043/1043497/</a></div>
<div>
ちなみに懇親会はジープラさんの系列店「九州鳥酒 とりぞの」さんで開催。</div>
<div>
20名近くの方が参加してお酒を片手に技術の話や最近のトレンドなどの話に花を咲かせました。</div>
<div>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIoLsEHAOxgxO5edPSCRVGV-7yZ_RcI2O9442O-Ft939wVbO4-QYh9QNcF33YAxbzZuRzSpvSL88GVsxBm9BPliUST6qw_3zMTVDHTxrjjCEjOUGbRyo2J3WF75PO0SY8oIUmhTNFegfhF/s1600/zono.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIoLsEHAOxgxO5edPSCRVGV-7yZ_RcI2O9442O-Ft939wVbO4-QYh9QNcF33YAxbzZuRzSpvSL88GVsxBm9BPliUST6qw_3zMTVDHTxrjjCEjOUGbRyo2J3WF75PO0SY8oIUmhTNFegfhF/s320/zono.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">とりぞのさんありがとうございました!</td></tr>
</tbody></table>
<br />
<br />
第二回は2015年11月に渋谷のA8.netでおなじみの<a href="http://www.fancs.com/">株式会社ファンコミュニケーションズ</a>にて開催!<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_7oXZ_ers5HjN0KhiUdk55Aj5F3tivhY3K261429u6TUzA-4L5XmTjQk8MD-In5hdxa4J413p-WLRCAxLiVI2vdN-dYwTNSwel-XcLCNr-fOlZvqdbFJDpK9qAWBcWfZzMcQg7H0ojvYE/s1600/CSUOm2NUkAAYo9T.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_7oXZ_ers5HjN0KhiUdk55Aj5F3tivhY3K261429u6TUzA-4L5XmTjQk8MD-In5hdxa4J413p-WLRCAxLiVI2vdN-dYwTNSwel-XcLCNr-fOlZvqdbFJDpK9qAWBcWfZzMcQg7H0ojvYE/s320/CSUOm2NUkAAYo9T.jpg" width="238" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">勉強会っぽい!</td></tr>
</tbody></table>
この回から他社クラウドとの連携というテーマも加わり、初回は<a href="http://www.ibm.com/developerworks/jp/bluemix/">Bluemix</a>との連携をご紹介。</div>
<div>
人数も初回から更に増加し、懇親会の参加者も増えて飛び込みLTもありました。</div>
<div>
普通のユーザー会ではそのクラウドだけのテーマが多かったりするんですが、</div>
<div>
IDCFクラウドMeetUpでは、よりIDCFクラウドを効果的に使う為にと委員会が考えて、</div>
<div>
他クラウドとの連携も良いんじゃないかという発想の元、シリーズ化した次第であります。</div>
<div>
なかなかの自由度です。</div>
<div>
<br /></div>
<div>
そして第三回は2016年1月28日に新宿の<a href="https://nhn-techorus.com/">NHNテコラス株式会社</a>にて開催が決定しました。<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdFfFGDmds5_XUTciDHXAq4DAMYja6eGP0QpufzSBUx_q68Ho6Fc2Ig-LcGg5BYo79qkHjpD14JCN1v8ppEX5shueVg_QHfi9P7UF2eeJpmP_WqKEDbxs78-8eYC6W_Y7e-u0H2eVMQRoM/s1600/ARTNIA_002top.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdFfFGDmds5_XUTciDHXAq4DAMYja6eGP0QpufzSBUx_q68Ho6Fc2Ig-LcGg5BYo79qkHjpD14JCN1v8ppEX5shueVg_QHfi9P7UF2eeJpmP_WqKEDbxs78-8eYC6W_Y7e-u0H2eVMQRoM/s320/ARTNIA_002top.jpg" width="212" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">スクエニさんと同じビルの13F!</td></tr>
</tbody></table>
第三回では・・・是非、足をお運び頂ければ!</div>
<div>
以下コミュニティに登録して是非開催のお知らせをゲットしてください。</div>
<div>
<a href="https://idcfcloudug.doorkeeper.jp/">https://idcfcloudug.doorkeeper.jp/</a></div>
<div>
<br /></div>
<div>
そして、IDCFクラウドMeetUpでは実行委員も募集しております!<br />
基本的にはMeetUpの開催内容を企画したり、飲んだり、場所を決めたり、飲んだり。<br />
そして忘年会を企画していろんな人に声をかけて集まってもらったり、飲んだり。<br />
というわけで、企画大好きな楽しい運営チームです!</div>
<div>
やってみたいな~。という方は遠慮せずにdoorkeeperの問合せからご連絡ください!</div>
<div>
MeetUpの時に実行委員に声をかけて頂いても結構です!ご参加をお待ちしております!</div>
<div>
東京以外でも開催したい!という声があれば是非ご連絡ください!</div>
<div>
(大阪では既に動きが!?)</div>
<div>
<br /></div>
<div>
さらにさらに、IDCFクラウドMeetUpでは会議室を貸していただける企業さんも募集中です!</div>
<div>
よろしくお願いします!</div>
<div>
<br /></div>
<div>
なんか宣伝が長々となりましたが、php7やansibleの話が聞けたり、</div>
<div>
次回もslackの話が出る予定だったりと、IDCFクラウドを知らなくても楽しめる構成になっていますので、</div>
<div>
クラウドに興味がある方は、ぜひぜひお誘いあわせの上、参加してみてください!</div>
<div>
<br /></div>
<div>
<br /></div>
taka3110http://www.blogger.com/profile/04058645764439327338noreply@blogger.com0tag:blogger.com,1999:blog-1025845801374780428.post-89629459608547752822015-12-21T11:33:00.001+09:002015-12-21T11:33:22.680+09:00IDCFクラウドの料金シミュレーターで500円クーポンの限界を探ってみる#この投稿はIDCF Cloud Advent Calendar 2015に寄稿しています。<br />
<br />
IDCFクラウドには「1か月試せる500円クーポン」がついてきます。<br />
これはlight.s1を1台1か月稼働させても無料で使えるという意味なんですが、<br />
時間単位での課金の為、別にlight.s1を1台1か月稼働させなくても、<br />
めちゃくちゃ大きいサーバを複数台たてて1時間500円分稼働させる。<br />
ということもできます。<br />
<br />
IDCFクラウドには料金シミュレーターがあります。<br />
<a href="https://www.idcf.jp/cloud/simulation.php?cl=cl_price">https://www.idcf.jp/cloud/simulation.php?cl=cl_price</a><br />
クラウドには大体ついている料金シミュレーターと同様、<br />
IDCFクラウドの料金シミュレーターも直感的に操作して料金を調べる事が出来ます。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1D_oSac40nCZ-8ROy4M6EIKPPy0OOLcaGRzI0hEtpLvKdknXfa67bWWP8-_TWVB8h6WixSqGUiKKx3D9kFkUxSS4pq43FJk2yCoMOU9BZ4rZ3OQdM2rXnv3H1LIBqXwWbKIUSsT_BgCzB/s1600/1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="197" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1D_oSac40nCZ-8ROy4M6EIKPPy0OOLcaGRzI0hEtpLvKdknXfa67bWWP8-_TWVB8h6WixSqGUiKKx3D9kFkUxSS4pq43FJk2yCoMOU9BZ4rZ3OQdM2rXnv3H1LIBqXwWbKIUSsT_BgCzB/s320/1.png" width="320" /></a></div>
<br />
<br />
とりあえずHighIOタイプのHighIO-5XL128を選んでみます。<br />
CPU 40<br />
Mem 128GB<br />
従量 370円/h<br />
上限 179,000円<br />
とりあえず、1時間370円らしいです。<br />
HighIOタイプは900GBがルートディスク+データディスクとして無料でついてきます。<br />
なので、ストレージは別に取られないので1時間370円です。<br />
OSは無償のCentOSを選択します。<br />
<br />
これで半分以上使ってるんですが、次にHighMemoryタイプのHighMEM-XL64を選んでみます。<br />
CPU 8<br />
Mem 64GB<br />
従量 124円/h<br />
上限 60,000円<br />
これでルートディスクは0.04円課金されるので、15GB分だと0.6円。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmNRAt7Z8Rh1m09nMs68juRxaTcpPy4_1QMdU_YZTBnUNjVCQqsQYpDQGcKw6yduqAc9PgIZUIxwgc81kHu7d2XJDFhdsY2SLL6gnfplCRYcVCupu4tK5IGSdHy12DB9dGNIZz9p113qve/s1600/2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmNRAt7Z8Rh1m09nMs68juRxaTcpPy4_1QMdU_YZTBnUNjVCQqsQYpDQGcKw6yduqAc9PgIZUIxwgc81kHu7d2XJDFhdsY2SLL6gnfplCRYcVCupu4tK5IGSdHy12DB9dGNIZz9p113qve/s320/2.png" width="153" /></a></div>
<br />
<br />
合計金額は494円となり、この構成で1時間試せる!という事が解りました。<br />
<br />
<br />
さて、次にどれだけ並べられるの?という事を試してみたいと思います。<br />
上限緩和の申請をしなければ仮想マシンのリソースリミットは20台です。<br />
なので、20台並べられる構成を考えてみます。<br />
<br />
HighCPU-L8を10台<br />
CPU 4<br />
Mem 8GB<br />
従量 38円/h<br />
上限 18,300円<br />
<br />
Standard-S4を10台<br />
CPU 1<br />
Mem 4GB<br />
従量 11円/h<br />
上限 5,300円<br />
<br />
で、計20台を500円で1時間分起動させることができます。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxnVG0DUDOTs3T0YmzpcmGSisLOcPAZnMlseJTrA1-Ec568OqAFsQfGxTr3CaVq_Ca9uzt9bqmn6rKptHXfEOQXjQAlxAUgr9sqYYIZasHI7YXDTALvaI4s61lm4Cj-kSdkzWBecQpZW9P/s1600/3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxnVG0DUDOTs3T0YmzpcmGSisLOcPAZnMlseJTrA1-Ec568OqAFsQfGxTr3CaVq_Ca9uzt9bqmn6rKptHXfEOQXjQAlxAUgr9sqYYIZasHI7YXDTALvaI4s61lm4Cj-kSdkzWBecQpZW9P/s320/3.png" width="152" /></a></div>
<br />
<br />
<br />
もちろん、Light.s1を複数台数時間立ててみるということもできますし、<br />
500円というクーポンを色々と試行錯誤して使ってみると、<br />
意外に500円でも色々出来るなーと再認識できるかと思います。<br />
是非お試しください。<br />
<br />
それでは、良いクラウド構築を。taka3110http://www.blogger.com/profile/04058645764439327338noreply@blogger.com0tag:blogger.com,1999:blog-1025845801374780428.post-78078431034909691222015-12-14T12:30:00.000+09:002015-12-14T12:34:44.540+09:00IDCFクラウドで東日本リージョンのWordPress環境を西日本リージョンに移して性能アップしてみる#この投稿はIDCF Cloud Advent Calendar 2015に寄稿しています。<br />
<br />
本ブログではIDCFクラウドの西日本リージョンを2回にわたってフォーカスしてみました。<br />
<a href="http://cloudyarouze.blogspot.jp/2015/11/idcf.html">東京からIDCFクラウド西日本リージョンを触ってみた</a><br />
<a href="http://cloudyarouze.blogspot.jp/2015/11/idcf_12.html">IDCFクラウド西日本リージョンがオールフラッシュだと言うので検証してみたら神速だった</a><br />
<br />
今回は3回目という事で西日本リージョンに移して性能アップするんかい!?<br />
というのを実際に検証プロセスを共有しながらやってみたいと思います。<br />
<br />
東日本リージョン上にWordpressを構築します。<br />
Light.S1でCentOS6.6を使用してインスタンスを立ち上げます。<br />
Wordpressは最近のだと負荷あんまりないので、ver3.0をインストールしてみます。<br />
ちなみにWordpressは全部デフォルトでやると2分で終わります。こんな感じ。<br />
<br />
[root@wordpress ~]# yum -y install httpd mysql-server php php-mysql<br />
[root@wordpress ~]# wget http://ja.wordpress.org/wordpress-3.0-ja.tar.gz<br />
[root@wordpress ~]# tar xzvf wordpress-3.0-ja.tar.gz<br />
[root@wordpress ~]# mv wordpress/wp-config-sample.php wordpress/wp-config.php<br />
[root@wordpress ~]# mv wordpress /var/www/html/<br />
[root@wordpress ~]# service mysqld start<br />
[root@wordpress ~]# mysql -uroot -hlocalhost -e "create database database_name_here"<br />
[root@wordpress ~]# mysql -uroot -hlocalhost -e "grant all privileges on *.* to username_here@localhost identified by 'password_here'"<br />
[root@wordpress ~]# service httpd start<br />
<br />
以上!<br />
<br />
この状態でIPアドレスでWebアクセスすれば見れるんですが、<br />
リージョン間で移動した時にリンクの解決やらで色々と面倒な事になるので、<br />
面倒ですけどDNSを設定してドメインでアクセスする事をお勧めします。。<br />
<br />
http://[ドメイン名]/wordpress/<br />
<br />
って感じでアクセスしてサイトの初期設定をします。<br />
初期設定したら再度上記のアドレスでWordpressコンテンツが見れる事を確認。<br />
これで一旦計測してみます。<br />
今回はteslaにサーバを立てました。そして同じteslaに居るマシンから計測するという、<br />
東日本リージョンに超絶ハンデを与えて確認してみます。<br />
<br />
確認のコマンドは以下。<br />
ab -n 10 -c 10 http://[ドメイン名]/wordpress/<br />
<div>
<br /></div>
結果はこんな感じでした。<br />
-----<br />
Concurrency Level: 10<br />
Time taken for tests: 1.441 seconds<br />
Complete requests: 10<br />
Failed requests: 0<br />
Write errors: 0<br />
Total transferred: 71330 bytes<br />
HTML transferred: 68760 bytes<br />
Requests per second: 6.94 [#/sec] (mean)<br />
Time per request: 1440.580 [ms] (mean)<br />
Time per request: 144.058 [ms] (mean, across all concurrent requests)<br />
Transfer rate: 48.35 [Kbytes/sec] received<br />
-----<br />
<br />
何回か実施しましたが、Requests per secondは6~7という感じでした。<br />
<br />
さて、この子をそのまま西日本リージョンに持っていこうと思います。<br />
先ずはnetworkの固有設定を削除してテンプレート化します。<br />
<br />
[root@wordpress ~]# rm -f /etc/udev/rules.d/70-persistent-net.rules<br />
<br />
「おまえ、syncしたのか?」と言われ続けた世代なので、一応儀式。<br />
<br />
[root@wordpress ~]# sync<br />
<br />
で、スナップショットとってテンプレートを作ってやります。ここが一番時間かかるかなー。3分くらい。<br />
(安心してください。無停止ですよ。)<br />
初めてやる人はこの辺は、詳しくドキュメントがあるのでこちらが参考になるかと。<br />
<a href="http://www.idcf.jp/cloud/pdf/manual_005.pdf">http://www.idcf.jp/cloud/pdf/manual_005.pdf</a><br />
ちなみにCentOS6.6がOSタイプに無いですけど6.4で大丈夫です。<br />
<br />
作ったテンプレートを選択してエクスポートからURLを発行します。<br />
発行したURLは後で使うのでメモ帳とかにコピーしておきます。<br />
<br />
ここで西日本リージョンにコンパネを切り替えて作業に入ります。<br />
さっき作ったテンプレートを移設するのでコンピューティングからテンプレートを選択します。<br />
テンプレート作成でテンプレートを作っていくんですが、<br />
URLのところにさっきエクスポートから発行したURLをhttpにして入れます。<br />
発行した時はhttpsで発行されますが、ここでインポートするときはhttpに書き換えます。<br />
OSタイプも似てるの選んだり、あとは適当でOKです。<br />
これで西日本リージョンへテンプレートのコピーが始まります。楽勝。<br />
ステータスがDownload Completeになれば完了。およそ2分程度。<br />
<br />
で、そのテンプレートを使って仮想マシンを作成すればokです。<br />
西日本リージョンが初の方はsshで入る鍵を作る必要があるのでご注意を。<br />
作ったサーバにログインすればさきほど東日本で作成した見慣れた環境があるはず。<br />
あれ?デジャヴ?と思ったらapacheとmysqlを起動してあげてください。<br />
<br />
DNSを西日本リージョンのサーバに向けて浸透を待ちます。<br />
(紛らわしいので東日本リージョンのサーバは落としておくと吉)<br />
これで準備完了。<br />
いよいよ西日本リージョンのサーバを計測します。<br />
超絶ハンデで東日本リージョンのさっきのサーバから計測します。<br />
<br />
ab -n 10 -c 10 http://[ドメイン名]/wordpress/<br />
<br />
結果はこれ。<br />
----<br />
Concurrency Level: 10<br />
Time taken for tests: 1.386 seconds<br />
Complete requests: 10<br />
Failed requests: 0<br />
Write errors: 0<br />
Total transferred: 71330 bytes<br />
HTML transferred: 68760 bytes<br />
Requests per second: 7.21 [#/sec] (mean)<br />
Time per request: 1386.119 [ms] (mean)<br />
Time per request: 138.612 [ms] (mean, across all concurrent requests)<br />
Transfer rate: 50.25 [Kbytes/sec] received<br />
----<br />
<br />
複数回実施しても平均的に6.5~7.5のスコアをマーク。<br />
超絶ハンデを与えたのにすげーぜ!西日本リージョン!<br />
<br />
とまぁ、ここまで書いてワクワクしている人には申し訳ないのですが、<br />
恐らくはリリースしたてという事もあるのかなぁと。<br />
この後、東日本リージョンと同じ負荷状況になった時にどうなるかは不明。<br />
なので、ご利用は計画的に。<br />
<br />
ただ、現時点では単純に性能アップが見込めるのは間違いなさそうです。<br />
レイテンシの問題を気にされる方が結構居ますが、<br />
日本内ですし、この程度であれば、大体のWebサイトは気にならない程度で済みます。<br />
まぁ、GCP使ってる人であればレイテンシは気にしないでしょうし、<br />
サーバ2~3台で運営しているのであれば、東日本から西日本に置き換えて性能見るのも、<br />
まぁ、1つの手ではないかなーと個人的には思います。<br />
画像が多いサイトは東日本のオブジェクトストレージに入れておけば、<br />
ユーザ側からはそんなにストレス無いんじゃないすかね。<br />
<br />
今回プロセスを共有してやってみましたが、DNSの浸透を抜かせば、<br />
全工程は大体10分程度で完結しますので、小腹が空いたら是非お試しください。<br />
<br />
それでは、よいクラウド構築を。taka3110http://www.blogger.com/profile/04058645764439327338noreply@blogger.com0tag:blogger.com,1999:blog-1025845801374780428.post-68972714576749556562015-11-12T05:53:00.000+09:002015-11-12T06:02:26.052+09:00IDCFクラウド西日本リージョンがオールフラッシュだと言うので検証してみたら神速だったIDCFクラウド西日本リージョンがリリースされました。<br />
このブログでも既にレイテンシについて取り上げました。<br />
<a href="http://cloudyarouze.blogspot.jp/2015/11/idcf.html">http://cloudyarouze.blogspot.jp/2015/11/idcf.html</a><br />
<br />
今回はオールフラッシュというDisk性能について迫ってみました。<br />
結論から言うと、速すぎ。爆速とか言っててごめんなさい。神速でした。<br />
これを500円で提供してしまうのは本当にクラウド業界にとって良い事なのだろうか?<br />
と余計な心配をユーザにさせてしまうくらい速いです。<br />
これが出来るし、やってしまうのがIDCFクラウドなんですよね。<br />
ほんと他のクラウドと違っていて尖ってて面白いです。<br />
<br />
今回はread性能をhdparmで確認する簡易的な性能測定しかしていないです。<br />
なのでこの記事を鵜呑みにせず、是非ご自身で反証をして頂きたい。<br />
クーポンもついてきて無料で試せますし、触った事無い方は是非触って確認してほしいです。<br />
また、writeも確認出来るような形で是非性能測定をしてみてほしいです。(丸投げ)<br />
<br />
各クラウドでインスタンスはミニマムなものを選択しています。<br />
比較はhdparm -tを5回で行いました。(間にioctlしてません)<br />
その結果、read速度は以下のようになりました。<br />
<br />
<b>GCP(標準) <i>12.8MB/sec</i></b><br />
<b>GCP(SSD) <i>233.39MB/sec</i></b><br />
<b>GMO ALTUS <i>67.428MB/sec</i></b><br />
<b>AWS(汎用SSD) <i>81.17MB/sec</i></b><br />
<b>IDCFクラウド東日本リージョン <i>209.786MB/sec</i></b><br />
<b>IDCFクラウド西日本リージョン <i><span style="color: blue;">609.334MB/sec</span></i></b><br />
<br />
元々東日本リージョンでもGCPのSSDと同じくらいの性能は出てたんですが、<br />
西日本リージョンでは影すら踏めない値が出てしまいました。<br />
何度も時間を変えて繰り返しやりましたが、ばらつきがあるものの、<br />
IDCFクラウドの西日本リージョンは最低でも300MB/secは出てました。<br />
なので、本当にこれだけの速度差があるのだと思います。<br />
GCPの標準Diskは冗長してるので速さ比較して判断するものではないですが<br />
しかし、想像以上に遅いですね。みんなLocalSSDを使いたがる理由がわかります。<br />
<br />
この部分だけで単純比較してもクラウドの優位性は影響しないと思っています。<br />
例えばAWSで言えば暖機させる事でさらに性能が出ますし、GCPはcpuがボトルネックでDisk性能が上がりきってないと思います。<br />
bufferだけでなく実際に-Tオプションを使用してcache補正する事でも変わる事もあるかと思います。<br />
そのクラウドにとって最適な状態で行わず、あくまでインスタンス立ち上げ直後のデフォルトの状態を使っています。<br />
また負荷のピークタイムもクラウドによって違うので一概に言えません。<br />
なので、是非ご自身のやり方で、そしてご自身の目でもご確認頂くのが良いと思います。<br />
新規アカウント登録すれば500円のクーポンがついてきますので、是非試してみてください。<br />
<a href="http://www.idcf.jp/cloud/">http://www.idcf.jp/cloud/</a><br />
<br />
それでは、よいクラウド構築を。taka3110http://www.blogger.com/profile/04058645764439327338noreply@blogger.com0tag:blogger.com,1999:blog-1025845801374780428.post-60463027990406815672015-11-10T16:00:00.000+09:002015-11-10T16:00:05.255+09:00東京からIDCFクラウド西日本リージョンを触ってみた久々のエントリーです。<br />
IDCFクラウドに待望の西日本リージョンが誕生しました!<br />
<br />
先週から触れていた(ステルステスト?)んですが、本日公式発表がありました。<br />
これでやっとIDCFクラウド内でディザスタリカバリ環境を構築したり、<br />
ロケーションを分けて対応をするといった事ができるようになりました。<br />
<br />
注目なのは西日本リージョンはDiskが爆速でオールフラッシュ仕様との事。<br />
これは結果によっては東で作るより西で作った方が速くなる可能性がありそうです。<br />
というわけで、やはり気になるのは東京からのレイテンシ。<br />
簡易的ですが早速測ってみました。<br />
<br />
AWSの東京リージョンから64byteのpingを100回打って応答速度をみてみました。<br />
<b>東日本リージョン 平均 <i>5.67msec</i></b><br />
<b>西日本リージョン 平均<i>15.247msec</i></b><br />
<b><i>東日本→西日本 平均 22.969msec</i></b><br />
ちなみに千葉のローカル環境からpingを打った応答速度も殆ど変わりませんでした。<br />
なので、東京からだと約10ミリ秒程度差があるようです。<br />
<br />
ちなみに、AWSの東京リージョンから他のロケーションだと、<br />
<b>GCP アジアパシフィック 平均<i>35.315msec</i></b><br />
<b>GMO ALTUS東京リージョン 平均<i>2.899msec</i></b><br />
という感じですので、さすがに東京と比べると地理的にレイテンシが高くなりますが、<br />
それでも10ミリ秒程度。逆にGCPで気にならない方は全く気にならないと思います。<br />
<br />
AWSのシンガポールリージョンからだと東日本の方が早い結果になりました。<br />
地理的に近いから~的な話よりも経路の問題が大きいようですね。<br />
<b>東日本リージョン→シンガポール 平均<i>71.217msec</i></b><br />
<b>西日本リージョン→シンガポール 平均<i>80.635msec</i></b><br />
<br />
ちなみに他のロケーションからですと、<br />
<b>GCP アジアパシフィック→シンガポール 平均<i>217.345msec</i></b><br />
<b>GMO ALTUS東京リージョン→シンガポール 平均<i>78.094msec</i></b><br />
という感じで、シンガポールに対しては東日本リージョンが1番早い結果になりました。<br />
<br />
10ミリ秒程度の差であれば、Diskの速度を考えると<br />
西日本で作った方が早くなりそうですね。<br />
今は未だオープンしたてで人が増えたらどうなるかわかりませんが、<br />
この感じだとかなり期待出来るんじゃないでしょうか。<br />
あ、ちなみに起動はIDCFクラウドですので勿論20秒仕様で爆速でした。<br />
<br />
現在、DRに必要な機能がIDCF内では殆ど完結しないので、<br />
DR設計にはRoute53等、別の何かを考える必要がありそうです。<br />
早くDNSにFailover機能や重みづけでのバランシング機能が付くと良いですね。<br />
<div>
あと、オブジェクトストレージのエンドポイントが西日本には無いようです。</div>
<div>
S3との互換性は高いので当分はS3が良い感じでしょうか。</div>
<div>
もしくは無料枠もありますし、東日本リージョンで我慢ですね。</div>
<div>
<br /></div>
<div>
次は西日本リージョン噂の爆速ディスクに迫る検証をしてみたいと思います。</div>
<div>
<br /></div>
<div>
それでは、よいクラウド構築を。</div>
taka3110http://www.blogger.com/profile/04058645764439327338noreply@blogger.com0tag:blogger.com,1999:blog-1025845801374780428.post-30047694744619115642015-08-10T07:00:00.000+09:002015-08-10T10:41:12.270+09:00Googleを怒らせると仕事にならない<span style="font-family: Arial,Helvetica,sans-serif;">こんにちは。 </span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">今回のテーマはクラウドというよりも検索といった方が良いかもしれませんね。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;">皆さん、普段ググッてますよね。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">googleで検索をする事をググる(ggr)などというのは周知のことかと。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;">先日とある環境でgoogleから検索拒否を食らって検索出来なくなる自体が発生しました。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">どうやら同じサブネット内にgoogleへロボットアクセスをしている人が居たらしく、</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">googleさんから人間のアクセスではないやろ?的な注意をされました。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;">最初の注意としては人とロボットを区別する為に、表示されるコードを入力させるというもの。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">表示されるコードを入力すると普通に検索出来るように戻ります。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">これを何回も繰り返すと、どうやら検索拒否となるようです。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;">で、実際に検索拒否になったときのメッセージがこちら。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Arial,Helvetica,sans-serif;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEge1fd352Pt6KGi9DNUcjqlKV76402XEuydbWhdwL3de5BTmf38xuufoIg1wWUaJVRyDlvpAt0DIw54RXTJoZzXINB8eSOdjfS7jGBNecEK1UBXt7x2rEEsh0JDbjhho0Mz3jq_8Ry8p2aB/s1600/google.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="86" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEge1fd352Pt6KGi9DNUcjqlKV76402XEuydbWhdwL3de5BTmf38xuufoIg1wWUaJVRyDlvpAt0DIw54RXTJoZzXINB8eSOdjfS7jGBNecEK1UBXt7x2rEEsh0JDbjhho0Mz3jq_8Ry8p2aB/s320/google.png" width="320" /></a></span></div>
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;">まぁ、Yahoo!も同じエンジン使っているので、Yahoo!で検索をすれば良いのですが、</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">普段からググッている人は、もう完全にしみこんでるわけですね。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">従って、Yahoo!で検索すればよくない?といいながら、Yahooをググッてるわけで。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">この瞬間に気付きましたね。(あ、こりゃ仕事にならないな。)と。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;">普段ググれる事が当たり前な分、ありがたみもなく普通に使っていましたが、</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">ググれなかった時の対応というのも、検討しておかないといけないかもなぁ。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"> と、ふと思いました。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;">一応、google、Yahoo、bingでブラウザを分けるというやり方を導入しました。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">googleはchrome、YahooはFirefox、bingはIEという感じで。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">同様のことが発生した際にはブラウザを変更して検索、対応することに。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;">え?検索プロバイダを変更するというやり方がスマート?</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">確かにそうなんですが、実際にこの局面になると、検索プロバイダの変更をググるという事態になったので、</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">やり方を知ってる人は良いんですが、パッと思いつかない人はブラウザ分けておけばいいと思います。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;">ちょっとした小ねたでした。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;">それでは、よいクラウド構築を。</span>taka3110http://www.blogger.com/profile/04058645764439327338noreply@blogger.com0tag:blogger.com,1999:blog-1025845801374780428.post-4262209366120751902015-08-07T07:00:00.000+09:002015-08-07T11:25:59.727+09:00S3へFailoverさせてソーリーページを表示させる<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;">運用しているとsorry pageを表示させたいという時があると思います。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">S3をWebsite Hostingさせていればソーリーページの運用も出来ます。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;">ソーリーページであればそこまで大きなファイルにならないでしょうし、</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">静的なものだと思いますので、S3のWebsite Hostingは使い勝手が良くなります。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">料金の計算方法やWebsite Hostingのやり方は以下のエントリーをご覧下さい。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">"S3でWebページを作る(Website Hosting)"</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">http://cloudyarouze.blogspot.com/2015/08/s3webwebsite-hosting.html </span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;">方法として今回はAWSのRoute53を使用します。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">Route53にはFailoverの機能がついている為、この機能を使えば簡単に実装出来ます。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;">今回は以下のような図を想定しています。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0dhtkCdTZwYMpaUXGJR4EZMc2q23UIDBJb47CyZBWTXznzayVbm4544wggTTZzqGG1rT8_X4Ok9q8EncwzuwZ2bKKoGAK3ZCYelM23jKdjb25VL80KLd-WGGLO4jsTN7O1Z_D5RJbXqKp/s1600/DNSFailover2S3.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0dhtkCdTZwYMpaUXGJR4EZMc2q23UIDBJb47CyZBWTXznzayVbm4544wggTTZzqGG1rT8_X4Ok9q8EncwzuwZ2bKKoGAK3ZCYelM23jKdjb25VL80KLd-WGGLO4jsTN7O1Z_D5RJbXqKp/s1600/DNSFailover2S3.png" /></a></span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;">メインで稼動しているのはEC2のインスタンスですが、何かしら障害があった際には、</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">DNSFailoverでDNSをS3へ向かせるというシナリオになります。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">切り替えには1分~3分程度掛かりますので、こちらが許容である必要があります。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;">今回の設定の前提条件としては、indexに対してヘルスチェックを行って、</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">コードの200が返ってきている状態で設定しています。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">別途ヘルスチェック用のページ等を用意する場合は読み替えて下さい。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">また、EC2instanceとS3は既に設定済みの状態で進めます。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">ドメインは以下を想定して作成しています。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">EC2instance用:test.pc-bto.info</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">サービス用(Failoverさせるドメイン):failover.pc-bto.info</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><i><b>※通常、静的ウェブホスティングではindex documentにindexファイル、</b></i></span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><i><b> error documentにはエラー時のファイルを指定して表示させますが、</b></i></span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><i><b> ソーリーページはどのページへリクエストが来ても表示させるようにしたいため、</b></i></span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><i><b> S3のWebsite Hostingの設定でerror documentとindex document両方に</b></i></span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><i><b> 同じファイルを指定します。これでどのようなパスでリクエストが来てもソーリーページが表示されます。</b></i></span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;">今回のチェックポイントとしては、</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">1.Route53でヘルスチェックの設定をする</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">2.Route53でEC2インスタンスのAレコードを設定する</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">3.Route53でEC2インスタンスのCNAMEレコードをFailover(primary)で設定する</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">4.Route53でS3のエンドポイントのCNAMEレコードをFailover(secondary)で設定する</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;">CNAMEとAレコードを同名で登録することは出来ません。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">S3はAレコードで登録する事は出来ませんので、EC2instance側をCNAMEに合わせる形にします。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">従って、EC2instanceは1度Aレコードを登録する必要があります。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;">それでは、実際にやっていきます。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;">まずはヘルスチェックを作成します。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Arial,Helvetica,sans-serif;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5ZUiPlGJY_d1zlBNSPwiOH6MSnruY_M9cs0dGD4-dFuTvzz81OAFCylYWc-BWuIXX5-DO7_UnnVsvHy1Ma5cl-KAJlyBxC-f2UeCWTtNrIVTlrgRi9M3oVzUNwwcdQjPH9ksdhULfJ_bg/s1600/21.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="137" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5ZUiPlGJY_d1zlBNSPwiOH6MSnruY_M9cs0dGD4-dFuTvzz81OAFCylYWc-BWuIXX5-DO7_UnnVsvHy1Ma5cl-KAJlyBxC-f2UeCWTtNrIVTlrgRi9M3oVzUNwwcdQjPH9ksdhULfJ_bg/s320/21.png" width="320" /> </a> </span></div>
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;">Nameには適当に名前を入れます。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">今回はEC2instance側は1台の想定でやっているため、IPAddressでInstanceのIPを指定。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">ELBの場合は、一旦CNAMEで別のドメイン名にした後、Domain Nameで登録することで対応可能。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">pathは省略してもindexがあれば問題ありません。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">今回は確認を早くしたいので、ルールはちょっと厳しめにしました。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">10秒毎(fast)にヘルスチェックを行い、2回失敗したらNGという形にしています。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">全部出来たらCreateをクリックして作成します。 </span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Arial,Helvetica,sans-serif;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcSz_2_qIhfakroh_r4eeQVzaabLUrpAUnJUXrz_d5RN1JGUCfiYpowaZg_xODTzUZEDcVoPeKunqq6YUwxnECn3ensovgQZMrRnB20ELRZcU8IDnRGctU7RmfooJrJKrDBYg-CKRmjX2S/s1600/22.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="283" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcSz_2_qIhfakroh_r4eeQVzaabLUrpAUnJUXrz_d5RN1JGUCfiYpowaZg_xODTzUZEDcVoPeKunqq6YUwxnECn3ensovgQZMrRnB20ELRZcU8IDnRGctU7RmfooJrJKrDBYg-CKRmjX2S/s320/22.png" width="320" /></a></span></div>
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;">追加したルールが表示されていることを確認します。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Arial,Helvetica,sans-serif;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1j7EOQUB63qyI2W0AFQiz2jHLLyg8jlUQR4xZIyV8ijfAPGVgSWANiQ2xNA_9j0iLRh-MeoPnIjtZ36iVNMG1uUdfLANjKs2JUjcEJPjtaRSTpnC1QcdGBqG4t_JqX_d4oADj50kEh4q6/s1600/23.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="99" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1j7EOQUB63qyI2W0AFQiz2jHLLyg8jlUQR4xZIyV8ijfAPGVgSWANiQ2xNA_9j0iLRh-MeoPnIjtZ36iVNMG1uUdfLANjKs2JUjcEJPjtaRSTpnC1QcdGBqG4t_JqX_d4oADj50kEh4q6/s320/23.png" width="320" /></a></span></div>
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;">次にAレコードを登録します。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">Hosted ZonesからCreate Record Setでレコード追加していきます。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">Nameにはサーバ用のドメインを付けます。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">ValueにはEC2instanceのIPを記載し、createボタンでレコードを確定します。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Arial,Helvetica,sans-serif;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizWiYlRpsUNsTFljB9CGIXCOhHjF4yYxrDLF3wMfRbRSU6de9eBKohN-7lpiLabecKaboKR6RDULMsD00281z3eQmrSAd1E1ZsV3S3LeuCLsjvt2ugKrK3FXBtXIyJ940jCA5GbtHKRNEW/s1600/24.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="144" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizWiYlRpsUNsTFljB9CGIXCOhHjF4yYxrDLF3wMfRbRSU6de9eBKohN-7lpiLabecKaboKR6RDULMsD00281z3eQmrSAd1E1ZsV3S3LeuCLsjvt2ugKrK3FXBtXIyJ940jCA5GbtHKRNEW/s320/24.png" width="320" /></a></span></div>
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;">次に実際のサービス用ドメインをCNAMEレコードで登録します。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">Nameにはサービス用ドメイン名(Failoverさせたドメイン名)を入力します。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">TypeはCNAMEを選択。TTLはフェイルオーバー用のレコードになりますので60にします。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">Valueには先ほど登録したAレコードのドメイン名を入力。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">RoutingPolicyをFailoverに変更 。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">Associate with Health CheckをYesにして、先ほど作成したヘルスチェック名を選択します。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">この設定でPrimary側で問題が発生した際に検知できるようになります。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Arial,Helvetica,sans-serif;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhw-I5MN0hbLtFyc7ztOCsbxDMxJn0JILesAqOMW6HykvHw8vX5i2mFYce90iz-HJo2rQiM7HgBRWtrlAqI0XERYoZCwjNHO_d3KtB21bm5XOGvSEadFmkDjdh4bKaxpWNqG4Elwktnio5R/s1600/25.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="165" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhw-I5MN0hbLtFyc7ztOCsbxDMxJn0JILesAqOMW6HykvHw8vX5i2mFYce90iz-HJo2rQiM7HgBRWtrlAqI0XERYoZCwjNHO_d3KtB21bm5XOGvSEadFmkDjdh4bKaxpWNqG4Elwktnio5R/s320/25.png" width="320" /></a></span></div>
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;">次はFailover先、Secondaryの設定をします。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">NameとTypeはPrimaryと一緒です。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">TTLを60秒にしてValueにはs3のエンドポイントを指定します。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">Routing PolicyにFailoverを指定して、Secondaryにチェックを入れます。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">SecondaryにはHealth Checkは不要です。この状態でCreateします。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Arial,Helvetica,sans-serif;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisdLnG7sB-_xC8f1QGMkO1txdAwXnsRcWQsKAWqP6Zw3MFFWf6tS8exo2h1b6iGp9rH22vpAu7EIHmDqz-IYA2a85KgsbsHDNV3I1Nnv3O2O2QY4p4Mg7D2zoIGvoV-8b2TyMYGFAx3MoT/s1600/26.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="164" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisdLnG7sB-_xC8f1QGMkO1txdAwXnsRcWQsKAWqP6Zw3MFFWf6tS8exo2h1b6iGp9rH22vpAu7EIHmDqz-IYA2a85KgsbsHDNV3I1Nnv3O2O2QY4p4Mg7D2zoIGvoV-8b2TyMYGFAx3MoT/s320/26.png" width="320" /></a></span></div>
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;">これでS3へのフェイルオーバーの設定が完了しました。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Arial,Helvetica,sans-serif;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfJMaNnSRTn3eWL6f_lQDIOFh786_wN_DU0f-vJCjbtDkwUTkt_ZmpX9NfPto84tUhbQTULMjy0WJtRd4HLfOxi_v_NabywvzLpGpmANA7XgHltu6Wtpjzc8RVOY3OgCLSbQkdCgAqxP90/s1600/27.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="167" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfJMaNnSRTn3eWL6f_lQDIOFh786_wN_DU0f-vJCjbtDkwUTkt_ZmpX9NfPto84tUhbQTULMjy0WJtRd4HLfOxi_v_NabywvzLpGpmANA7XgHltu6Wtpjzc8RVOY3OgCLSbQkdCgAqxP90/s320/27.png" width="320" /></a></span></div>
<br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;">切り替えの時間がそこまでタイトでなければ、良い方法ではないでしょうか。</span><br />
<br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;"><br />それでは、よいクラウド構築を。</span>taka3110http://www.blogger.com/profile/04058645764439327338noreply@blogger.com0tag:blogger.com,1999:blog-1025845801374780428.post-10235953986132806012015-08-06T07:30:00.000+09:002015-08-06T03:40:29.036+09:00S3でWebページを作る(Website Hosting)<span style="font-family: Arial,Helvetica,sans-serif;">今更(2015/08/06現在)ですがS3のWebsite Hostingです。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;">静的なページであればS3だけでWebサイトを公開可能(ウェブサイトホスティング)です。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">そもそもS3って何?という方は以下を参照願います。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">http://aws.amazon.com/jp/s3/</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;">AWSは勝手にどんどん値下げしてくれるので、知らないうちにどんどん安くなっていきます。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">リリース当時は10円でウェブホスティングとか謳っていた記憶がありますが、</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">もはや1GBで4.2円程度。(1$125円で計算)</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">たとえドル円レートが1$150円になっても5円を切ってます。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">S3にはリクエスト課金があります。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">たとえばHTMLと画像が4点で構成した合計1MB程度のペラ1のページを作った場合、</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">ファイルが全てS3に置いてあれば1回の表示にHTML+画像4点で5リクエスト必要となります。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;">月間アクセス数が100万程度であれば、500万リクエストです。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">この記事を書いている段階で1万リクエストで$0.0037なので、$1.85で231.25円となります。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;">トラフィックがこのケースだと100万x1MBで約977GBになります。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">無料分の1GBを抜いて976GBとした場合、$136.64で17080円となります。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">このケースでは、単純計算で17080+231.25+4.2=17316円かかる形となります。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;">やはりAWSはトラフィック次第で高くなるんですよね。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">Cloudfrontを使っても同じくらいの価格です。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;">月間1万リクエストくらいで300KB位のページであれば、60円程度です。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">ここまで落ちると最適なサイトパターンは大体読めてくると思います。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;">イメージとしては以下。簡単ですが・・・。(Route53は使わなくてもok)</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Arial,Helvetica,sans-serif;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5k1MH90TL_3jcw5rULQVoxtai-hjzO7F9FInyXcfZahVMaekoIHEUlYzEsjGh_8GbUQYaK3Fq2PhJJFY8Mx8K8Pl2d0KjXzkUC6rFDz4Q7QszVzSvk5O6d9cq9Q0XdDm2c5KZBPbUqxWn/s1600/S3WebsiteHosting.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5k1MH90TL_3jcw5rULQVoxtai-hjzO7F9FInyXcfZahVMaekoIHEUlYzEsjGh_8GbUQYaK3Fq2PhJJFY8Mx8K8Pl2d0KjXzkUC6rFDz4Q7QszVzSvk5O6d9cq9Q0XdDm2c5KZBPbUqxWn/s1600/S3WebsiteHosting.png" /></a></span></div>
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<br />
<span style="font-family: Arial,Helvetica,sans-serif;">実施方法は下記に公式ドキュメントがあります。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><a href="https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/dev/website-hosting-custom-domain-walkthrough.html">https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/dev/website-hosting-custom-domain-walkthrough.html</a></span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;">肝心の実施方法ですが、注意する点は3つです。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">1.ドメイン名でS3バケットを作る</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">2.Website Hostingの設定をする</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">3.バケットポリシーを設定する</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;">それではS3にバケットを作ります。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">バケット名はHTTPアクセスさせたいドメイン名(FQDNの最後のドットを抜いたもの)です。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Arial,Helvetica,sans-serif;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgRnNhpkw2pZVCygJx9ylENYYmaw6PUiLkcZF9vrhaT55lZnf-6zBmv6MAVsyz_Ab8Ji3XxSaTWthg5QTKu_6JQIK_-ga9QhQugJRnR5d9jHgLbvGiKYth7nV5kTzadB8gtQBmSa2GrhLq/s1600/1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="155" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgRnNhpkw2pZVCygJx9ylENYYmaw6PUiLkcZF9vrhaT55lZnf-6zBmv6MAVsyz_Ab8Ji3XxSaTWthg5QTKu_6JQIK_-ga9QhQugJRnR5d9jHgLbvGiKYth7nV5kTzadB8gtQBmSa2GrhLq/s320/1.png" width="320" /></a></span></div>
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;">作成したらWebsite Hostingの設定をします。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">ここで青線のエンドポイントをコピーしておきます。(後でDNSに登録します。)</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">indexのファイルを指定します。また、エラー時に特定ファイルを表示させたい場合は、</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">error documentの指定もします。設定しない場合はS3のエラーページが出ます。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Arial,Helvetica,sans-serif;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkV0p38a4ybJ-lKEE4V3cTGgoXS4F7Ut5z8FiiiHrZjj1pzaoe_1Wy9pOiQdzBahJVpO1z0_0IYZBp-lKw0UKwvtNMY4QpGaQXLj9AjZsH14fz_35hOwU9Lg61ggwhJXFuVJGtotwsXNpr/s1600/2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="254" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkV0p38a4ybJ-lKEE4V3cTGgoXS4F7Ut5z8FiiiHrZjj1pzaoe_1Wy9pOiQdzBahJVpO1z0_0IYZBp-lKw0UKwvtNMY4QpGaQXLj9AjZsH14fz_35hOwU9Lg61ggwhJXFuVJGtotwsXNpr/s320/2.png" width="320" /></a></span></div>
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;">次はVirtualHost出来るようにバケットポリシーを設定します。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Arial,Helvetica,sans-serif;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEtlCGjGATW1oX0vNcRLVfmjNzBGhM2IGTQiLBV0d9AtuUeGzJHgi-BH0rAk8S4j1NHGr6OhZXyeL6y3JkgB00j4THVn0c-KTZi6uY73oPKy4y5KYbvVNQRs-0c-PycMk7suqV1JmwIxC_/s1600/3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="227" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEtlCGjGATW1oX0vNcRLVfmjNzBGhM2IGTQiLBV0d9AtuUeGzJHgi-BH0rAk8S4j1NHGr6OhZXyeL6y3JkgB00j4THVn0c-KTZi6uY73oPKy4y5KYbvVNQRs-0c-PycMk7suqV1JmwIxC_/s320/3.png" width="320" /></a></span></div>
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;">バケットポリシーは公式に記載されている通りで問題ありません。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">青線部分を今回作成したバケット名(要するにドメイン名)に変更します。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Arial,Helvetica,sans-serif;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8eqKquzRywoDIYlwlw_idqElXFzw-HKpdp1xhwk0GmOvxTbFlgIrdQwltDsTz292ebTkCz-iqWLR5PRkfz0FgQdpdpqWdXq4U6UJK0WxNCioTMChzTHWSaWkA-M1vdeGOxThX4zWZJfkG/s1600/4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="237" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8eqKquzRywoDIYlwlw_idqElXFzw-HKpdp1xhwk0GmOvxTbFlgIrdQwltDsTz292ebTkCz-iqWLR5PRkfz0FgQdpdpqWdXq4U6UJK0WxNCioTMChzTHWSaWkA-M1vdeGOxThX4zWZJfkG/s320/4.png" width="320" /></a></span></div>
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;">あとはこのバケットにindex.htmlをアップロードすればS3側の準備は完了。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">さきほどコピーしたエンドポイントをCNAMEとしてレコード登録すればアクセス出来ます。</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;">それでは、よいクラウド構築を。</span>taka3110http://www.blogger.com/profile/04058645764439327338noreply@blogger.com0tag:blogger.com,1999:blog-1025845801374780428.post-84681906239010364402015-08-05T07:54:00.003+09:002015-08-05T14:03:20.803+09:00IDCFクラウドでGitLabを構築<div>
<span style="font-family: 'MS Mincho'; orphans: 2; text-align: -webkit-auto; widows: 2;">久しぶりにブログを書きます。</span><br />
<span style="font-family: 'MS Mincho'; orphans: 2; text-align: -webkit-auto; widows: 2;">今回は500円でGitLabを構築します。</span></div>
<div>
<span style="font-family: 'MS Mincho'; orphans: 2; text-align: -webkit-auto; widows: 2;">今更ですが、IDCFさんが連休前に宿題として出されていたものですねw</span></div>
<div>
<br style="font-family: 'MS Mincho'; orphans: 2; text-align: -webkit-auto; widows: 2;" />
<span style="font-family: 'MS Mincho'; orphans: 2; text-align: -webkit-auto; widows: 2;">IDCFクラウドのLight.S1を用意します。 </span><br />
<span style="font-family: 'MS Mincho'; orphans: 2; text-align: -webkit-auto; widows: 2;">ubuntuが楽なのでubuntuで作りましょう。 </span><br />
<span style="font-family: 'MS Mincho'; orphans: 2; text-align: -webkit-auto; widows: 2;">ファイアウォール等の設定はめちゃ楽ガイドを見て頂ければ。 </span><br />
<span style="font-family: 'MS Mincho'; orphans: 2; text-align: -webkit-auto; widows: 2;">http://www.idcf.jp/cloud/pdf/IDCFCloud_installation_guide.pdf </span><br />
<br style="font-family: 'MS Mincho'; orphans: 2; text-align: -webkit-auto; widows: 2;" />
<span style="font-family: 'MS Mincho'; orphans: 2; text-align: -webkit-auto; widows: 2;">ちなみにめちゃ楽ガイドではCentOS6.5で記載されています。 </span><br />
<span style="font-family: 'MS Mincho'; orphans: 2; text-align: -webkit-auto; widows: 2;">今回この記事で使用しているのはubuntu14.04です。 </span><br />
<br style="font-family: 'MS Mincho'; orphans: 2; text-align: -webkit-auto; widows: 2;" />
<br style="font-family: 'MS Mincho'; orphans: 2; text-align: -webkit-auto; widows: 2;" />
<span style="font-family: 'MS Mincho'; orphans: 2; text-align: -webkit-auto; widows: 2;">gitlabの以下URLでOSを選択する画面になりますので選択します。 </span><br />
<span style="font-family: 'MS Mincho'; orphans: 2; text-align: -webkit-auto; widows: 2;">https://about.gitlab.com/downloads/ </span><br />
<br style="font-family: 'MS Mincho'; orphans: 2; text-align: -webkit-auto; widows: 2;" />
<span style="font-family: 'MS Mincho'; orphans: 2; text-align: -webkit-auto; widows: 2;">あとは記載通りです。(約10分) </span><br />
<span style="font-family: 'MS Mincho'; orphans: 2; text-align: -webkit-auto; widows: 2;">IDCFクラウドはrootログインなのでsudoの部分は消して良いでしょう。 </span><br />
<br style="font-family: 'MS Mincho'; orphans: 2; text-align: -webkit-auto; widows: 2;" />
<span style="font-family: 'MS Mincho'; orphans: 2; text-align: -webkit-auto; widows: 2;">apt-get install openssh-server ca-certificates postfix</span><br />
<span style="font-family: 'MS Mincho'; orphans: 2; text-align: -webkit-auto; widows: 2;">curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | bash</span><br />
<span style="font-family: 'MS Mincho'; orphans: 2; text-align: -webkit-auto; widows: 2;">apt-get install gitlab-ce</span><br />
<span style="font-family: 'MS Mincho'; orphans: 2; text-align: -webkit-auto; widows: 2;">gitlab-ctl reconfigure</span><br />
<br style="font-family: 'MS Mincho'; orphans: 2; text-align: -webkit-auto; widows: 2;" />
<span style="font-family: 'MS Mincho'; orphans: 2; text-align: -webkit-auto; widows: 2;">※自動的にミドルウェアも全部入れてくれます。 </span><br />
<span style="font-family: 'MS Mincho'; orphans: 2; text-align: -webkit-auto; widows: 2;">※2015/05/12時点で「GitLab 7.10.4」がインストールされます。 </span><br />
<br style="font-family: 'MS Mincho'; orphans: 2; text-align: -webkit-auto; widows: 2;" />
<span style="font-family: 'MS Mincho'; orphans: 2; text-align: -webkit-auto; widows: 2;">ちょっとmemoryが足りなくなるのでswapを1G位積んどきましょう。 </span><br />
<br style="font-family: 'MS Mincho'; orphans: 2; text-align: -webkit-auto; widows: 2;" />
<span style="font-family: 'MS Mincho'; orphans: 2; text-align: -webkit-auto; widows: 2;">dd if=/dev/zero of=/swap bs=1024 count=1048576</span><br />
<span style="font-family: 'MS Mincho'; orphans: 2; text-align: -webkit-auto; widows: 2;">mkswap /swap</span><br />
<span style="font-family: 'MS Mincho'; orphans: 2; text-align: -webkit-auto; widows: 2;">swapon /swap </span><br />
<span style="font-family: 'MS Mincho'; orphans: 2; text-align: -webkit-auto; widows: 2;">echo "/swap swap swap defaults 0 0" >> /etc/fstab</span><br />
<br style="font-family: 'MS Mincho'; orphans: 2; text-align: -webkit-auto; widows: 2;" />
<span style="font-family: 'MS Mincho'; orphans: 2; text-align: -webkit-auto; widows: 2;">※swap積まないとrails側で処理出来ず、500エラーになります。 </span><br />
<br style="font-family: 'MS Mincho'; orphans: 2; text-align: -webkit-auto; widows: 2;" />
<span style="font-family: 'MS Mincho'; orphans: 2; text-align: -webkit-auto; widows: 2;">あとはブラウザでアクセスします。 </span><br />
<span style="font-family: 'MS Mincho'; orphans: 2; text-align: -webkit-auto; widows: 2;">※Passwordを変更する為に直ぐにアクセスして変更しましょう。 </span><br />
<span style="font-family: 'MS Mincho'; orphans: 2; text-align: -webkit-auto; widows: 2;">http://IPアドレス/ </span><br />
<span style="font-family: 'MS Mincho'; orphans: 2; text-align: -webkit-auto; widows: 2;">Username: root </span><br />
<span style="font-family: 'MS Mincho'; orphans: 2; text-align: -webkit-auto; widows: 2;">Password: 5iveL!fe </span><br />
<br style="font-family: 'MS Mincho'; orphans: 2; text-align: -webkit-auto; widows: 2;" />
<br style="font-family: 'MS Mincho'; orphans: 2; text-align: -webkit-auto; widows: 2;" />
<span style="font-family: 'MS Mincho'; orphans: 2; text-align: -webkit-auto; widows: 2;">はい。これで500円gitlabが出来ました。 </span></div>
<div>
<span style="font-family: 'MS Mincho'; orphans: 2; text-align: -webkit-auto; widows: 2;"><br /></span></div>
<div>
<span style="font-family: 'MS Mincho'; orphans: 2; text-align: -webkit-auto; widows: 2;">それでは、よいクラウド構築を。</span></div>
taka3110http://www.blogger.com/profile/04058645764439327338noreply@blogger.com0tag:blogger.com,1999:blog-1025845801374780428.post-34273211633289177442015-03-12T20:54:00.001+09:002015-03-13T13:18:25.342+09:00VPSからIDCFクラウドにrsyncだけで移設した話先日、VPSからIDCFに個人的に借りていたサーバを移設しました。<br />
今回はその時に移設した方法をご紹介します。<br />
<br />
尚、今回は試しにいつもと違うエディタ使ったら見にくくなりました。ご了承下さいorz<br />
<br />
今まで自分のメールやWebサイト的なものはVPS(KVM)で稼動していました。 <br />
超絶安定稼動していたので移設等は考えていなかったのですが、 <br />
オペミスやら何やらがあったらしく、極めつけはブロードキャストストーム。。 <br />
これは早めに解約しなければデータもなくなるんじゃないか?という危機感を抱き、 <br />
どこかに移設しようと思い立った訳であります。<br />
ただわざわざミドルウェアを構築しなおしてやる程の話でもないので、 <br />
2時間停止のメンテ前提で一気にrsyncで移設しました。<br />
<br />
使用用途:Web/Mailサーバ<br />
apache + MySQLでCMSはConcrete5、Wordpressの2つをインストールしてありました。 <br />
Mailはpostfix + Dovecot を Webメーラーとpostfixadminで操作する感じでした。 <br />
それぞれ複数特に特殊な事もしてません。<br />
<br />
<hr />
<em>VPSのスペック</em><br />
<table>
<thead>
<tr>
<th>価格</th>
<th>1000円弱</th>
</tr>
</thead>
<tbody>
<tr>
<td>Mem</td>
<td>2GB (使用としてはほぼCacheでbufferも162MB程度)</td>
</tr>
<tr>
<td>Disk</td>
<td>50G (常時使用領域は9GB程度)</td>
</tr>
<tr>
<td>CPU</td>
<td>2core(共有)</td>
</tr>
</tbody></table>
<hr />
<br />
移設候補としてはAWSのt2.microや新しいGMOクラウド等を視野に入れてましたが、 <br />
最終的にコストパフォーマンスが最も優れたIDCFクラウドのlight.S1に移設する事にしました。<br />
<em></em><br />
<em>light.S1のスペック(標準)</em><br />
<table>
<thead>
<tr>
<th>価格</th>
<th>500円</th>
</tr>
</thead>
<tbody>
<tr>
<td>CPU</td>
<td>1core</td>
</tr>
<tr>
<td>MEM</td>
<td>1GB</td>
</tr>
<tr>
<td>Disk</td>
<td>15GB</td>
</tr>
<tr>
<td>トラフィック</td>
<td>3TBまで無料</td>
</tr>
<tr>
<td>オブジェクトストレージ</td>
<td>50GBまで無料</td>
</tr>
<tr>
<td>監視ツール</td>
<td>Mackerel ホスト数無制限 無料</td>
</tr>
</tbody></table>
<hr />
<br />
全部で500円(税込)です。 <br />
<br />
元々1000円弱使っていたので、その予算であれば2台冗長も可能です。 <br />
スナップショットも1GB30円程度なので、どちらの運用でも1000円以内で収まります。 <br />
今回はオブジェクトストレージを使ってバックアップをする形で、 <br />
500円以内に収めてしまおうとおもいます。<br />
<br />
今回は検証や自分のドメインのWebサイトなので2時間程度停止して行う事にしました。 <br />
(メールについてはセカンダリのサーバが無い場合建てた方が良いです。)<br />
今回の作業の順番としては以下のとおり。<br />
<ol>
<li>移行先サーバの準備</li>
<li>コンテンツの移設</li>
<li>DNSの変更</li>
</ol>
ミドルウェア等を構築しなおすと色々と面倒臭いのでrsyncで丸ごと移設させます。 <br />
今回はVPS側はCentOS6.2だったのですが、IDCFクラウドにはCentOS6.5からしか <br />
テンプレートがないので、強引に実行する事にしました。 <br />
(本来、バージョンを合わせないと後々面倒になります。)<br />
<br />
先ずは移行先サーバの準備をします。 <br />
詳しいことはめちゃ楽ガイドに書いてありますので省きます。 <br />
<a href="http://www.idcf.jp/cloud/pdf/IDCFCloud_installation_guide.pdf">http://www.idcf.jp/cloud/pdf/IDCFCloud_installation_guide.pdf</a><br />
サーバを作ってネットワークの設定をしてsshで接続出来れば完了。 <br />
<br />
あとはコンテンツの移設です。ミドルウェアを停止していきます。 <br />
うちの場合は、以下を停止しました。<br />
<br />
<pre class="prettyprint"><code class=" hljs vala"><span class="hljs-preprocessor"># /etc/init.d/httpd stop</span>
<span class="hljs-preprocessor"># /etc/init.d/postfix stop</span>
<span class="hljs-preprocessor"># /etc/init.d/dovecot stop</span>
<span class="hljs-preprocessor"># /etc/init.d/mysqld stop</span></code></pre>
<br />
停止したら一気にrsyncでもってきます。<br />
/etc領域にクラウド毎に必要なファイルが結構あったりするので、deleteオプションを入れてません。 <br />
その移設先のクラウド特有の変更してはいけないファイルが解っていれば、 <br />
事前にrsyncのexcludeに追加しておきましょう。 <br />
<br />
コンソール操作が出来るクラウドであれば何とかなりますが(まさに今回救済されましたw)、 <br />
出来ない場合は致命的になり再起動後に上がってこなくなります。<br />
以下は移設先から実行する例です。<br />
<br />
<pre class="prettyprint"><code class=" hljs haml">rsync \
# システムディレクトリ
-<span class="ruby">-exclude=<span class="hljs-regexp">/proc \
</span></span> -<span class="ruby">-exclude=<span class="hljs-regexp">/sys \
</span></span># デバイスファイル
-<span class="ruby">-exclude=<span class="hljs-regexp">/dev\
</span></span># lost+found (破損しているファイル置き場。無ければ不要。)
-<span class="ruby">-exclude=<span class="hljs-regexp">/boot/lost</span>+found \
</span> -<span class="ruby">-exclude=<span class="hljs-regexp">/lost+found \
</span></span># リムーバブルメディア
-<span class="ruby">-exclude=<span class="hljs-regexp">/media \
</span></span> -<span class="ruby">-exclude=<span class="hljs-regexp">/mnt \
</span></span># ネットワーク設定
-<span class="ruby">-exclude=<span class="hljs-regexp">/etc/sysconfig</span><span class="hljs-regexp">/network \
</span></span> -<span class="ruby">-exclude=<span class="hljs-regexp">/etc/sysconfig</span><span class="hljs-regexp">/network-scripts \
</span></span># カーネル関連
-<span class="ruby">-exclude=<span class="hljs-regexp">/boot \
</span></span> -<span class="ruby">-exclude=<span class="hljs-regexp">/etc/sysconfig</span><span class="hljs-regexp">/modprobe.conf \
</span></span> -<span class="ruby">-exclude=<span class="hljs-regexp">/lib/modules</span> \
</span># テンポラリディレクトリ
-<span class="ruby">-exclude=<span class="hljs-regexp">/tmp \
</span></span> -<span class="ruby">-exclude=<span class="hljs-regexp">/var/tmp</span> \
</span># ファイルシステムの自動マウント設定
-<span class="ruby">-exclude=<span class="hljs-regexp">/etc/fstab</span> \
</span># DNSのresolv設定(自動で生成される場合が多い為)
-<span class="ruby">-exclude=<span class="hljs-regexp">/etc/resolv</span>.conf \
</span># ログファイル(上書きをしてはいけない場合のみ)
-<span class="ruby">-exclude=<span class="hljs-regexp">/var/log</span> \
</span> -<span class="ruby">alze ssh [移行元]<span class="hljs-symbol">:/</span> /</span></code></pre>
<br />
これで実行して後は待つだけです。簡単ですね。 <br />
容量的には8GB程度くらいでしたが、Global越しに30分くらいで終わりました。<br />
移設先でミドルウェアを起動して確認を行います。<br />
<br />
<pre class="prettyprint"><code class=" hljs vala"><span class="hljs-preprocessor"># /etc/init.d/httpd start</span>
<span class="hljs-preprocessor"># /etc/init.d/postfix start</span>
<span class="hljs-preprocessor"># /etc/init.d/dovecot start</span>
<span class="hljs-preprocessor"># /etc/init.d/mysqld start</span></code></pre>
<br />
ここで起動しなかったり、Webが見えなかったり、メールが飛ばなかったりした場合は、 <br />
別の問題が発生している可能性が高いので切り戻しを考えて、作戦を練り直しましょう。<br />
<br />
起動したらvirtualhostもしっかりクライアント側のhostsに書いて確認します。 <br />
問題なければ移設先のOSを再起動しますが、 <br />
問題がある場合は、大体、ここで死にます(微笑)<br />
要するに<strong>上がってこないパターン</strong>ですね。<br />
<br />
上がってこないケースはカーネルパニックやネットワークトラブルです。 <br />
カーネルパニックの場合はgrubやfstab周りを確認してみましょう。<br />
最近のクラウドはコンソールがついているのでコンソールから復帰させることが出来ます。 <br />
IDCFクラウドもコンソールを触れるので、何かあっても問題は確認可能です。 <br />
<br />
今回は再起動をしたところ、network疎通が出来なくなりました。 <br />
コンソールで確認したところ、eth0を認識しなくなり、dhcpが動作しなかった模様です。 <br />
今回はudevも持ってきてしまったのでそこが影響しました。<br />
/etc/udev/rules.d/70-persistent-net.rules<br />
上記から重複エントリーになってる部分を削除して、本来のデバイス(今回追加されているデバイス)をeth1からeth0へ元に戻します。 <br />
<br />
詳細は以下URLを参考にすると解り易いと思います。<br />
<br />
<a href="http://qiita.com/tsumekoara/items/964182390a08b678d576">http://qiita.com/tsumekoara/items/964182390a08b678d576</a> <br />
<em>[VirtualBox 4.3] 複製したゲストOS (CentOS) がネットワークに繋がらない: Device eth0 does not seem to be present, delaying initialization が表示された際の対応(tsumekoara)</em><br />
<br />
上記を変更してリブートをしたら正常に上がってきてくれました。 <br />
再度、問題ないかアクセスやサービスのチェックを行います。 <br />
問題がなければDNSを切り替えて終了になります。<br />
<br />
全ての作業をあわせて約1時間程度でした。 <br />
全てのサービス停止が必要になりますが、1時間程度で移設出来れば十分ですね。 <br />
<br />
コンテンツが多い場合でも先にコンテンツを移行させて、 <br />
rsyncで同期を常にとっておいて、移設のタイミングの時の負荷を減らすことも可能です。 <br />
容量に合わせてプランニングすると良いと思います。<br />
<br />
ちなみに今回のrsync移設ですが、稼働中のサーバをAWSに移設したい! <br />
なんて時にloopbackにrsyncでコピーしてAMI化するなんて事もしてました。 <br />
<br />
中にはCDをマウントして事前に作った環境をrsyncで同様にコピーしておいて、 <br />
それをネット環境に繋げないデータセンターに持ち込んで展開する。<br />
なんて方もいたので、色々汎用性があると思います。<br />
移設のハードルを下げてくれると思いますので、ぜひ試してみて下さい。<br />
<br />
取り急ぎ移設しましたがバックアップ等の設定は未だしていません。 <br />
そのうち色々と必要になると思うのでこのサーバの運用設定等について、 <br />
今後は書いていきたいと思います。<br />
<br />
今回は自分のVPSからの移設ついでに簡単にサーバ移設する方法をご紹介しました。<br />
<br />
それでは、よいクラウド構築を。taka3110http://www.blogger.com/profile/04058645764439327338noreply@blogger.com0tag:blogger.com,1999:blog-1025845801374780428.post-69289148647024110722015-01-23T01:16:00.000+09:002015-01-23T01:16:21.341+09:00Yahoo!ビッグデータインサイトとTableauOnlineを連携させる先日、IDCフロンティアさんのハンズオンセミナーに行ったのですが、<br />
TableauのMyPageをアクティベーションの問題(凄い時間かかる)から作る事が出来ず、<br />
失意のままセミナーが終わってしまったので、復習がてら資料読みながらやってみます。<br />
<br />
ハンズオンセミナーは定期的にやるという話ですので、<br />
是非、以下URLをウォッチして確認してみてください。<br />
<a href="http://idcf.doorkeeper.jp/">http://idcf.doorkeeper.jp/</a><br />
<br />
今回のゴールは、<br />
YBIとTableauOnlineを連携させて、TableauOnline上でグラフ化してみる。<br />
ところまでやりたいと思います!<br />
※Tableauのグラフ生成操作や詳しく解析手法を説明するという事は、<br />
今回の記事ではしませんのでご注意下さい!<br />
<br />
<h3>
今回用意する環境</h3>
<b>IDCFクラウド</b><br />
light.S1<br />
Ubuntu Server 14.04 LTS 64-bit<br />
<b>Yahoo!ビッグデータインサイト(以降YBI)のアカウント</b><br />
<b>TableauOnlineのアカウント</b><br />
です。<br />
YBIもTableauもクレジットカードは今回不要です。<br />
YBIは無料コースがありますし、Tableauは試用期間があります。<br />
気楽に進めて下さい。<br />
<br />
IDCFの初期構築はめちゃ楽ガイドをご参照ください。<br />
<a href="http://www.idcf.jp/pdf/cloud/IDCFCloud_installation_guide.pdf">http://www.idcf.jp/pdf/cloud/IDCFCloud_installation_guide.pdf</a><br />
<br />
ちなみに2015/01/22時点で、新規ユーザは3000円分のクーポンついてます。<br />
(3000円はlight.S1を半年上げっ放しでもOKな金額なので安心して検証出来ます!)<br />
お友達紹介キャンペーンも併用すると最大6000円分のクーポンがついてきますので、<br />
是非ご活用ください!(ご紹介は taka3110_pcc でお願いします!w)<br />
<br />
<br />
その他のサイトのアカウント類は先に作っておきましょう。<br />
(特にTableauはアクティベーションに1時間くらい掛かります。)<br />
<br />
<h3>
Yahoo!ビッグデータインサイトのアカウント作成</h3>
以下URLにアクセス<br />
<a href="https://console-ybi.idcfcloud.com/users/sign_up">https://console-ybi.idcfcloud.com/users/sign_up</a><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZvDyk6fDbzaeZIW7mViQ1zMWZQDM2eQ8aHqV3tEdBw0PuufuddS-icoxkb1tQXYvFR9cx-BdC1w9-hoa_iMtfi2Or-18fO_86fs7MTi5f56Y8tezOnJVy0yZas8G7FiLyAz8wqgDpIVOO/s1600/ybi1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZvDyk6fDbzaeZIW7mViQ1zMWZQDM2eQ8aHqV3tEdBw0PuufuddS-icoxkb1tQXYvFR9cx-BdC1w9-hoa_iMtfi2Or-18fO_86fs7MTi5f56Y8tezOnJVy0yZas8G7FiLyAz8wqgDpIVOO/s1600/ybi1.png" height="320" width="255" /></a></div>
<br />
・・・簡単ですね。<br />
SignUpをするとMyPageに飛んでデモが始まるので適当に流してください。<br />
最初からいくつかサンプルデータが入ってますので、HiveやPrestoを使う事が出来ます。<br />
HiveやPrestoを使う環境をSignUpのたった5項目書くだけで揃っちゃう。<br />
ちょっと使ってみたいなーっていうときは便利ですね。<br />
<br />
MyPageの右上、自分の名前が書いてあるメニューをクリックすると、<br />
My Profile画面に移動できます。こちらでAPIKeyを取得します。<br />
<br />
APIKeyを取得する為にパスワードを入力します。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLpa9wdrlujj1bwbYLbCBY5TrccdKO43lwUP5DW7vKdLSqIYAI2PAxjo0hhy6OrWfSgqpj1bx3xc3eH_ztH5QCoX_jRqPZwJq6BrdCi5Qk87ul-wc1F_kdmpEmUWdBhqjELBIP1duK__ZH/s1600/YBI2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLpa9wdrlujj1bwbYLbCBY5TrccdKO43lwUP5DW7vKdLSqIYAI2PAxjo0hhy6OrWfSgqpj1bx3xc3eH_ztH5QCoX_jRqPZwJq6BrdCi5Qk87ul-wc1F_kdmpEmUWdBhqjELBIP1duK__ZH/s1600/YBI2.png" height="121" width="320" /></a></div>
<br />
<br />
APIKeyが表示されるので、今回はWrite-Only API Keysを使用します。<br />
こちらをコピーしてメモ帳等にでも保存しておいてください。<br />
(あとでtd-agentのコンフィグに記載する必要がある為)<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEistn6hJVfue6DjoyI2Y6lY00yacWMYXQ6prHIY9CwDyPYgVuQPQkVwU6-pRY0K6xPBXLAoQid7wN9L6mVJECP53J_mJ-HWkKcAWw4uum7ZCbKSp5u5QD4JiZMwNeGUv4LQRvYz5rWbJ0DS/s1600/YBI3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEistn6hJVfue6DjoyI2Y6lY00yacWMYXQ6prHIY9CwDyPYgVuQPQkVwU6-pRY0K6xPBXLAoQid7wN9L6mVJECP53J_mJ-HWkKcAWw4uum7ZCbKSp5u5QD4JiZMwNeGUv4LQRvYz5rWbJ0DS/s1600/YBI3.png" height="304" width="320" /></a></div>
<br />
<br />
<br />
<h3>
TableauOnlineのアカウント作成</h3>
以下、URLにアクセス<br />
<a href="https://www.tableau.com/ja-jp/products/online">https://www.tableau.com/ja-jp/products/online</a><br />
無料で試すボタンを押すと以下のように入力画面が出てきます。<br />
項目を埋めて下さい。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhf_7K1iL4VmeV9gAtUNIA93box668fgeNBLU8ON2LGwTYWPgsVVvnAgiQ-Nghxq-0j6ztVnYK2R5C2sWdK3M4cdXSU2z5elr4NPBD92tP8mk0xyjlRa5yoDTsHnnxUYe60TO1b7VeaWNcp/s1600/YBI4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhf_7K1iL4VmeV9gAtUNIA93box668fgeNBLU8ON2LGwTYWPgsVVvnAgiQ-Nghxq-0j6ztVnYK2R5C2sWdK3M4cdXSU2z5elr4NPBD92tP8mk0xyjlRa5yoDTsHnnxUYe60TO1b7VeaWNcp/s1600/YBI4.png" height="320" width="200" /></a></div>
<br />
リクエスト送信後、1時間くらいでMyPage作成についてのリンクが記載されたメールが来ます。<br />
かなり時間がありますので先にサーバを作ってしまいましょう。<br />
<br />
<br />
<h3>
サーバ構築</h3>
<br />
さて、それでは中身を構築しましょう。<br />
ハンズオンセミナーに忠実に作ります。<br />
今後、本サーバを使用した記事を書く予定ですが、今回の記事では実は使いません。<br />
従って、YBIとTableauの連携だけ確認する方は飛ばしていただいて結構です。<br />
ただAPIのサーバ指定を変更すればトレジャーデータでも使用できますので、<br />
一般的にtd-agentとnginxの連携方法の練習と捉えていただければ。<br />
<br />
連携についてはハンズオンセミナーの方で聞いて頂ければと思います。<br />
<br />
<br />
apt-get install nginx<br />
curl -L <a href="http://toolbelt.treasuredata.com/sh/install-ubuntu-precise.sh">http://toolbelt.treasuredata.com/sh/install-ubuntu-precise.sh</a> | sh<br />
mkdir -p /usr/local/ybi/data<br />
cd /usr/local/ybi/data<br />
echo "export TD_API_SERVER=https://ybi.jp-east.idcfcloud.com" > ~/.bash_profile<br />
source ~/.bash_profile<br />
td account -f<br />
#-----------------------------------------------<br />
#以下対話式になるので記入(#は不要)<br />
Enter your Treasure Data credentials.<br />
Email: #YBIに登録したメールアドレス#<br />
Password (typing will be hidden): #YBIに登録したメールアドレス#<br />
Authenticated successfully. #←成功するとこのメッセージになります。<br />
Use 'td db:create <db_name>' to create a database.<br />
#-----------------------------------------------<br />
<br />
td db:create handson<br />
td table:create handson<br />
apt-get install openjdk-7-jre<br />
cp -p /etc/td-agent/td-agent.conf /etc/td-agent/td-agent.conf.org<br />
vi /etc/td-agent/td-agent.conf<br />
#-----------------------------------------------<br />
#以下内容を記入。#APIキーを記入#の部分をYBIのAPIキーになおす。(#は不要)<br />
<br />
# Tailing the Nginx Log<br />
<source><br />
type tail<br />
path /var/log/nginx/access.log<br />
pos_file /var/log/td-agent/nginx-access.pos<br />
tag td.handson.streaming<br />
format nginx<br />
</source><br />
# Treasure Data Input and Output<br />
<match td.*.*><br />
type tdlog<br />
apikey #APIキーを記入#<br />
auto_create_table<br />
buffer_type file<br />
buffer_path /var/log/td-agent/buffer/td<br />
endpoint <a href="https://ybi.jp-east.idcfcloud.com/">https://ybi.jp-east.idcfcloud.com</a><br />
flush_interval 10s<br />
use_ssl true<br />
</match><br />
#-----------------------------------------------<br />
chmod +x /var/log/nginx/<br />
/etc/init.d/td-agent restart<br />
/etc/init.d/nginx restart<br />
<br />
これでnginxのログをtd-agentを経由してYBIへ自動的に送る設定が完了しました。<br />
<br />
念の為テストしてみましょう。<br />
curl <a href="http://localhost/">http://localhost/</a><br />
curl <a href="http://localhost/">http://localhost/</a><br />
curl <a href="http://localhost/">http://localhost/</a><br />
curl <a href="http://localhost/">http://localhost/</a><br />
curl <a href="http://localhost/">http://localhost/</a><br />
sleep 10<br />
td query -w -t presto -d handson "SELECT * FROM streaming"<br />
<br />
上記を実行すると5行(5 rows in set)のアクセスデータがテーブル型で表示されると思います。<br />
表示されない場合はggrksで。<br />
<br />
<h3>
TableauOnlineを使う</h3>
<br />
Tableauはタブローと読みます。タブローソフトウェアという会社のBIツールです。<br />
YBIにしろ中身であるtreasuredataにしろ、分析、結果の出力までは行います。<br />
それを見やすいようにビジュアライズしたりするのが、<br />
今回Tableauに代表されるBI(Business Intelligence)ツールが必要になります。<br />
<br />
百聞は一見に如かず。早速やってみてみましょう。<br />
<br />
アクティベートが完了していればメールが来ていると思います。<br />
文中のCreate Your SiteのリンクをクリックしてMyPageを作成しましょう。<br />
ログインをすると完成したMyPageのワークブックが表示されている状態となります。<br />
<br />
管理者ボタンをクリックしてプロジェクトを追加していきましょう。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqYGN3hpkec3G-7KG9phiedYEzEDuUu_XA6uyDPJStatlqvqqA61v-W2y0sa3rHaShLhyYvWMfZjgZujGhsYc_4fx4ZPABo4EtHQtenePWk42aN8R1HdftKaPPXBGCUWcmquSDCAIGGRlK/s1600/YBI5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqYGN3hpkec3G-7KG9phiedYEzEDuUu_XA6uyDPJStatlqvqqA61v-W2y0sa3rHaShLhyYvWMfZjgZujGhsYc_4fx4ZPABo4EtHQtenePWk42aN8R1HdftKaPPXBGCUWcmquSDCAIGGRlK/s1600/YBI5.png" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
プロジェクトをクリックして追加のリンクをクリックします。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRhu6mYba2B39Mgn8yyuY3FnDEGxhiqbFaiP_bqJh1jHRsbaIZNHqyHcQQoAmGQMrx8J3Lb5NbCrQeil-82muYbbLjcYr3raT5N-vVideo1E-ikBWuHRjSn7AS_no2vdd86obqLr49s1wz/s1600/YBI6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRhu6mYba2B39Mgn8yyuY3FnDEGxhiqbFaiP_bqJh1jHRsbaIZNHqyHcQQoAmGQMrx8J3Lb5NbCrQeil-82muYbbLjcYr3raT5N-vVideo1E-ikBWuHRjSn7AS_no2vdd86obqLr49s1wz/s1600/YBI6.png" height="178" width="320" /></a></div>
<br />
<br />
<br />
名前と説明を適当にいれて追加ボタンをクリックします。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJZ3w6c74fOSKPRBT9mwoTXRegLd-oUf-aqAwbfJpzOT60XwnI7YNUo3PQxL7S1Efs69CiPvLPxGEkt5Au-M8E1CDOjYXtJKebZ60QY6e2NDpvDID6_-yyf9K9BMdm-gTdJ10U8P_lo_f_/s1600/YBI7.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJZ3w6c74fOSKPRBT9mwoTXRegLd-oUf-aqAwbfJpzOT60XwnI7YNUo3PQxL7S1Efs69CiPvLPxGEkt5Au-M8E1CDOjYXtJKebZ60QY6e2NDpvDID6_-yyf9K9BMdm-gTdJ10U8P_lo_f_/s1600/YBI7.png" height="184" width="320" /></a></div>
<br />
追加したプロジェクトがプロジェクトの一覧に表示されていると思います。<br />
<br />
<br />
<br />
<h3>
YBIとTableauの連携</h3>
<br />
さて、次はYBIの方を触ります。<br />
今回はYBI --> Tableauへクエリ結果を出力させるやり方を取ります。<br />
<br />
それではYBIにクエリを用意しましょう。<br />
New Queryをクリックし、Databaseドロップダウンメニューからsample_datasetsを選択します。<br />
クエリを記入(下記コピペ)して、下図青枠のResult Exportのaddボタンをクリックします。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0KtNip-JAJfucWoxnCTDMaOizsI2-bAByOuVmqRnoTGoASJkvwRSWO8Z_XC11ANHPiuZYL4gLVvpHreTx6WhRshn-P1YWnBaU9vMkdHFLlWLo0GMxxtv4pNfcpkjWsOwIbgMu7KtZMF7T/s1600/YBI8.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0KtNip-JAJfucWoxnCTDMaOizsI2-bAByOuVmqRnoTGoASJkvwRSWO8Z_XC11ANHPiuZYL4gLVvpHreTx6WhRshn-P1YWnBaU9vMkdHFLlWLo0GMxxtv4pNfcpkjWsOwIbgMu7KtZMF7T/s1600/YBI8.png" height="144" width="320" /></a></div>
<br />
クエリはこちら<br />
------------------------------------------------------------------------------<br />
SELECT<br />
CAST(TD_TIME_FORMAT(time, 'YYYY-MM-dd', 'JST') AS TIMESTAMP) AS Datetime,<br />
method AS Method,<br />
COUNT(1) AS Count<br />
FROM<br />
www_access<br />
GROUP BY<br />
TD_TIME_FORMAT(time, 'YYYY-MM-dd', 'JST'),<br />
method<br />
------------------------------------------------------------------------------<br />
<br />
Result Exportの画面でExport toにTableau Server を選択。<br />
HostにはTableauOnlineのドメインを記入します。<br />
Username/PasswordはTableauOnlineにログインした際に使用したものを記入します。<br />
Datasourceは適当に入力をして、画面をスクロールします。<br />
最後にProjectに先ほど作成したProjectの名前を記入してUseをクリックします。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEGbQf28jPL1IYV5UHYe_MPojwG54DKmdeBa71zOFvK1O7Tezlzb-42zEd6abSTTTzpDzmnD8eydr-gZBKuaDu5StL0YJtGF42sY_LcgPBKfMKYbb09hXhW3lMl7kGhHBt9U5cxoTYNklE/s1600/YBI9.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEGbQf28jPL1IYV5UHYe_MPojwG54DKmdeBa71zOFvK1O7Tezlzb-42zEd6abSTTTzpDzmnD8eydr-gZBKuaDu5StL0YJtGF42sY_LcgPBKfMKYbb09hXhW3lMl7kGhHBt9U5cxoTYNklE/s1600/YBI9.png" height="271" width="320" /></a></div>
<br />
UseをクリックするとNew Queryの画面に戻るのでRunをクリックして、<br />
Queryを走らせると自動的にJobの画面に遷移します。<br />
<br />
Jobが完了すると下図のようにJOB番号の横がrunningからsuccessになります。<br />
今回のQueryだと平均で30秒程度で終わると思います。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvS1ZLc3jbgdvECvfWEZhvzzVd6BY7QQwjLM4zDBlh6OL2ZICG0elNl6fmsrf_VvhoyeOwSCKZfZbSxrEwrbAPzJC84HtBH9J4rOYKR_UVMDl8g_reSqbhKkfU2SEGsMG-fsVS5hyM-D36/s1600/YBI10.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvS1ZLc3jbgdvECvfWEZhvzzVd6BY7QQwjLM4zDBlh6OL2ZICG0elNl6fmsrf_VvhoyeOwSCKZfZbSxrEwrbAPzJC84HtBH9J4rOYKR_UVMDl8g_reSqbhKkfU2SEGsMG-fsVS5hyM-D36/s1600/YBI10.png" /></a></div>
<br />
successになったらTableauの方で確認してみましょう。<br />
先ほど追加したプロジェクトにデータソースが追加されていると思います。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjA70LkQrJjI5rMTaaG2xFox04KHBdo39bydyI6E0QsZEszJGiVfR8pl1xj7zKfNNCcthfvqkIydFsM3-RaODR8TVZrftfh_ey5Y1UmaNT1DaMFIENtFNxwha1NcrcjVE4hs1FXzIF5HBla/s1600/YBI11.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjA70LkQrJjI5rMTaaG2xFox04KHBdo39bydyI6E0QsZEszJGiVfR8pl1xj7zKfNNCcthfvqkIydFsM3-RaODR8TVZrftfh_ey5Y1UmaNT1DaMFIENtFNxwha1NcrcjVE4hs1FXzIF5HBla/s1600/YBI11.png" height="109" width="320" /></a></div>
<br />
<br />
<h3>
BIツールでのビジュアル化</h3>
<br />
最後にグラフを作成してビジュアル化します。<br />
<br />
データソース名の横にあるチェックボックスにチェックを入れて、<br />
新しいワークブックのリンクをクリックするとグラフ作成画面に遷移します。<br />
<br />
グラフ作成画面では左にあるディメンションやメジャーを列/行へドラッグ&ドロップする事で、<br />
グラフを簡単に作成する事ができます。<br />
Datetimeは+を押すことでより期間をスコープして確認する事ができます。<br />
習うより慣れろですので、先ずは下図のような図を作ってみて色々と変更してみて下さい。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6UCnRDgjgB0zkb0EG2G8hn-BhV2jheavbd3LWatfSazJUkAypItISRrHej-AMhr7bEnrjz0NBmsKaoqdqQj7qnJcbm7nGhLwOSZLAjRslEWbZXT2OHxxJq8I93pGdBS90dKprAjIUhAcy/s1600/YBI12.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6UCnRDgjgB0zkb0EG2G8hn-BhV2jheavbd3LWatfSazJUkAypItISRrHej-AMhr7bEnrjz0NBmsKaoqdqQj7qnJcbm7nGhLwOSZLAjRslEWbZXT2OHxxJq8I93pGdBS90dKprAjIUhAcy/s1600/YBI12.png" height="90" width="320" /></a></div>
<br />
<br />
<br />
今回はYBIとTableauの連携でした。<br />
上記内容は定期的にハンズオントレーニングをやっています。<br />
詳細はIDCFのイベントページをご確認下さい!<br />
<a href="http://idcf.doorkeeper.jp/">http://idcf.doorkeeper.jp/</a><br />
<br />
それでは、よいクラウド構築を!taka3110http://www.blogger.com/profile/04058645764439327338noreply@blogger.com0