Cloud Computing
【AmazonサーバでFrontier】
5、AMIを作る
ようやくスタートラインに立ち、Amazonでサーバを立ち上げて実際に触り始める。
ただ、毎回shutdownでは、やった作業が全部失われてしまう。
と言う事で今回は自分のAMIを作成する事にする。
【おさらい】
■AMIについて
1) Amazon Machine Imageの略
2) マシンにOS、ソフトウェアが入ったイメージがファイル化されている
3) いくつでも、好きなだけ立ち上げる事が出来る
■AMIから立ち上げたインスタンス(仮想サーバ)について
1) shutdownすると全て消える
2) rebootすると消えずに残る
3) インスタンスが稼働中は課金が発生する
1) Amazon Machine Imageの略
2) マシンにOS、ソフトウェアが入ったイメージがファイル化されている
3) いくつでも、好きなだけ立ち上げる事が出来る
■AMIから立ち上げたインスタンス(仮想サーバ)について
1) shutdownすると全て消える
2) rebootすると消えずに残る
3) インスタンスが稼働中は課金が発生する
サーバの設定途中の今は、24時間稼働させる必要がないため
変更を保存したのちのshutdownが望ましいと思われる。
前回作業はshutdownしたため、また0からスタート
今回は立ち上げるサーバのOSも考えてAMIを選ぶ。
希望のOSは「CentOS 5.0」なのだが
Amazonが提供してくれているAMIの中にはない。(2009/08/19現在)
「OSがCentOS 5.0のAMI」と言う条件だけなら沢山ある。
私と同じようにして作成した自作AMIを、全体に公開している人達が居て
AMI一覧に沢山並ぶのだが、やはり信用できるほどの確証を得る事が出来ない。
そこで見つけたのが、サードパーティ「Rightscale」が提供しているAMI。
実際にAmazonEC2の体験も出来るらしい。
http://www.rightscale.com/
ここなら安心して使えそう、と言う事で採用。
AMI(選んだAMIは「ami-0913f760」)を指定して起動。
ec2-run-instances ami-0913f760 -k [キーファイル名]
問題なく起動。
最初に立ち上げたサーバのタイムゾーンを日本に設定しておく。
初期設定はアメリカサーバだからアメリカ時間。
早速立ち上がったサーバにPuTTYを使ってアクセスしてみる。
アクセス成功!
画面には大きく「Rightscale」の文字が。
とりあえずタイムゾーンを日本に設定したので、
その状態が保持されるか、試しにAMIを作ってみる。
【準備】
・Amazon S3にAMIデータ保存用のディレクトリ作成
・ファイルの配置
上記準備が出来たら早速AMIの作成を行う。
1、AMIの作成
2、AMIのアップロード
3、AMIの登録
ようやくAMIの作成が終わったので早速shutdownしてから起動してみる。
ドキドキしつつshutdown。
そして感動の再起動!
おおっ!ちゃんと保持されている!
設定したタイムゾーンがちゃんと日本になっているのを確認!
念のため、AMIの登録解除、ファイル削除方法も書いておく。
・AMIの登録解除
・AMIファイルの削除
ようやく自分のAMI作成が出来た。
と、同時に少し遅めの夏休みを取るのであった。
夏休み前だからか、社長からは特に何も言われず。
FireFoxのアドオンとしてS3Foxと言うものがあるのでそのアドオンを使用してディレクトリを作成する。
S3Fox Organizer for Amazonのダウンロード
S3Foxをインストールし、起動すると
「Account Name」「Access Key」「Secret Key」を聞かれるので
入力して「Add」をクリック。
Account Name ・・・ 自分のアカウント
Access Key・・・自分のAccess Key ID
(Amazonサイト、Access Identifiersで確認)
Secret Key ・・・ Secret Access Key
(Amazonサイト、Access Identifiersで確認)
するとFTPツールで見たような
「左側にローカルディレクトリ」
「右側にサーバディレクトリ」
…のウィンドウが表示されるので、サーバ側にAMIデータ保存用の
ディレクトリを作成する。
プロジェクト名(Frontier) + 会社のイニシャル(CS)で「frontier-cs」とした。
(frontierはもう使われていて作れなかった)
S3Fox Organizer for Amazonのダウンロード
S3Foxをインストールし、起動すると
「Account Name」「Access Key」「Secret Key」を聞かれるので
入力して「Add」をクリック。
Account Name ・・・ 自分のアカウント
Access Key・・・自分のAccess Key ID
(Amazonサイト、Access Identifiersで確認)
Secret Key ・・・ Secret Access Key
(Amazonサイト、Access Identifiersで確認)
するとFTPツールで見たような
「左側にローカルディレクトリ」
「右側にサーバディレクトリ」
…のウィンドウが表示されるので、サーバ側にAMIデータ保存用の
ディレクトリを作成する。
プロジェクト名(Frontier) + 会社のイニシャル(CS)で「frontier-cs」とした。
(frontierはもう使われていて作れなかった)
・ファイルの配置
WinSCPツールを用いてAmazon EC2サービスの仮想OS上「/mnt」以下に
「Private Key file」と「X.509 Certificate file」を配置。
※このファイルの配置作業は、AMI作成時には毎回行う必要がある
「Private Key file」と「X.509 Certificate file」を配置。
※このファイルの配置作業は、AMI作成時には毎回行う必要がある
上記準備が出来たら早速AMIの作成を行う。
1、AMIの作成
仮想OS上で下記コマンドを実行してAMIの作成を行う。
ec2-bundle-vol -d /mnt -k /mnt/[X.509 Certificate ファイル名] -c /mnt/[Private Key ファイル名] -u [IDナンバー]
※IDナンバーはAmazonページのAccount Activityページの上部の
Account Number
作成には結構時間がかかる、10分くらいかな?
無事に作成出来たら今度はAmazon S3サーバへアップロードを行う
ec2-bundle-vol -d /mnt -k /mnt/[X.509 Certificate ファイル名] -c /mnt/[Private Key ファイル名] -u [IDナンバー]
※IDナンバーはAmazonページのAccount Activityページの上部の
Account Number
作成には結構時間がかかる、10分くらいかな?
無事に作成出来たら今度はAmazon S3サーバへアップロードを行う
2、AMIのアップロード
ようやくAMIを作成。
ただし、AMIは仮想サーバ上にあるため、このままshutdownすると消えてしまう。
そのため、AMIを別の場所へ移動させる必要がある。
ec2-upload-bundle -b frontier-cs -m /mnt/image.manifest.xml -a [aws-access-key-idの文字列] -s [aws-secret-access-keyの文字列]
※frontier-csは先ほどAmazon S3で作ったディレクトリ
アップロードが終わり、さあおしまい
…ではなく、今度はAMIの登録を行う必要がある。
ただし、AMIは仮想サーバ上にあるため、このままshutdownすると消えてしまう。
そのため、AMIを別の場所へ移動させる必要がある。
ec2-upload-bundle -b frontier-cs -m /mnt/image.manifest.xml -a [aws-access-key-idの文字列] -s [aws-secret-access-keyの文字列]
※frontier-csは先ほどAmazon S3で作ったディレクトリ
アップロードが終わり、さあおしまい
…ではなく、今度はAMIの登録を行う必要がある。
3、AMIの登録
S3Foxでファイルがアップロードされているのを確認したら、今度はAMIの登録を行う。
コマンドプロンプトより、以下コマンドを用いてAMIの登録を行う。
ec2-register frontier-cs/image.manifest.xml
成功すると以下の文字列が表示されるので、それが自分の作成したAMI名となる。
ami-xxxxxxxx
コマンドプロンプトより、以下コマンドを用いてAMIの登録を行う。
ec2-register frontier-cs/image.manifest.xml
成功すると以下の文字列が表示されるので、それが自分の作成したAMI名となる。
ami-xxxxxxxx
ようやくAMIの作成が終わったので早速shutdownしてから起動してみる。
ドキドキしつつshutdown。
そして感動の再起動!
おおっ!ちゃんと保持されている!
設定したタイムゾーンがちゃんと日本になっているのを確認!
念のため、AMIの登録解除、ファイル削除方法も書いておく。
・AMIの登録解除
コマンドプロンプトから以下コマンドを実行
ec2-deregister ami-xxxx
ec2-deregister ami-xxxx
・AMIファイルの削除
PuTTYから以下のコマンドを実行
ec2-delete-bundle -b [S3で作成したディレクトリ名(frontier-cs)] -p image -a [aws-access-key-idの文字列] -s [aws-secret-access-keyの文字列]
ec2-delete-bundle -b [S3で作成したディレクトリ名(frontier-cs)] -p image -a [aws-access-key-idの文字列] -s [aws-secret-access-keyの文字列]
ようやく自分のAMI作成が出来た。
と、同時に少し遅めの夏休みを取るのであった。
夏休み前だからか、社長からは特に何も言われず。
※※ 社長命令 ※※
特になし
楽しいはずの夏休み前から、不安の影が行ったり来たり。
無言のプレッシャーとは恐ろしい。
達成率 ・・・ 10%
奮闘者:高際
奮闘者:高際
