タイトルの通りです。
AmazonWebSevicesを使ってどこでもTracLightning!
自分もAWSでKanonを運用しようと思ったのですが、無料ティアが1年で終わることに気づいてやめちゃいました。ただ実際に無料ティア期間終了後どれだけ値段がかかるかを計算したわけじゃないので、ちゃんと計算してみました。
AWSの料金については東京リージョン価格で計算しました。
Amazon Elastic Compute Cloud (Amazon EC2)
Amazon Simple Storage Service (Amazon S3)
東京リージョンだとEC2はマイクロインスタンスで0.027$/h、S3が0.150$/G(最初の1Tまで。1T以降は値段がちょっとずつ下がります。)なのでこれを元に計算すると、
EC2でひと月あたり : 0.027 * 24 * 30 = 19.44$
(一ヶ月30日で常時稼働を前提に計算してます)
S3は10G使ったとしてひと月あたり: 0.150 * 10 = 1.5$
これを足しあわせて円換算(2011/05/21時点)すると、
(19.44 + 1.5) * 81.59 = 約1708円
まぁさくらの一番安いVPSで月980円、ServersManなら490円なのでVPSと比較するとVPSのが安いのかなーと思ってしまう次第です。ただAWSの場合は最初の1年間は無料ティア期間があるので短期運用ならAWSという選択肢もありかもしれません。
VPS(仮想専用サーバ)のさくらインターネット
ServersMan@VPS|仮想専用サーバ|月額490円~、初期&2ヶ月完全無料
リンク貼ってみて気づきましたがSeversManは最初の2ヶ月無料なんですね。
Pages
AWSでKanon運用した場合、月いくらになるか試算してみた
ラベル: AWS, Trac 0 コメントAmazonWebSevicesを使ってどこでもTracLightning!!
ラベル: AWS, SVN, Trac 0 コメントどこからでもアクセスできるリポジトリは開発者にとっては夢ですよね!
ていうか持ってるのが常識なんですかね!?
容量的に不満もないので今まではGitHubを使っていたのですが、
(嘘です。一個だけプロジェクト上げて満足しちゃってロクに使ってませんでした)
チケット管理とかもできたらもっといいなと今さらながらに思いまして。
んでチケット管理といえばTracLightningが最も有名なツールなんでしょうか。
最初は家の片隅で放置されてたノートPCを使って自宅鯖でもつくってみようかと思ったのですが、色々あって挫折しまして・・・
んでなにかいい方法ないかなと考えついたのが、AmazonEC2でインスタンスを立ち上げてそこにTracLightningを入れる方法です。
今回はOSにCentOSを使っているので最近分家したKanonを使っていますが、
機能が異なるということはなさそうです。
(AmazonEC2ではWindowsSever2008も動かせるのですが、sshというかコマンドでTracLightningをインストールする方法がわかりませんでした。)
実際にやってみた結果、とりあえずインストールしてTracLightningを公開するところまでは成功したのでメモがてら色々書いておきます。
(後述しますが、まだインストールしてTracを公開したという状態で止まっているのでまだ運用はできないレベルです。)
では実際に行なった手順を書いていきます。
【免責事項】
以下に記述する内容を実施して、課金が発生したりデータが飛んだりと
色々な不都合が起きても責任は持てませんので、以下の行為を実施する場合は、すべて自己責任でお願いします。
1.AmazonWebSevicesのアカウントを作成する。
2.AmazonWebSevicesのアカウントにクレジットカード情報を登録する。
これらの作業については色々情報も出回っていると思うので特に書きません。
自分は下記のURLを参考にしました。
利用方法(AWSアカウント作成からEC2登録まで)
利用方法(EC2ログインからインスタンス起動まで)
3.AmazonEC2のインスタンスの作成
この作業も基本的には上記URLなどに書いてあるように行うのですが、
ひとつだけ違う点があります。
それはAMIの選択です。
KanonがサポートしているOSは
・RedHat Enterprise Linux 6.0
・Oracle Enterprise Linux 6.0
・Ubuntu Server 10.10
・Debian GNU/Linux
・CentOS5
の5つのディストリビューションになります。
AmazonEC2のインスタンスを作成時に最初に選択肢に出てくる
AmazonLinuxや、SUSEではKanonをインストールしようとすると、怒られます。
そこで今回はRightScale社が公開しているCentOS5.4のAMIを使用します。
AMIのIDは "ami-3607ac37" になります。これで検索すれば一発で出てきます。
人が作ったAMIなんて信用ならねーとか思う人はご自身で上記ディストリビューションのAMIを作成するといいと思います。
AMIの作成方法とかは以下を参考にするといいと思います。
[僕] Amazon EC2 用に自分で CentOS 5 のイメージを用意する
EC2のAMIを自作するならEC2上で作業すると楽できる
あと、ポートはとりあえずSSHとHTTPを解放しておけば、
公開までは上手くいきます。
(というか今回はまだ公開できるかどうかを優先して作業したので、
その辺の設定をちゃんとやってません。何のポートを開ければいいか
分かっている人は予め開けておけば、インスタンスの再作成とかの手間が
省けると思います)
4.mod_dav_svnのインストール
3で使用したAMIにはmod_dav_svnがインストールされてません。
このままKanonをインストールして、鯖を公開しようとすると、
mod_dav_svnがねぇぞ(゚Д゚)ゴルァ!!って怒られるのでインストールしましょう。
ただしここで注意が必要で、そのままyum install mod_dav_svnをしても、
エラーが発生してインストールできません。
ログを見るとどうやらSubversionのバージョンで競合が起きてるぜ的なことを言われます。
rpm -qi subversion
と打ってみると、どうやら予めインストールされているSubversionのバージョンが1.4のようです。
そこでまず、Subversionをインストールしなおします。
yum remove subversion
でインストールされているSubversionを一旦削除し、
yum install subversion
でSubversionを入れ直します。
先ほど打ったrpmコマンドでSubversionのバージョンを確認すると、
1.6もインストールされていることがわかると思います。
1.6が入っていることが確認できたら、
yum install mod_dav_svn
でmod_dav_svnをインストールしましょう。
5.Kanonのインストール
次は本命のKanonのインストールです。
手順は公式ブログに書かれているのですが、一応書いておきます。
まずはKanonのパッケージをゲットします。
hgもMercurialも先ほど選択したAMIに入ってるかどうか分からない(パッと見なさそうだったけど)
ので、適当にKanonを展開するディレクトリを作り、wgetします。(今回は自分は/opt以下にKanonディレクトリを作ってその中でインストール作業をしました。)
wget http://kanon.ultimania.org/hg/KanonConductor/archive/tip.zip
ダウンロードが終わったら解凍しましょう。
unzip tip.zip
解凍が終わると「KanonConductor-bfd9bb1a175f」というディレクトリが出来ているので、そこに入ります。
入ったら
./setup-kanon
と打ちます。インストール処理はかなり長いです。
あとMavenとJenkinsを一緒にインストールするか聞いてきます。
両方共重要なので、自分はここで一緒に入れちゃいました。
インストールが終わったら
service httpd start
で鯖を起動すれば、晴れてアクセスできるようになります。
アクセスURLは「http://KanonをインストールしたインスタンスのPublicDNS/trac」です。
6.独自ドメインでアクセスできるようにする
AmazonEC2のPublicDNSははっきり言ってすげー長いので、
ちょっとこのままじゃ色々めんどくさいです。
なので、独自ドメインでアクセス出来るようにしました。
AmazonWebSevicesではErasticIPsというサービスで無料で固定IPをくれるらしく、
(すみません、固定IP作成時に確認画面が出なかったので勝手に無料だと思ってます。導入してみたら実は有料だったぞ(゚Д゚)ゴルァ!!とか言われても責任は取れません)
それを用いれば「http://独自ドメイン/trac」というURLでアクセスできるようになります。
やり方は以下を参考にしてみてください。
AWS EC2で独自ドメイン
問題点
実はこの状態では色々問題があります。
2011/04/11 修正
以下の問題点は自分がチェックアウトするURLを間違えてただけでした・・・
http://サーバー名/svn/SampleProject
で最初に作られるサンプルプロジェクトをチェックアウトできました・・・
実は今の状態だとmod_dav_svnの設定が上手くいっておらず、
WebDAV経由でチェックアウトできません。
これは後日回避方法を書く予定
問題点2 ポートが全然開いてない
これはまだ試してないのでわかりませんが、TracLightningではせっかくgitが使えるのに、gitプロトコルで必要なポートが開いてない(最初のセキュリティグループで設定していない)
のでgitが使えないと思います。
まぁこのへんはセキュリティグループを上手く設定してあげてください。気が向いたら試した結果をブログに書くかもしれません。
問題点3 バックアップの方法が未調査
TracLightningはリポジトリとSQLiteのデータさえバックアップを取れば
問題なさそうなんですが、いかんせんAmazonEC2なので仮想マシン内に
バックアップを取るわけにもいかず。
妥当なバックアップ先はS3か自分のローカルPCかなぁとか考えたりしていますが、
この辺の方法も上手くいったらそのうちブログに書くかもしれません。
というわけでそんな感じで、とりあえずどこからでもアクセスできちゃう
個人TracLightningの作成方法でした。
多分個人で使ってる分には無料ティア内でまかなえるはず・・・!
Java Cloud Meeting Tokyo 2010に参加してきたよ!
ラベル: AWS, Java, Seasar 0 コメントお久しぶりの更新です。
というわけでJCMT2010に行ってきたので、その所感など。
参加したセッション
1時間目 : Seasar3がやってくる
2時間目 : SeasarFoundation社員総会
3時間目 : デベロッパーのためのAWS講座
4時間目 : Seasarで動いているWebサービスCacooの裏側
5時間目 : AWSハンズオンセミナー
6時間目 : AWSハンズオンセミナー
以上のセッションに参加してきました。
以下、各セッションについての所感
■Seasar3がやってくる
ひがさんが来るべきエンタープライズクラウド時代に向けて、
今後のSeasarをどういう方向で開発していくかをお話してた。
結論から言うと、今のところ考えてるのは、
Springをベースにして、既存のSeasarで行えていたことを
実装していくという方針だとか。
今のところはHotReloadingを
クラスキャストエクセプションが起きないように
実装する、なんてのを考えているらしい。
ただし、これは現段階の考えであって、
今後他の人たちともっと話しをして、
最終的に決めていきたいとのこと。
■SeasarFoundation社員総会
SeasarFoundationとして、
コミュニティの枠を広げていきたいとかどうとか
■デベロッパーのためのAWS講座
一応今日のメイン目的のセッション。
講師がAmazon本社のAWSエヴァンジェリストで、
セッションは翻訳者付で行われた。
基本的にはAWSのサービスの概要説明だとか、
どんなサービスがあるかとかを話していた。
AWSで最近RDSという、クラウドでRDBMSを利用できる
サービスを展開しているが、これはMySQLを
利用しているため、既存のDBがMySQLの場合
簡単に移行できるらしい。
ちょっと驚いたのは、RDSは自動的にログを取っているのだけど、
そのログからDBのバックアップが可能だということ。
そんなのって普通のRDBMSでもできるの?
■Seasarで動いているWebサービスCacooの裏側
タイトルの通り、使ってるアーキテクチャやら、
開発時の苦労話等。
個人的にここが一番濃かったので、
ここについては別で記事をあげようと思う
2010/06/20追記
記事アップしました。
JCMT 2010に参加してきたよ! Cacoo裏側編
■AWSハンズオンセミナー
wktkして行ったけど、ちょっぴりガッカリなセミナーだった。
自分が情報収集しきれてなかったのが悪いのだけど、
アカウント取得前提というのを聞いてなかったので、
実際にハンズオンには参加できなかった。
あと、ガッカリな理由としては、2時間使った割には、
内容がホントの入り口の部分しか触れられなかったところ。
ちょっと前口上というか、AWSについての説明が多かった。
AWSの説明は説明で勉強になったのだけど、
ハンズオンていう位なんだからもうちょっと、
インスタンス作って、あれやこれやイジくって
というセッションにしてほしかったなーなんて思ったり。
以上。そんなとこっす。
Design and Icons by N.Design Studio | Blogger Templates by Blog and Web