Amazon Web Services(AWS)で環境構築

 

(旧ブログから移行)

AWSへのユーザ登録から、インスタンスの起動(EC2)、OSイメージの保存(S3)、ストレージのマウント(EBS)まで試してみた。Web上にAWSを解説したサイトは数多くあるが、なんだかよくわからない点が色々あり、実際に環境を作ってみて少しだけ理解できた気がした。

なんでS3とEBSって分かれてるの?両方ストレージじゃないの?

実際に使ってみて、S3はマウントできないNASで、EBSはSANみたいなものと理解した。

EC2は、インスタンスを停止するとデータが全て消えてしまうため、システムバックアップ(と言っていいのか?)をどこかに保存しておく必要がある。EC2のサーバ側でec2-bundle-volコマンドを実行し、システムバックアップを取得し、それをネットワーク経由(HTTP?)でS3に保存する。S3に保存したシステムバックアップを元に、クライアント側でec2-registerコマンドを実行し、AMI(Amazon Machine Images)を登録することができる。AMIを元にEC2のインスタンスを起動すれば、システムバックアップを取得した時点から、システムの利用を再開できる。逆に言うと、システムバックアップを取得する前にインスタンスが落ちると、データは消えることになる。

一方、EBSに保存したデータは、EC2のインスタンスが落ちても消えない。S3はEC2のインスタンスからマウントできないが、EBSはできる。DBサーバのデータなんかはEBSにマウントした領域に保存しておき、不測の障害でインスタンスが死んだ場合も、データを残すことができる。

環境構築の時になんか色々ツールとかでてきてめんどくさいんですけど

環境構築に必要そうなツールやサイトとして、

・Amazon EC2 API Tools(コマンドラインツール)
・S3 FireFox Organizer(FireFoxのプラグイン)
・AWS Management Console(AWS管理用のWebサイト)

が存在し、機能が重複しているため、色々と混乱した。結論として、現状ではコマンドラインの操作をベースに手順を解説しているサイトが多いので、Amazon EC2 API Toolsベースで作業するのが良いだろう。AWS Management ConsoleはブラウザでAWSの管理を行えるかなりイケてるサイトなのだが、現状ではS3を操作することができず、またWeb上の解説もコマンドベースが多いので、若干混乱することになる。あと、S3上にbucket(フォルダみたいなもん)を作るためにFireFox起動するのがかなりウザかった。早く全部AWS Management Consoleでできるようになってほしい。

とはいえ、AWSおもしろい。