apache2停止
$ /usr/local/bin/apache2ctl stop
PostgreSQL(database)を停止
$ pg_ctl -D data stop
process check
$ fuser -muv /vol
USER PID ACCESS COMMAND
/vol: root kernel mount (root)/vol
EBSを外す
umount /vol
※AWSのVolumesでDetach VolumeをクリックしEBSをDetachすること
オートマウントを切る
$ sudo vim /etc/fstab
# /etc/fstab: static file system information.
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc nodev,noexec,nosuid 0 0
LABEL=uec-rootfs / ext4 defaults 0 0
/dev/sdb /mnt auto defaults,nobootwait,comment=cloudconfig 0 2
# /dev/sdf /vol auto defaults,comment=ebs 0 0
ec2-ami-toolsを動かす
rubyのインストール
sudo apt-get install ruby
ec2-api-toolsをダウンロード(使う場合)
ec2-registerはec2-api-toolsにしか入ってない。(ec2-ami-toolsにはない)
sudo su
cd
wget http://s3.amazonaws.com/ec2-downloads/ec2-api-tools.zip
java-open-jdkが必要なのでインストール
sudo apt-get install openjdk-6-jdk
ついでに
sudo apt-get install sun-java6-jdk
ec2-ami-toolsをダウンロード
wget http://developer.amazonwebservices.com/connect/entry.jspa?externalID=368&categoryID=88
※ココからダウンロード
rootの.bashrc設定
$ sudo su
$ cd
$ vim .bashrc
export EC2_PRIVATE_KEY=$HOME/pairkey/pk-****.pem
export EC2_CERT=$HOME/pairkey/cert-****.pem
export EC2_HOME=/root/ec2-ami-tools
export EC2_AMITOOL_HOME=/root/ec2-ami-tools
export PATH=$PATH:${EC2_AMITOOL_HOME:-EC2_HOME}/bin
export EC2_URL=https://eu-west-1.ec2.amazonaws.com
export PATH=$PATH:/root/ec2-api-tools/bin
export JAVA_HOME=/usr/lib/jvm/java-6-openjdk/
インスタンスの/mntディレクトリに鍵ペアをアップロード
scp -P 22 -i ec2-keypair.pem pk-***.pem ubuntu@ec2-***-**-***-***.compute-1.amazonaws.com:/mnt
※AMIに必要なキー取得手順はココを参照しましょう。
ボリュームをバンドル
$ ec2-bundle-vol -d /mnt --privatekey pk-ATA***.pem --cert cert-ATA***.pem --user ****-****-**** -r i386
Copying / into the image file /mnt/ami/image...
Excluding:
/sys/kernel/debug
/sys/kernel/security
/sys
/proc
/dev/pts
/dev
/dev
/media
/mnt
/proc
/sys
/mnt/ami/image
/mnt/img-mnt
1+0 records in
1+0 records out
上記コマンドを/mnt/ami/上で実行。
imageファイルをガリガリ作成しはじめる。しばらくいやかなり待つ。
AMIをS3へアップロード
ec2-upload-bundle --bucket bucketname --manifest /mnt/ami/image.manifest.xml --access-key **** --secret-key ****
AMIを登録
$ ec2-register --name (ami-name) (bucketname)/(manifest-name)
または
(1).https://console.aws.amazon.com/ec2/home
(2).左のメニューのIMAGES/AMIsを選択
(3).Register New AMIアイコンをクリック
(4).buketname/image.manifest.xmlを入力する
(5).AMI IDを取得できる。
注意点:
(1).AMIは/mnt領域は対象に入らない。
領域確保のために/mntへリンクを貼っている場合はsdaに戻しておきましょう。
起動確認
インスタンス起動後アクセスできないばあい。
$ ec2-get-console-output (instance code)
で起動までのアウトプットが見れる。
バックエンドデータベースへのアクセス確認
psql --host=***.***.***.*** -U username dbname
参考リンク