Amazon EC2上の仮インスタンス上でCentOSのAMIを作成する方法を書こうとしたのだけれど、途中試行錯誤したので作業ログ的なメモになってしまった。
- Amazonが用意しているFedoraのAMIでAmazon EC2 API Toolsが既に入っているインスタンスを立ち上げる。(Amazon EC2 API Toolsをインストールする手間が省ける)
- 下記サイトを参考に、X.509証明書と秘密鍵をダウンロードする
- 2でダウンロードした2つのファイルを、1で立ち上げたインスタンスに転送する
- 下記サイトを参考に、1のインスタンス上でCentOSをセットアップする
- 下手な鉄砲も・・・ » Amazon EC2用Centos5イメージを作って、EC2上で動作させてみる(1)
- Amazon EC2 API Toolsをセットアップする。AMI Toolsの方は既に入っているので作業不要
- API Toolsのダウンロードは
wget http://s3.amazonaws.com/ec2-downloads/ec2-api-tools.zip
- .bashrcへの追記をすぐに反映させるには
source ~/.bashrc
- GNUのJavaではAPI Toolsが使えないようなので注意 → Amazon Web Services Developer Community : ec2-register + java error ...
(yumでインストールしたらGNUのJavaだったので動かなかった)
- JDKのダウンロードはJava SE Downloads - Sun Developer Network (SDN)から
- /etc/profileへの追記の反映
source /etc/profile
- API Toolsが無いと後でやるec2-registerができない
- 下手な鉄砲も・・・ » Amazon EC2用Centos5イメージを作って、EC2上で動作させてみる(2)
- yum-xen.confのバージョン番号(5.2)のところは、使いたいバージョン(現在の最新は5.4)に変更すること
- 下手な鉄砲も・・・ » Amazon EC2用Centos5イメージを作って、EC2上で動作させてみる(3)
- 「起動時に「ec2-add-keypair で作った公開鍵」を受け取るためのスクリプトを用意」のところで出てくるURL「http://169.254.169.254/1.0/meta- data/public-keys/0/openssh-key」のIPアドレス「169.254.169.254」は、AmazonのLAN内のIPアドレスらしい
- 作業用のインスタンスにあるスクリプトを持っていってもいいらしい → EC2のAMIを自作するならEC2上で作業すると楽できる - Lism.in * blog - nekoya (id:studio-m)
- 下手な鉄砲も・・・ » Amazon EC2用Centos5イメージを作って、EC2上で動作させてみる(4)
- EC2登録用バンドルイメージの作成(ec2-bundle-image)は全然終わらないので中断して再実行したらできた。(EC2のSmallインスタンスでやるとけっこう時間がかかる?)
- バンドルイメージ作成時にディレクトリを指定しないと/tmp内に作られる。S3へのアップロードは/tmpにcdしてから行う
- バンドルイメージのS3へのアップロード(ec2-upload-bundle)のパラメータについての補足説明
- -b → バケット名。自分で決める。事前にバケットを作成する必要はない
- -a → Access Key ID
- -s → Secret Access Key
- バンドルイメージのEC2からS3へのアップロードは数分で終わった
- イメージの登録(ec2-register)の時にpemのパスが違う(どこかで間違えたみたい)というエラーになったので、パスに合わせてpemをコピーした
- イメージの登録で下記のエラーが出たので、-n オプションで適当な名前をつけたらOKだった
Required option '-n, --name NAME' missing (-h for usage)
- イメージの登録まで済めば、AWS Management Consoleの左側のメニューの「Images」のAMIsのところに、作ったAMIが表示される!
でもこの方法だとEBSからの起動ではなくinstance-store(S3)からの起動になってしまう。
なのでEBSから起動できるAMIを作ってみる。
- 作成したOSイメージ(centos5.img)を/tmpに移動(移動は不要?)
- 後はsuz-lab - blog: Migrating a CentOS S3 Based AMI to an EBS Based AMIを参考に進める
- ddでAMIイメージをコピーしたらいつまでたっても終わらないので別のssh繋げて見てみたら終わってるように見えたのでそのまま進めてしまった
- ec2regはec2-registerのalias
- ec2regの -d オプションはdescriptionの登録なので省略してもOK
S3に作った時の「バンドルイメージの作成」以降がEBSへのコピーに変わった感じか。こっちの方が作るのも楽だ。
今ではもうEBSからの起動が普通なので、こちらの方法で手順をまとめられると良かったのだが。
0 件のコメント:
コメントを投稿