Amazon Web Service(AWS)の質問に答える

AWSって料金は高いの?

高いです。時間貸しで従量課金なので、同スペックの専用サーバーを借りるよりランニングコストは高い。ただ、負荷に応じてサーバー(EC2インスタンス)をがんがん追加できるし削減も簡単なので、「どれくらいのアクセス規模に成長するか予測がつかないので、最初はスモールスタートで始めて、サービス規模の拡大に応じてサーバーを追加したい」という用途向けです。アクセス規模が読めて一定程度しか変動しないサービスならば、AWSを使うメリットは特にないかもしれえません。CDNを必要とするサービスならば、CloudFrontの料金は安いです。Akamaiとかにお金を払うより格安でCDNを運用できます。また、AWSはSSDは使っていませんが、ディスクI/Oは非常に良いです。

AWSの実績一覧に載っている会社って実際どういう運用をやっているの?

実績一覧株式会社フリークアウトの事例が載っているけど、フリークアウトは海外事業でしかAWSを使っていません。国内サービスはほとんど自作サーバーでやっています。PerlのイベントYAPC2012に参加した時、フリークアウトのひさもりさんが自社のサーバーや技術を公開していました。

↓でその発表のスライドが見られます。スライド右側をクリックすると次のスライドへ行けます。DSPやSSPの解説もやっています。自作サーバーは全部SSD使ってる写真が途中に出てきて、いいな~と思いながら発表聞きていました。会社で使われていた楽器のラックに入っているサーバーは社内サーバーではないでしょうか。
http://www.slideshare.net/myfinder/50msperl?ref=http://yapcasia.org/2012/talk/show/d1edd2c0-ab9b-11e1-918c->wbr />2a656aeab6a4

株式会社コイニーの事例は、AWSとしてはけっこう異例です。株式会社コイニーはスマートフォン決済のスタートアップだけど、決済系でAWSを使っているという事例はあまり聞いたことがありません。国際規格の「PCI DSS*」(VISA、MasterCard、AmericanExpress、Discover、JCB)に完全準拠していて、スモールスタートが出来るのが決め手だったのかもしれません。

むしろ、この国内事例に載っていない会社の方がヘビーユーザーだったりします。ソーシャルゲーム関連会社の多くはAWSを使用または検討しています。特に「騎士道」などのヒットタイトルを出している株式会社gumiなどはAWSをヘビーに使っていると思われます。GREEがソーシャルゲーム企業に提供する「GREE Platform」のホスティングサーバーも、実は実際はAWSだったり、IIJのクラウドサーバー(GIO)だったりします。それで膨大なユーザー課金を捌いています。また、株式会社はてなのはてなブログもAWSです。

その会社がAWSを使っているかはIPアドレスから逆引きできる?

公表していなくても、IPアドレスの逆引きを行うとamazonaws.comが引けるので、そのサービスがAWSを使っているかどうかは外部からも調べられます。単純な方法としては、PINGを打てばわかります。AWSのインスタンスをフロントに立てている場合は、この逆引きを回避する方法はありません。

ping www.hatenablog.com
PING www.hatenablog.com (54.249.40.237) 56(84) bytes of data.
64 bytes from ec2-54-249-40-237.ap-northeast-1.compute.amazonaws.com (54.249.40.237): icmp_seq=1 ttl=49 time=12.9 ms
64 bytes from ec2-54-249-40-237.ap-northeast-1.compute.amazonaws.com (54.249.40.237): icmp_seq=2 ttl=49 time=13.9 ms
64 bytes from ec2-54-249-40-237.ap-northeast-1.compute.amazonaws.com (54.249.40.237): icmp_seq=3 ttl=49 time=12.5 ms

EC2インスタンスって再起動でグローバルIPが変わるの?

グローバルIPは変わります。ただ、Elastic IPを割り当てれば変わりません。しかし個数制限があるのと、Elastic IPを使用せずに寝かしておくと何故か料金が発生します。

セキュリティグループを設定しておけばiptablesなどのファイアウォールは不要?

セキュリティグループを設定しておけば、基本的に塞いだポートにアクセスされることはありませんが、サーバー一台にでも侵入されたら、ポートアクセスが可能になるので、個別にサーバーでiptables設定を行なっておくことをオススメします。

EC2インスタンスのバックアップはクラウドコンソール以外から行うのは難しい?

それほど難しくはありません。EC2インスタンスのサーバーの中には、ec2-*****の管理系コマンド群が揃っています。ec2-create-snapshotコマンドでスナップショットが作成できます。ec2-create-imageでインスタンスのAMI(OS起動イメージ)を作成できます。

ec2-delete-snapshotでスナップショットの削除が行えます。以下のエラーが表示される時は、先にAMIを削除しましょう。

Client.InvalidSnapshot.InUse: The snapshot snap-******** is currently in use by ami-*********

AMIの削除は、ec2-deregisterで行えます。スナップショット、AMIとも削除したら取り返しがつきませんので、削除対象を間違えないよう細心の注意を払う必要があります。

上記コマンド群や命名規則を統一してシェルスクリプト化して、cronに登録しておけば、定期的なバックアップと削除も可能です。