Archive | Amazon EC2

20 5月 2008 ~ 0 Comments

Amazon EC2/S3を1ヶ月運用した場合のコスト

増井さんのAmazon EC2/S3によるサービス構築の記事が読めるようになりました。
はじめてのAmazon EC2&S3|gihyo.jp … 技術評論社
 http://gihyo.jp/dev/serial/01/amazon_ec2/0001
はてなブックマークの方に、気になっている価格が分かりづらいと書かれていました。確かに料金体系が細かく、転送量によって金額が変わってくると不透明さが出てしまいます。

via IMG_0909 on Flickr – Photo Sharing!
 
そこで、MOONGIFT+αの運営実績から、だいたいの目安を出してみました。

Continue Reading

14 4月 2008 ~ 0 Comments

Amazon EC2を使ってWebサービスを公開する「インスタンス編」

今回はインスタンスの選定から接続、各種設定を行うところまで行っていきたいと思います。最近話題のmod_railsを使って、手早くRailsアプリケーションを動かします。

mod_railsのトップページ
 
CentOSをベースにしようと思ったのですが、CentOS5ではRuby1.8.5が基本になっており(1.8.6に独自ビルドは可能)、その後も色々と手間取ることが多かったので、ここではUbuntuをベースにしたいと思います。
ちょうど良いインスタンスイメージを探すには、Amazon Web Services Developer Connection : Submit an AMI が役立ちます。この中のUbuntuパッケージとして、Amazon Web Services Developer Connection : Ubuntu 7.10 Gutsy Base Install を選択します。

AMI IDを覚えておく
 
AMI IDは「ami-226e8b4b」とのことなので、まずはこれを覚えておきます。そしてコンソールで起動をします。
$ ec2-run-instances -k ec2-keypair ami-226e8b4b
RESERVATION r-4cbb4525 203519234899 default
INSTANCE i-0938fe60 ami-226e8b4b pending ec2-keypair 0 m1.small 2008-04-13T23:21:59+0000 us-east-1a
のようなレスポンスが返ってきます。この時のi-0938fe60がインスタンスのユニークIDです。しばらく待つと、インスタンスが起動します。
$ ec2-describe-instances
RESERVATION r-4cbb4525 203519234899 default
INSTANCE i-0938fe60 ami-226e8b4b ec2-75-101-215-122.compute-1.amazonaws.com domU-12-31-35-00-04-E1.z-2.compute-1.internal running ec2-keypair 0m1.small 2008-04-13T23:21:59+0000 us-east-1a
では、実際に接続してみます。ec2-75-101-215-122.compute-1.amazonaws.comがアドレスになります。
$ ssh -i ~/ec2-keys/ec2-keypair root@ec2-75-101-215-122.compute-1.amazonaws.com
The [...]

Continue Reading

03 4月 2008 ~ 0 Comments

Amazon EC2を使ってWebサービスを公開する「準備編」

開発したWebサービスをどこで公開するか、これが意外と悩ましい。選択肢としては

共用サーバサービス
VPSサーバサービス
専用サーバサービス
自宅サーバ

などがあると思う。体感的には共用サーバは0〜5,000円/月、VPSは5,000〜20,000円/月、専用サーバは8,000〜100,000円/月くらいだろうか。自宅サーバはもちろん月額費用はかからないが、初期のサーバ代金、月々のネットワーク費用+電気代、熱対策、障害時の対応などを計算しておく必要がある。個人的には割に合わないと感じている。
外部のリソースを使うサービスでは、大抵初期費用がかかってくる。その後の費用は月額のみだが、品質や障害時の対応などで各社ばらつきがある(それが金額に反映されるのだが)。多少大きめのサービスを構築しようと思ったときには、これらでは役不足になることも多い。
特に複数台の構成(Web + App + DBなど)を考えると、専用サーバサービスであってもオプションを使う必要があったり、そもそもオプションがないこともある。そうしたことを踏まえると、価格の割に十分でない気がしている。
それではローカル開発後の公開までの道のりで断念しかねない。そこでAmazon EC2の利用を考えたい。Amazon EC2を使えば、仮想サーバでありながら十分なパワーを備え、Amazonレベルのサービス品質を誇るサーバを短時間で手に入れられる。まず今回はAmazon EC2を利用する前までの準備を説明したい。
アカウントの登録
まず最低限の準備としてAmazon EC2のアカウントを取得する必要がある。Amazon EC2はAmazon Elastic Compute Cloudの略で、仮想サーバを使ったルート権限のあるホスティングサービスだ。有料のサービスとなっており、利用にはクレジットカードが必要だ。登録はここから行う。

Amazon EC2のトップページ
 
次に気になる料金体系だ。
インスタンス料
インスタンスは次の3つが用意されている。

Small 1.7GB / 1CPU / 160GB HDD / 32bit ($0.1/時間)
Large 7.5GB / 2CPU / 850GB HDD / 64bit ($0.4/時間)
Extra Large 15GB / 4CPU / 1690GB / 64bit ($0.8/時間)

