EC2 ã§ã® AMI 使æé
前々回ã¯ãã¤ã³ã¹ã¿ã³ã¹ã®èµ·åã»åæ¢ã»ç¢ºèªã¾ã§é²ã¿ã¾ãããããã¦ãä»å㯠AMI ã®ä½æãè¡ãããã¾ãã
使çç±ã¯ãEC2 ãã·ã£ãããã¦ã³ããã¨ãã£ã¹ã¯ã«ä¿åããå
容ã失ããã¦ãã¾ãã®ã§ãããAMI ã使ãããã¨ã«ããã使ããæç¹ã®ãã£ã¹ã¯å
容ã§ã¤ã³ã¹ã¹ã¿ã³ã¹èµ·åã§ãã¾ãã*1
ä»åã CodeZine ã«æ²¿ã£ãå½¢ã§ä½æ¥ãé²ãã¦è¡ãã¾ããä»åã®å
容ã¯ï¼ãã¼ã¸åã§ããã
äºåæ å ±
- AMI 㯠S3 ã«è»¢éãã¦ä¿åãã
- EC2 ãã S3 ã¸ã®è»¢éæã¯èª²é対象å¤
- ã¤ã¡ã¼ã¸åããããã£ã¬ã¯ããªã¯ã/dev/sda1ãã®ã¿
ã¤ã³ã¹ã¿ã³ã¹
åã åã®æ¹æ³ã§ãã¤ã³ã¹ã¿ã³ã¹èµ·åã¾ã§é²ãã¾ãã
ssh æ¥ç¶
ä»åã¯ãAWS Management Consoleããå©ç¨ããæè»½ãªæ¥ç¶æ¹æ³ã解説ãã¾ãã
- AWS Management Console/EC2 ãããå·¦ã¡ãã¥ã¼ã® [Instances] ãã¯ãªãã¯
- [Connect] ãã¿ã³ãã¯ãªãã¯
- [Connect Help - Secure Shell (SSH)]ã¨ããã¿ã¤ãã«ã®ã¦ã£ã³ãã¦ã表示ããã
- ã¦ã£ã³ãã¦ä¸ã«ãssh æ¥ç¶ããããã®ã³ãã³ããæ·»ä»ããã¦ããã®ã§ copy and paste
- ã¿ã¼ããã«ã§ã以åã«ä½æããã¤ã³ã¹ã¿ã³ã¹ãã¼ãä¿ç®¡ããã¦ãããã£ã¬ã¯ããªã§ã³ãã³ãå®è¡*2
é©å½ãªãã¡ã¤ã«ä½æ
ãã®ã¾ã¾ AMI 使ãã¦ããå ã® AMI ã¨éããç¡ãã®ã§ãä½ããããã¡ã¤ã«ã使ãã¦ããã¾ãã
root@domU-12-31-39-00-5E-33:/root# ls test
AMI 使
ãX.509è¨¼ææ¸ã転é
åã åã«åå¾ãã¦ããããX.509è¨¼ææ¸ãã AMI å´ã¸è»¢éããã¾ãã
$ scp -i ec2_instance_key.pem *.pem root@ec2-75-101-180-145.compute-1.amazonaws.com:/mnt cert-xxxxx.pem 100% 916 0.9KB/s 00:00 ec2_instance_key.pem 100% 1675 1.6KB/s 00:00 pk-xxxxx.pem 100% 926 0.9KB/s 00:00
ssh æ¥ç¶ãã¦è»¢éããããã¨ã確èª
/mnt ã«ãã¡ã¤ã«ãåå¨ãããããã§ãã¯ãã¾ãã
# cd /mnt # ls cert-xxxxx.pem ec2_instance_key.pem lost+found pk-xxxxx.pem
ãããã¡ããã¨è»¢éããã¦ãã¾ãããã
AMI 使
ã¯ãããããã使ã§ãã¾ãã
ã³ãã³ãã§ãuser ã®å¾ã«ã¯ã¢ã«ã¦ã³ãå*3ãæå®ãã¦ãã ããã
éä¸ã§ç¢ºèªãæ±ãããã¾ãããã¤ã³ã¹ã¿ã³ã¹ã¿ã¤ãããm1.smallããªãããã®ã¾ã¾ Enter ãæ¼ãã°ããã§ãã
# ec2-bundle-vol -d /mnt --privatekey pk-xxxxx.pem --cert cert-xxxxx.pem --user xxxx-xxxx-xxxx --fstab /etc/fstab Please specify a value for arch [i386]: Copying / into the image file /mnt/image... Excluding: /sys /proc /dev/pts /dev /media /mnt /proc /sys /etc/udev/rules.d/70-persistent-net.rules /etc/udev/rules.d/z25_persistent-net.rules /mnt/image /mnt/img-mnt 1+0 records in 1+0 records out 1048576 bytes (1.0 MB) copied, 0.002536 s, 413 MB/s mke2fs 1.41.4 (27-Jan-2009) /etc/fstab: # Legacy /etc/fstab # Supplied by: ec2-ami-tools-1.3-30748 /dev/sda1 / ext3 defaults 1 1 /dev/sda2 /mnt ext3 defaults 0 0 /dev/sda3 swap swap defaults 0 0 none /proc proc defaults 0 0 none /sys sysfs defaults 0 0 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 Generating digests for each part... Digests generated. Unable to read instance meta-data for product-codes Creating bundle manifest... ec2-bundle-vol complete.
ã»ã¼åæç¶æ ã«ãé¢ãããã使ã«ã¯ï¼ã»ï¼åããããã¾ããã
使ãã AMI ã S3 ã¸ã¢ãããã¼ãï¼ä»®ï¼
使ããããã¼ã¿ã¯ãEC2 å´ã® /mnt ãã£ã¬ã¯ããªã«ããã¾ãã®ã§ãããã S3 ã¸ã¢ãããã¼ããã¦ã¿ã¾ãã
ã¨ãããã§éè¦ãªãã¨ã«æ°ã¥ãã¾ããã
S3 ã®ç°å¢æ§ç¯ããã¦ããªã
ãã以éããæ§ç¯ã«ã¤ãã¦æ¸ãã¦ãè¯ãã®ã§ãããèªã¿é£ããªãã®ã§åãã¦æ¸ãã¾ãã
Amazon S3 を使ってみたよ
使ãã AMI ã S3 ã¸ã¢ãããã¼ãï¼çï¼
${...} ã¯ãããããæå®ãã¦å®è¡ãã¦ãã ããã
# ec2-upload-bundle --bucket ${ã¢ããå ã®ãã±ããå} --manifest image.manifest.xml --access-key ${Access Key ID} --secret-key ${Secret Access Key} bucket ${ã¢ããå ã®ãã±ããå} ... 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 Uploading manifest ... Uploaded manifest. Bundle upload completed.
åè¿°ããéãããã®è»¢éæã¯èª²éããã¾ããã
AMI ç»é²
ã¤ã³ã¹ã¿ã³ã¹èµ·åã§ãããã AMI ã® ID ãçºè¡ãã¾ãããã®ããããã°ã¢ã¦ã(ã¤ã³ã¹ã¿ã³ã¹èµ·å忢)ãã¦ãã使¥ãã¦ãã ããã
$ ec2-register ${ã¢ããå ã®ãã±ããå}/image.manifest.xml IMAGE ami-0558bf6c
ç¾å¨ç»é²ä¸ã® AMI ã確èªãã¦ã¿ã¾ãããã
$ ec2-describe-images -o self MAGE ami-0558bf6c aws-kawakami/image.manifest.xml 443600062368 available private i386 machine aki-a71cf9ce ari-a51cf9cc
AMI ã® ID ããami-0558bf6cãã ã¨åããã¾ãã
ã¾ããããã©ã«ãã§ã¯ private ã¨ãªã£ã¦ãã¾ãããããã public ã«ãããã¨ãå¯è½ã§ãã
AMI èµ·å
AWS Management Console ã使ã£ã¦èµ·åãã¦ã¿ããã¨æãã¾ãã
- å·¦ã¡ãã¥ã¼ã«ãã [AMIs] ãã¯ãªãã¯
- å·¦å´ã®ã³ã³ãããã¯ã¹ã§ããPrivate Imagesãã鏿
- çºè¡ãã AMI ã® ID ãä¸è¦§ä¸ã«ä¸¦ã¶ã®ã§ã鏿ã㦠[Launch] ãã¿ã³ãã¯ãªãã¯
ããã§èµ·åãã¾ãã
確èª
root@ip-10-251-211-144:~# ls test
ãã¡ãã¨åã«ä½æãããtestããã¡ã¤ã«ãåå¨ãããã¨ã確èªã§ãã¾ããã
以ä¸ã§ãä»åã®æ¤è¨¼ã¯çµããã¾ãã
ã¾ã¨ã
ã¾ããèµ·åããä»®æ³ãã·ã³ä¸ã§ã®ä½æ¥ãã¨ã«ããé
ããåã«ãã¡ã¤ã«ä½æããã ãã§ãã¢ããµãªãã¦ã¦ã¤ã©ã£ã¨æ¥ãå ´åãããã¾ãããã®ã¬ã¹ãã³ã¹ã®é
ãã¯ãå½å
ã«ãµã¼ãã¼ãç½®ããããæ¹åãããããããã¾ããããããæå¤ã®æ¹æ³ã§ãä½ã対çãåããªããæ¨¡ç´¢ãã¹ãã§ã(æ¢ã«ããï¼)ã
ã¾ããAMI ã®ä¿åã¨ãã使¥ãäºæ³ä»¥ä¸ã«ã¡ã³ãã¯ãµã¤ã§ããã©ããã¡ã³ãã¦ãã¨è¨ãã¨ã/mnt ãã£ã¬ã¯ããªæ
å ±ãä¿åã§ããªããããå度 AMI ãä¿åãããã¨ãã¯ä¸ãã使¥ããªãã¨ãã¡ãªã¨ããã§ãããã®è¾ºã¯å¥ã®ä»çµã¿ã§ä¿åã§ãããããã®ã§ããã®æ¹æ³ãã ãã§ã¯æ¹åã§ããã®ããããã¾ããã
*1:å¥ã®æ¹æ³ã§ããã£ã¹ã¯å 容ã¯ä¿åå¯è½
*2:以åã«ä½æããã¤ã³ã¹ã¿ã³ã¹ãã¼å称㯠ec2_instance_key.id ã§ããããã³ãã¼å ã«åãã㦠ec2_instance_key.pem ã¨æ¡å¼µåã夿´ãã¾ãã
*3:AWS ãµã¤ãã® [Account Activity] ãã¼ã¸ã« Account Number ã¨ããçªå·ã®ãã¨