読者です 読者をやめる 読者になる 読者になる

日々常々

ふつうのプログラマがあたりまえにしたいこと。

AWSをかじってみた!

AWS

AWSですよAWS。使わないなんて考えられないです。*1

サーバ注文してから使えるまで数週間から数ヶ月間?ナニ時代のお話ですか。それでスペックが不足したらスケールアップするんですよね?それにまた何週間も待つの?フーン。
一時的にリクエストが増大して処理が追いつかない?一過性のものだから耐えればいい?その期間はストレス感じながら頑張るの?業務アプリの重さに耐えながら頑張るの?その処理待ってるの無駄じゃん時間じゃない?ビジネスチャンス逃してるんじゃ?じゃあサーバ追加しますか。10台ですか。100台ですか。そんなお金だせない?使わなくなった時に持て余す?ソッカー。


とかイタイ掴みをしてみたんですが、私のキャラに微妙に合ってるようで嫌……じゃなく、AWS使うと本気でこのあたりの問題が解決しそうなので困ります。なんと言っても、要求に波のあるビジネスの現場でも、従量課金のメリットは生きると思います。投資した分だけそのまま反映される。要らなくなったら即削減できる。動きのあるビジネス現場にこれほどマッチしたものは無いんじゃないかと思わされます。

私の短い経験からですが、新規システムの為に新規にサーバを購入すると持て余す事が多かったりします。だから「サーバ余裕あるよね?」とか言って無理に別システムが相乗りさせられる事もしばしばあります。購入時にピークにあわせたスペックにしているので、この時点で完全に死亡フラグだったりしますが、大抵はピークに行かないから余裕はあります。
しかしそのうち、当然イッパイイッパイになります。大変ですね。こうなるともう手遅れだったりします。警告しても"その時点で問題が表面化していなければ"無視される事も多いです。幸い聞き入れられたとしても、そこからサーバ調達になります。注文してから納品されるまで、そしてデータセンターに格納する色々な手続き、ネットワークや電源、バックアップ等諸々の設備の設定や手続き、FireWallの設定などなどなど。面倒なのを色々乗り越えてようやくアプリケーションのセットアップ開始です。サーバソフトウェア、ミドルウェアのインストール、アプリケーションの配置、稼動検証、どれだけかかりますか。それほど大きくないシステムであってもサーバを用意するとなるとかなりの手間がかかります。その工数を惜しんで、嵐が過ぎ去るのを待つ場合もあります。不誠実極まりない。


序文はこれくらいで。私の中で AWS と言うと EC2 に代表されます。そういう人は結構多いと思いますし、このインパクトは相当なものです。新しいサーバが瞬時に手に入ります。クリーンなサーバでも良いし、ある程度セットアップされたものでも選び放題です。で、なんと言っても手軽さです。と言うことで…

この辺で玉川さんがデモでやられてた手順をなぞってみます。

  1. AmazonWebServices のサイトに行く。
  2. ログインする。*2
  3. Consoleの EC2 タブを選択する。
  4. 一番目立ってる「Launch Instance」のボタンを押す。
  5. 適当に AMI を選んで Type とか選んで最後に Launch を押す。
  6. EC2 タブに戻る。
  7. MyInstancesに今作ったのが pending で表示される。
  8. 暫く待つと running になる。(ここまで2分)
  9. SSH でログインする。
  10. sudo yum -y install httpd
  11. sudo /etc/init.d/httpd start
  12. Apacheが動いているのをブラウザで確認する。(ここまでで3分)

昨日アカウント登録した私でも、サーバが欲しいと思い立ってから3分で出来たりします。これでいいんだよね……ほんとにいいんだよね?と不安になるような感じですけど、たぶん大丈夫です。なんか動いてますし。後は Tomcat でも GlassFish でも何でも入れて基本環境が出来たら AMI を保存しておけば何時でもそこから始められる、はずです。でもJava使うのだったら ElasticBeanstalk*3 でいーんじゃないの、とか何とか…。EC2 の扱いに慣れてて損はないよーとか言っておきますか。
あまりの手軽さに、正直サーバ設定の勉強とかもこれで良いんじゃないのーくらいの感覚です。従量課金ですし「いつでも使える」状態にしておいて損は無いと思います。無料ティアもありますしね。

*1:AWS とか言いつつ、EC2 以外正直よく判ってないのは内緒です。大丈夫、すぐわかるようになるさー。

*2:"ログイン"が見当たらないので、上部の AWT ManagementConsole から行っています。

*3:これ、3文字略とか無いんですかね。公式に見当たらないんだけど、EBTで良いのん?