シンガポールが追加されたAmazon EC2で遊んでみた[S3編]

前回「シンガポールが追加されたAmazon EC2で遊んでみた[起動編]」ではインスタンスの起動まで説明しました。
でもこのままでは終了すると変更は破棄されてまたゼロからスタートになります。
そのため、AmazonのS3(Simple Storage Service)ってのを使います。
S3ってのは簡単にいうとクラウド化されたストレージなんだけど、サーバー等にマウントして使ったりはできなくてファイル単位で管理するシンプルなストレージサービスです。
なのでEC2とS3を連携させる場合にはEC2で使うAMIをOSのイメージとしてS3に保存しておき、起動させるときにOSイメージを呼び出してインスタンスを起動するって感じに使います。
とりあえずAWSにログインしてダッシュボード開いて「Amazon S3」タブ開く

するとS3を使ってオブジェクトを保存するためにはバケットを作れって書いてあるので「Create Bucket」を押します。Bucketってのは日本語的にバケツの意味ですが、S3的にはフォルダの親玉な感じです。BucketにFolderを作ってその中にファイルを格納するようなイメージです。
「Create Bucket」を押すとBucket名とRegionを選択するダイアログが出ます。

今回はシンガポールで遊ぶのが目的なので「Singapore」を選んで適当なBucket名を付けて「Create」します。今回はBucket名を「maesan」にしました。
すると左のBucketsの所に作成したBucketが表示されます。
そのBucketを選択すると右側にWindowsのエクスプローラーみたいな感じのがあるのでそこで「Create Folder」を押してフォルダを作ります。
今回はFedoraのイメージを保存しようと思いますので適当に「fedora001」って名前で作ってみました

でココマデできたら次はインスタンスを起動してEC2のツールを使って保存します。
インスタンス内でEC2のコマンドラインツールを使わないといけないのですが、それにはX.509証明書とか必要になります。
なのでAWSの「Account」から「Security Credentials」のページへ行きます。
・右上あたりの「Account Number」ってのをメモ
ページ中程に「Access Credentials」ってのがあるので、
・Access Keysをメモ
・Secret Access Keyの「Show」も押してメモ
次に「X.509 Certificates」タブを開いて「Create a new Certificate」をクリック

するとダウンロード用のダイアログがでるのでどっちも保存する
cert-xxxx.pemってファイルとpk-xxxx.pemってファイル

んでコレをさっき起動したインスタンスに転送する
説明は以下と仮定して
・Key Pairs → maesan.pem
・Private Key → pk-xxx.pem(ほんとはもっと長い)
・ X.509証明書 → cert-xxx.pem(ほんとはもっと長い)
・インスタンスのpublic DNS → ec2-xx-xx-xx-xx.ap-southeast-1.compute.amazonaws.com
ターミナルから以下のコマンドを実行する。Windowsの場合はWinSCPとかそのへん使ってください><

>scp -i maesan.pem pk-xxx.pem root@ec2-xx-xx-xx-xx.ap-southeast-1.compute.amazonaws.com:/root
>scp -i maesan.pem cert-xxx.pem root@ec2-xx-xx-xx-xx.ap-southeast-1.compute.amazonaws.com:/root

んでインスタンスにsshでログインする

>ssh -i maesan.pem root@ec2-xx-xx-xx-xx.ap-southeast-1.compute.amazonaws.com

色々カスタマイズしてS3に保存したい状態になったらまずEC2のツールを使ってOSのイメージ(AMI)を作成する–userのとこにはメモっといたAccount Number入れる

#ec2-bundle-vol -d /mnt –privatekey pk-xxx.pem –cert cert-xxx.pem –user xxxx-xxxx-xxxx -r i386

結構時間かかるのでしばらく待つ。
-rは32bitなら i386、64bitなら x86_64を指定します。
ちょっとイラってするくらい時間かかるかも。。。