CPUは1.0〜1.2GHzのXeonとなっている。
データ転送料
データ転送料は次の通り。

$0.1/GB(受信)
$0.18/GB(送信)※ 最初の10TB/月まで
$0.16/GB(送信)※ 次の40TB/月まで
$0.13/GB(送信)※ それ以上

ということで2種類の料金が発生する。データ転送料は、よほど巨大なデータ(動画など)を連続して流さない限り問題はないだろうが、画像などを多用する場合は注意しておきたい。
Smallインスタンスを一ヶ月間使用した場合、$73/月($0.1×24時間×365日÷12ヶ月)かかる計算になる。後は転送料により料金が前後する。同様にLargeインスタンスを使った場合は$292/月($73×4)かかる計算になる。これが高いとみるか、安いとみるかは人によって違うだろうが、保守や初期費用を考えると十分ペイできると思われる。
アカウント&証明書
アカウントを取得したら、重要なIDに関する情報をメモしておこう。それは右上のメニューの「AWS Account Activity」と「AWS Access Identifiers」に表示されている。

メニュー。マウスを重ねると表示される。
 

アカウントID:数字12桁
アクセスキーID:数字/英大文字20桁
アクセス秘密キー:英数字40桁

AWS Account Activityには以下の場所にアカウントIDが記載されている。

モザイク処理している箇所に数字が記載されている
 
AWS Access Identifiersには次の箇所にアクセスキーID、アクセス秘密キーが記載されている。

アクセス秘密キーはクリックして表示される。
これらは忘れないようにしよう。次に必要なものをダウンロード&インストールする。初回の場合は証明書が作成されていないと思われるので、Create Newから作成する。

X.509証明書およびX.509秘密鍵(AWS Access Identifiersのページ下部)
専用のJavaツール(ここからダウンロード可能)
Java

AWS Access Identifiersの下の方に証明書関連のリンクがある。
 
次はダウンロードしたツールを配置していく。ホームディレクトリにフォルダ(例:ec2-keys)を作成し、その中に先ほどのX.509証明書ならびにX.509秘密鍵を入れる。 そして、環境変数に各種設定を行う。Windowsであれば、

EC2_PRIVATE_KEY:X.509秘密鍵のパス
EC2_CERT:X.509公開鍵のパス
Path:Javaツールのパスを加える

になる。LinuxやMac OSXであれば、
export EC2_HOME=~/ec2-keys
export PATH=$PATH:$EC2_HOME/bin
export [...]

Continue Reading

28 3月 2008 ~ 0 Comments

Amazon EC2がバージョンアップ。静的IPアドレス割当と物理的サーバ位置を指定可能に

Amazon EC2が新しいサービスを発表しました。静的IPアドレスに関するElastic IP Addressesと、物理的なサーバ位置に関するAvailability Zonesです。

Elastic IPはアカウントに対して紐づけられた静的なIPアドレスで、好きなインスタンスに対して割り当てることができます。これを使えばDynamicDNSを使って更新を通知することがなくなります。インスタンスの数によって、IPアドレスの数も変わるようです。
自分に割り当てられているIPアドレスを知るのは「ec2-allocate-address」というコマンドです。API Toolsもバージョンアップしているので、ダウンロード&置き換えが必要です。
次にAvailability Zonesです。これは仮想的であるために物理的な場所によらないAmazon EC2ですが、同じサーバに仮想サーバがあった場合、一台のサーバの不具合で複数のインスタンスが影響を受ける可能性があります。また、これはデータセンターレベルでも同様です。それを防ぐためにAvailability Zonesを使って物理的な場所を指定してやることで、電源やネットワークの冗長性をはかることができます。
このAvailability Zonesを知るのが「ec2-describe-availability-zones」です。現在、このコマンドを実行すると次のように返ってきます。

$ ec2-describe-availability-zones
AVAILABILITYZONE us-east-1a available
AVAILABILITYZONE us-east-1b available
AVAILABILITYZONE us-east-1c available

これを見る限り、現在は東側に1つの拠点、3つのゾーンがあると言うことでしょうか。以下は今回のバージョンアップによって追加されたコマンドです。

ec2-allocate-address
ec2-associate-address
ec2-describe-addresses
ec2-describe-availability-zones
ec2-disassociate-address
ec2-release-address

以前にあったAmazon S3の障害のようなケースを防ぐための手段になりそうです。
via [...]

Continue Reading

MOONGIFTネットワーク。こちらもぜひご覧ください。
MOONGIFT

Warning: array_slice() [function.array-slice]: The first argument should be an array in /virtual/producing/public_html/producing-web.com/wp-content/themes/network.php on line 15
  • No items
Open Service
Rails 2.0
Resident on Net
iPhone最適化
リーンソフトウェア
MarketPedia
Producing Web
Cool Coding