Amazon EC2とPostgreSQL 9.0
クラウドサービスの代表例とも言えるAmazon EC2を使ってWebアプリケーションを動作させるため、LinuxとApache、PHPとPostgreSQL 9.0、いわゆるLAPP環境を構築する手順を解説する。
なお、本連載ではPostgreSQLのデータベースを操作するためのSQLなどについては触れていないので、LPI-Japanが無償で提供しているテキスト「オープンソースデータベース標準教科書」を参照して欲しい。PDF版、EPUB版が提供されているので、作業時に参照できるようにしておくとよいだろう。
→参照:「オープンソースデータベース標準教科書」ダウンロードページ
Amazon EC2の仕組み
Amazon EC2(以下、EC2)はパブリッククラウドサービスとして利用できるが、サービス独特の用語や考え方があるので、事前にポイントだけ把握しておこう。
EC2のインスタンス
EC2はAWSが提供する仮想環境上に自分が必要とする仮想マシンを作成して実行する仕組みとなっている。この仮想マシンをインスタンスと呼ぶ。インスタンスは仮想CPU(ECU:EC2 Compute Units)やメモリ割り当てによっていくつかのサイズが用意されている。
アカウント作成を行うと、初期1年間はマイクロインスタンス(2ECU・613MBメモリ)を毎月1つ(750時間)無料で使用できる。無料使用枠についての詳細はAWSのWebサイトにある料金表を確認して欲しい。
→参照:Amazon EC2 料金表
EC2のストレージ
初期の頃のEC2では、インスタンスを終了する毎にディスクの中身が消えてしまう仕組みになっていたので環境構築が困難だった。しかし、現在では一般的な仮想マシン同様、仮想ハードディスクが用意されていて、仮想ハードディスクの中にOSやアプリケーション、データを格納するようになっている。この仮想ハードディスクをEBS(Elastic Block Storage)と呼ぶ。初期1年間は10GBのEBSが無料で使用できる。
AWSではEBSの他にAmazon S3(Simple Storage Service)が使用できる。S3にはEBSのバックアップを保管したり、外部に対してHTTPによるデータの公開が行えるのでWebコンテンツ置き場にしたりすることができる。
EC2で使用できるOS
EC2で使用できるOSとして、WindowsとLinuxが標準で用意されている。Windowsはインスタンス使用料にライセンス料金が含まれており、商用Linux(Red HatおよびSUSE)は利用者が別途サブスクリプションライセンスを用意する必要がある。他にAWSが用意するフリーのLinuxとしてAmazon Linuxが選択できる。
Amazon LinuxはあらかじめEC2上での動作に適した設定を行ったLinuxで、内部的にはCentOSに似ている。Amazon Linux標準のyumリポジトリが用意されているので、細かいバージョンを気にしないのであれば、yumで簡単に環境を構築できる。CentOS用に作成されたRPMパッケージなども概ねそのままインストールして使用できるようだ。
リージョン
インスタンスを実行するための環境は世界各国に用意されている。これをリージョンと呼ぶ。日本にもリージョンがあるので、より高速なネットワーク通信が可能だ。
リージョンにはさらに「アベイラビリティゾーン」と呼ばれる区分に分割されている。EC2の環境はこのアベイラビリティゾーン単位で管理されているので、冗長性を高めたければ別々のアベイラビリティゾーンにインスタンスを起動するようにする。インスタンス作成時にアベイラビリティゾーンが選択できる。現在、日本では2つのアベイラビリティゾーンが選択できる。
ただし、作成したEBSは作成したアベイラビリティゾーンに紐付けられて格納されるなどの制約を受けることもあるので、注意が必要だ。
Amazon EC2へのサインアップ
Amazon EC2(以下、EC2)を使用するためには、Amazon Web Services(以下、AWS)へのサインアップを行う必要がある。サインアップのために用意するものは、メールアドレスと使用料の決済のためのクレジットカード、そして本人確認を行うための電話番号が必要となる。電話番号は携帯電話でも構わない。
サインアップの流れは以下のようになっている。
1. AWSのWebサイトへアクセス
図1:AWSのWebサイト(クリックで拡大) |
2. アカウントで使用するメールアドレスを登録
図2:メールアドレスの指定画面(クリックで拡大) |
図3:メールアドレスとパスワードの指定画面(クリックで拡大) |
3. 連絡先の住所を登録し、セキュリティチェックを行う
図4:住所登録画面(クリックで拡大) |
4. クレジットカード番号を登録
図5:クレジットカード番号登録画面(クリックで拡大) |
5. 本人確認のための電話認証を行う
図6:電話認証画面(クリックで拡大) |
アカウント自体はAmazon.comのアカウントと紐付けられているので、よくあるECサイトへのアカウント登録と同様だ。
本人確認の電話は、指定した電話番号に電話がかかってくるので、Web画面に表示される4桁の認証番号を電話機で入力するだけだ。かかってくる電話は日本語の自動音声案内になっているので、音声が流れ始めたら認証番号を入力してしまって構わない。