Copying / into the image file /mnt/image…
Excluding:
/sys
/proc
/sys/fs/fuse/connections
/dev/pts
/proc/sys/fs/binfmt_misc
/dev
/media
/mnt
/proc
/sys
/mnt/image
/mnt/img-mnt
1+0 records in
1+0 records out
1048576 bytes (1.0 MB) copied, 0.021742 s, 48.2 MB/s
mke2fs 1.40.4 (31-Dec-2007)
NOTE: rsync with preservation of extended file attributes failed. Retrying rsync
without attempting to preserve extended file attributes…
NOTE: rsync seemed successful but exited with error code 23. This probably means
that your version of rsync was built against a kernel with HAVE_LUTIMES defined,
although the current kernel was not built with this option enabled. The bundling
process will thus ignore the error and continue bundling. If bundling completes
successfully, your image should be perfectly usable. We, however, recommend that
you install a version of rsync that handles this situation more elegantly.
Bundling image file…
Splitting /mnt/image.tar.gz.enc…
Created image.part.00
Created image.part.01
Created image.part.02
Created image.part.03
Created image.part.04
Created image.part.05
Created image.part.06
Created image.part.07
Created image.part.08
Created image.part.09
Created image.part.10
Created image.part.11
Created image.part.12
Created image.part.13
Created image.part.14
Created image.part.15
Created image.part.16
Created image.part.17
Created image.part.18
Created image.part.19
Created image.part.20
Created image.part.21
Created image.part.22
Created image.part.23
Created image.part.24
Created image.part.25
Created image.part.26
Created image.part.27
Created image.part.28
Created image.part.29
Created image.part.30
Created image.part.31
Created image.part.32
Created image.part.33
Created image.part.34
Created image.part.35
Created image.part.36
Created image.part.37
Created image.part.38
Created image.part.39
Created image.part.40
Created image.part.41
Created image.part.42
Created image.part.43
Created image.part.44
Created image.part.45
Created image.part.46
Created image.part.47
Created image.part.48
Created image.part.49
Generating digests for each part…
Digests generated.
Unable to read instance meta-data for product-codes
Creating bundle manifest…
ec2-bundle-vol complete.

んでイメージ出来上がったらS3に転送
–access-keyと–secret-keyにはさっきメモたやつ入れる

#ec2-upload-bundle –bucket maesan/fedora001 –manifest /mnt/image.manifest.xml –access-key xxxx –secret-key xxxx

Uploading bundled image parts to the S3 bucket maesan …
Uploaded image.part.00
Uploaded image.part.01
Uploaded image.part.02
Uploaded image.part.03
Uploaded image.part.04
Uploaded image.part.05
Uploaded image.part.06
Uploaded image.part.07
Uploaded image.part.08
Uploaded image.part.09
Uploaded image.part.10
Uploaded image.part.11
Uploaded image.part.12
Uploaded image.part.13
Uploaded image.part.14
Uploaded image.part.15
Uploaded image.part.16
Uploaded image.part.17
Uploaded image.part.18
Uploaded image.part.19
Uploaded image.part.20
Uploaded image.part.21
Uploaded image.part.22
Uploaded image.part.23
Uploaded image.part.24
Uploaded image.part.25
Uploaded image.part.26
Uploaded image.part.27
Uploaded image.part.28
Uploaded image.part.29
Uploaded image.part.30
Uploaded image.part.31
Uploaded image.part.32
Uploaded image.part.33
Uploaded image.part.34
Uploaded image.part.35
Uploaded image.part.36
Uploaded image.part.37
Uploaded image.part.38
Uploaded image.part.39
Uploaded image.part.40
Uploaded image.part.41
Uploaded image.part.42
Uploaded image.part.43
Uploaded image.part.44
Uploaded image.part.45
Uploaded image.part.46
Uploaded image.part.47
Uploaded image.part.48
Uploaded image.part.49
Uploading manifest …
Uploaded manifest.
Bundle upload completed.

ダッシュボードのS3からファイルが転送されたか確認します。

で、最後にこのイメージでインスタンスを起動できるようにAMIとして登録します。
ダッシュボードの「AMIs」をクリックして「Register New AMI」をクリックするとAMIのパスを指定するダイアログが出ます。

ココで「バケット名/フォルダ名/image.manifest.xml」を入れて「Register」を押して完了です。
これでいつでもダッシュボードの「AMIs」で「Owned By Me」にこのAMIが登録されるのでいつでもインスタンスを起動することができます。
お疲れさまでした〜
シンガポールが追加されたAmazon EC2で遊んでみた[登録編]
シンガポールが追加されたAmazon EC2で遊んでみた[起動編]

Amazon EC2/S3/EBS クラウドコンピューティングによる仮想サーバ構築
清水 正人 ソシム 売り上げランキング: 226726
 iTunes Store(Japan)
 iTunes Store(Japan)
 iTunes Store(Japan)
 iTunes Store(Japan)
 iTunes Store(Japan)
Filed under: AWS — maesan 1:16 AM  Comments (1)
トラックバック

このエントリーのトラックバックURL:

1件のコメント »
  1. [...] この辺の流れはシンガポールが追加されたAmazon EC2で遊んでみた[S3編]を参考にしてください。 [...]

コメントする





(一部のHTMLタグを使うことができます。)
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>