เด†เดฎเดธเต‹เตบ เด•เตเดฒเต—เดกเดฟเตฝ เดถเตเดฆเตเดงเดฎเดพเดฏ CentOS 5.9 เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดจเดฟเด™เตเด™เดณเตเดŸเต† เดธเตเดตเดจเตเดคเด‚ เดšเดฟเดคเตเดฐเด‚ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเต

เดจเดฟเด™เตเด™เตพเด•เตเด•เดฑเดฟเดฏเดพเดตเตเดจเตเดจเดคเตเดชเต‹เดฒเต†, เด†เดฎเดธเต‹เตบ เด•เตเดฒเต—เดกเดฟเตฝ เดตเต†เตผเดšเตเดตเตฝ เดธเด‚เดญเดตเด™เตเด™เตพ เดšเดฟเดคเตเดฐเด™เตเด™เดณเต† เด…เดŸเดฟเดธเตเดฅเดพเดจเดฎเดพเด•เตเด•เดฟ เดธเดฎเดพเดฐเด‚เดญเดฟเด•เตเด•เตเดจเตเดจเต (เด…เด™เตเด™เดจเต† เดตเดฟเดณเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดจเตเดจเดต AMI). เด†เดฎเดธเต‹เตบ เด…เดตเดฏเดฟเตฝ เดตเดฒเดฟเดฏเตŠเดฐเต เดธเด‚เด–เตเดฏ เดจเตฝเด•เตเดจเตเดจเต; เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดฎเต‚เดจเตเดจเดพเด‚ เด•เด•เตเดทเดฟเด•เตพ เดคเดฏเตเดฏเดพเดฑเดพเด•เตเด•เดฟเดฏ เดชเตŠเดคเต เดšเดฟเดคเตเดฐเด™เตเด™เดณเตเด‚ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚, เด…เดคเดฟเดจเดพเดฏเดฟ เด•เตเดฒเต—เดกเต เดฆเดพเดคเดพเดตเต เด’เดฐเต เด‰เดคเตเดคเดฐเดตเดพเดฆเดฟเดคเตเดคเดตเตเด‚ เดตเดนเดฟเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ. เดŽเดจเตเดจเดพเตฝ เดšเดฟเดฒเดชเตเดชเต‹เตพ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด†เดตเดถเตเดฏเดฎเดพเดฏ เดชเดพเดฐเดพเดฎเต€เดฑเตเดฑเดฑเตเด•เดณเตเดณเตเดณ เด’เดฐเต เด•เตเดฒเต€เตป เดธเดฟเดธเตเดฑเตเดฑเด‚ เด‡เดฎเต‡เดœเต เด†เดตเดถเตเดฏเดฎเดพเดฃเต, เด…เดคเต เดšเดฟเดคเตเดฐเด™เตเด™เดณเตเดŸเต† เดชเดŸเตเดŸเดฟเด•เดฏเดฟเตฝ เด‡เดฒเตเดฒ. เด…เดชเตเดชเต‹เตพ เดจเดฟเด™เตเด™เดณเตเดŸเต† เดธเตเดตเดจเตเดคเด‚ เดŽเดŽเด‚เด เด‰เดฃเตเดŸเดพเด•เตเด•เตเด• เดŽเดจเตเดจเดคเดพเดฃเต เดเด• เดชเต‹เด‚เดตเดดเดฟ.

เด”เดฆเตเดฏเต‹เด—เดฟเด• เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเต‡เดทเตป เดตเดฟเดตเดฐเดฟเด•เตเด•เตเดจเตเดจเต เดตเดดเดฟ เด’เดฐเต "เด‡เตปเดธเตเดฑเตเดฑเตปเดธเต เดธเตเดฑเตเดฑเต‹เตผ-เดฌเดพเด•เตเด•เตเดกเต เดŽเดŽเด‚เด" เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเต. เดˆ เดธเดฎเต€เดชเดจเดคเตเดคเดฟเดจเตเดฑเต† เดชเต‹เดฐเดพเดฏเตเดฎ, เดชเต‚เตผเดคเตเดคเดฟเดฏเดพเดฏ เดšเดฟเดคเตเดฐเดตเตเด‚ เด’เดฐเต "EBS- เดชเดฟเดจเตเดคเตเดฃเดฏเตเดณเตเดณ AMI" เด†เดฏเดฟ เดชเดฐเดฟเดตเตผเดคเตเดคเดจเด‚ เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต เดŽเดจเตเดจเดคเดพเดฃเต.

เด‡เดจเตเดฑเตผเดฎเต€เดกเดฟเดฏเดฑเตเดฑเต เด˜เดŸเตเดŸเด™เตเด™เดณเดฟเดฒเตเดฒเดพเดคเต† เด†เดฎเดธเต‹เตบ เด•เตเดฒเต—เดกเดฟเตฝ เดจเดฟเด™เตเด™เดณเตเดŸเต† เดธเตเดตเดจเตเดคเด‚ เด‡เดฌเดฟเดŽเดธเต เดชเดฟเดจเตเดคเตเดฃเดฏเตเดณเตเดณ เดŽเดŽเด‚เด เดŽเด™เตเด™เดจเต† เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเดฎเต†เดจเตเดจเต เดˆ เดฒเต‡เด–เดจเด‚ เดšเตผเดšเตเดš เดšเต†เดฏเตเดฏเตเด‚.

เดชเตเดฐเดตเตผเดคเตเดคเดจ เดชเดฆเตเดงเดคเดฟ:

  • เดชเดฐเดฟเดธเตเดฅเดฟเดคเดฟ เด’เดฐเตเด•เตเด•เตเด•
  • เด’เดฐเต เด•เตเดฒเต€เตป เดธเดฟเดธเตเดฑเตเดฑเด‚ เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดคเต เด†เดตเดถเตเดฏเดฎเดพเดฏ เด•เตเดฐเดฎเต€เด•เดฐเดฃเด™เตเด™เตพ เด‰เดฃเตเดŸเดพเด•เตเด•เตเด•
  • เดกเดฟเดธเตเด•เดฟเดจเตเดฑเต† เด’เดฐเต เดธเตเดจเดพเดชเตเดชเตเดทเต‹เดŸเตเดŸเต เดŽเดŸเตเด•เตเด•เตเด•
  • AMI เดฐเดœเดฟเดธเตเดฑเตเดฑเตผ เดšเต†เดฏเตเดฏเตเด•

เดชเดฐเดฟเดธเตเดฅเดฟเดคเดฟ เด’เดฐเตเด•เตเด•เตเดจเตเดจเต

เดžเด™เตเด™เดณเตเดŸเต† เด†เดตเดถเตเดฏเด™เตเด™เตพเด•เตเด•เต, เดเดคเต เด†เด•เตƒเดคเดฟเดฏเตเดŸเต†เดฏเตเด‚ เดเดคเต เด‰เดฆเดพเดนเดฐเดฃเดตเตเด‚ เด…เดจเตเดฏเต‹เดœเตเดฏเดฎเดพเดฃเต, t1.micro เดชเต‹เดฒเตเด‚. CLI เดตเดดเดฟ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด‡เดคเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚:

aws ec2 run-instances --image-id ami-1624987f --max-count 1 --min-count 1 --key-name mel --instance-type t1.micro

เดจเดฎเตเด•เตเด•เต ebs-volume เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเด‚, เด…เดตเดฟเดŸเต† เดจเดฎเตเดฎเตเดŸเต† เดธเดฟเดธเตเดฑเตเดฑเด‚ เดชเดฟเดจเตเดจเต€เดŸเต เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเตเด‚:

aws ec2 create-volume --availability-zone us-east-1a --size 10

เดˆ เด•เดฎเดพเตปเดกเต เดจเดฎเตเด•เตเด•เดพเดฏเดฟ 10 Gb เดกเดฟเดธเตเด•เต เด‰เดฃเตเดŸเดพเด•เตเด•เตเด‚. เดชเตเดฐเดงเดพเดจเด‚: เดกเดฟเดธเตเด•เต, เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเตเดฑเต† เด…เดคเต‡ เดธเต‹เดฃเดฟเตฝ เด†เดฏเดฟเดฐเดฟเด•เตเด•เดฃเด‚ (เดžเด™เตเด™เดณเตเดŸเต† เด•เดพเดฐเตเดฏเดคเตเดคเดฟเตฝ เด‡เดคเต us-east-1a เด†เดฃเต).
เด…เดŸเตเดคเตเดคเดคเดพเดฏเดฟ, เดจเดฟเด™เตเด™เตพ เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เดกเดฟเดธเตเด•เต เด…เดฑเตเดฑเดพเดšเตเดšเตเดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต:

aws ec2 attach-volume --instance-id i-2bc0925b --volume-id vol-08ab3079 --device /dev/xvdf

เด‡เดจเดฟ เดจเดฎเตเด•เตเด•เต ssh เดตเดดเดฟ เด‡เตปเดธเตเดฑเตเดฑเตปเดธเดฟเดฒเต‡เด•เตเด•เต เดฒเต‹เด—เดฟเตป เดšเต†เดฏเตเดฏเดพเด‚, เดกเดฟเดธเตเด•เต เดซเต‹เตผเดฎเดพเดฑเตเดฑเต เดšเต†เดฏเตเดคเต เดกเดฏเดฑเด•เตเดŸเดฑเดฟเดฏเดฟเตฝ เดฎเต—เดฃเตเดŸเต เดšเต†เดฏเตเดฏเดพเด‚:

mkfs.ext3 /dev/xvdf
mkdir /mnt/centos-image
mount /dev/xvdf /mnt/centos-image
cd !$

เด•เตเดฒเต€เตป เดธเต†เดจเตเดฑเต‹เดธเต เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเตเดจเตเดจเต 5.9

เดธเดฟเดธเตเดฑเตเดฑเด‚ เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเดฎเตเดฎเตเดชเต, เดจเดฟเด™เตเด™เตพ เด’เดฐเต เดกเดฏเดฑเด•เตเดŸเดฑเดฟ เดŸเตเดฐเต€ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต, proc, sysfs เดŽเดจเตเดจเดฟเดต เดฎเตŒเดฃเตเดŸเต เดšเต†เดฏเตเดฏเตเด•, เด•เต‚เดŸเดพเดคเต† เดเดฑเตเดฑเดตเตเด‚ เด•เตเดฑเดžเตเดž เด‰เดชเด•เดฐเดฃเด™เตเด™เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเด•:

mkdir centos-image/{boot,tmp,dev,sys,proc,etc,var}
mount -t proc none /mnt/centos-image/proc/
mount -t sysfs none /mnt/centos-image/sys/
for i in console null zero ; do /sbin/MAKEDEV -d /mnt/centos-image/dev -x $i ; done

yum เด‰เด‚ เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เดซเดฏเดฒเตเด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดžเด™เตเด™เตพ เดธเดฟเดธเตเดฑเตเดฑเด‚ เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเตเด‚:
yum-centos.conf

[main]
cachedir=/var/cache/yum
debuglevel=2
logfile=/var/log/yum.log
exclude=*-debuginfo
gpgcheck=0
obsoletes=1
reposdir=/dev/null

[base]
name=CentOS-5.9 - Base
mirrorlist=http://mirrorlist.centos.org/?release=5.9&arch=x86_64&repo=os
#baseurl=http://mirror.centos.org/centos/5.9/os/x86_64/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

[updates]
name=CentOS-5.9 - Updates
mirrorlist=http://mirrorlist.centos.org/?release=5.9&arch=x86_64&repo=updates
#baseurl=http://mirror.centos.org/centos/5.9/updates/x86_64/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

[extras]
name=CentOS-5.9 - Extras
mirrorlist=http://mirrorlist.centos.org/?release=5.9&arch=x86_64&repo=extras
#baseurl=http://mirror.centos.org/centos/5.9/extras/x86_64/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-5

[centosplus]
name=CentOS-5.9 - Plus
mirrorlist=http://mirrorlist.centos.org/?release=5.9&arch=x86_64&repo=centosplus
#baseurl=http://mirror.centos.org/centos/5.9/centosplus/x86_64/
gpgcheck=1
enabled=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-5

[contrib]
name=CentOS-5.9 - Contrib
mirrorlist=http://mirrorlist.centos.org/?release=5.9&arch=x86_64&repo=contrib
#baseurl=http://mirror.centos.org/centos/5.9/contrib/x86_64/
gpgcheck=1
enabled=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-5

yum -c ~/yum-centos.conf --installroot=/mnt/centos-image/ -y groupinstall Base

เด‡เตปเดธเตเดฑเตเดฑเดพเดณเต‡เดทเตป เดชเตเดฐเด•เตเดฐเดฟเดฏ เดชเต‚เตผเดคเตเดคเดฟเดฏเดพเด•เตเด•เดฟเดฏ เดถเต‡เดทเด‚, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด†เดตเดถเตเดฏเดฎเดพเดฏ เดชเดพเด•เตเด•เต‡เดœเตเด•เตพ เด…เดคเต‡ เดฐเต€เดคเดฟเดฏเดฟเตฝ เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดฏเตเด‚:

yum -c ~/yum-centos.conf --installroot=/mnt/centos-image/ install $packet_name

เดจเดฎเตเด•เตเด•เต fstab เดŽเดกเดฟเดฑเตเดฑเต เดšเต†เดฏเตเดฏเดพเด‚:

vi /mnt/centos-image

/dev/xvda1  /      ext3    defaults        0 0
none       /dev/pts  devpts  gid=5,mode=620  0 0
none       /dev/shm  tmpfs   defaults        0 0
none       /proc     proc    defaults        0 0
none       /sys      sysfs   defaults        0 0

CentOS 5.9-เตฝ เดจเดฟเด™เตเด™เตพ เด‡เดชเตเดชเต‹เดดเตเด‚ xen เดชเดฟเดจเตเดคเตเดฃเดฏเตเดณเตเดณ เด’เดฐเต เด•เต‡เตผเดฃเตฝ เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต:

yum -c ~/yum-centos.conf --installroot=/mnt/centos-image/ -y install kernel-xen

เด—เตเดฐเดฌเต เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเตเด•:

chroot /mnt/centos-image/ grub-install /dev/xvdf

เด’เดฐเต เดชเตเดคเดฟเดฏ initrd เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเด•:

chroot /mnt/centos-image/
cd boot/
mkinitrd --omit-scsi-modules --with=xennet --with=xenblk --fstab=/etc/fstab --preload=xenblk initrd-2.6.18-348.1.1.el5xen.img 2.6.18-348.1.1.el5xen

เดˆ เดŽเดฒเตเดฒเดพ เดชเดฐเดพเดฎเต€เดฑเตเดฑเดฑเตเด•เดณเตเด‚ เด’เดฐเต เดชเตเดคเดฟเดฏ fstab เด‰เด‚ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เต‡เดฃเตเดŸเดคเต เดตเดณเดฐเต† เดชเตเดฐเดงเดพเดจเดฎเดพเดฃเต, เด…เดฒเตเดฒเดพเดคเตเดคเดชเด•เตเดทเด‚ เดธเดฟเดธเตเดฑเตเดฑเด‚ เดฌเต‚เดŸเตเดŸเต เดšเต†เดฏเตเดฏเดฟเดฒเตเดฒ.
เด…เดŸเตเดคเตเดคเดคเดพเดฏเดฟ เดจเดฟเด™เตเด™เตพ grub-เดจเดพเดฏเดฟ เด’เดฐเต menu.lst เดซเดฏเตฝ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต:

default=0
timeout=5
hiddenmenu
title CentOS_5.9_(x86_64)
        root (hd0)
        kernel /boot/vmlinuz-2.6.18-348.1.1.el5xen ro root=/dev/xvda1
        initrd /boot/initrd-2.6.18-348.1.1.el5xen.img

เดจเดฎเตเด•เตเด•เต เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เตเด‚ sshd-เดฏเตเด‚ เด•เต‹เตบเดซเดฟเด—เตผ เดšเต†เดฏเตเดฏเดพเด‚:

vi etc/sysconfig/network-scripts/ifcfg-eth0
ONBOOT=yes
DEVICE=eth0
BOOTPROTO=dhcp
TYPE=Ethernet
USERCTL=yes
PEERDNS=yes
IPV6INIT=no

vi etc/sysconfig/network
NETWORKING=yes

chroot /mnt/centos5img/ chkconfig --level 2345 network on

vi /mnt/centos5img/etc/ssh/sshd_config
...
UseDNS no
PermitRootLogin without-password

เด…เด™เตเด™เดจเต†, เดจเดฎเตเด•เตเด•เต เด’เดฐเต เดชเตเดฐเดตเตผเดคเตเดคเดจ เดถเตƒเด‚เด–เดฒเดฏเตเด‚ เด•เต€เด•เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เดฒเต‹เด—เดฟเตป เดšเต†เดฏเตเดฏเดพเดจเตเดณเตเดณ เด•เดดเดฟเดตเตเด‚ เดฒเดญเดฟเด•เตเด•เตเด‚. เดŽเดจเตเดจเดพเตฝ เด•เต€ เดคเดจเตเดจเต† เดŽเด™เตเด™เดจเต†เดฏเต†เด™เตเด•เดฟเดฒเตเด‚ เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เดฎเดพเดฑเตเดฑเต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต. เด’เดฐเต เดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด‡เดคเต เดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดฏเตเด‚, เด…เดคเต เด•เต€ เดŽเดŸเตเดคเตเดคเต เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเตฝ เดธเด‚เดฐเด•เตเดทเดฟเด•เตเด•เตเด‚:

vi /mnt/centos5img/etc/init.d/ec2-get-ssh

ec2-get-ssh#! / เดฌเดฟเตป / เดฌเดพเดทเต
# chkconfig: 2345 95 20
# เดชเตเดฐเต‹เดธเดธเตเดธเดฟเดจเตเดฑเต† เดชเต‡เดฐเต: ec2-get-ssh
# เดตเดฟเดตเดฐเดฃเด‚: EC2 เด‰เดชเดฏเต‹เด•เตเดคเดพเดตเดฟเดจเดพเดฏเดฟ AWS เดชเตŠเดคเต เด•เต€ เด•เตเดฐเต†เดกเตปเดทเตเดฏเดฒเตเด•เตพ เด•เตเดฏเดพเดชเตเดšเตผ เดšเต†เดฏเตเดฏเตเด•

#เด‰เดฑเดตเดฟเดŸ เดซเด‚เด—เตโ€Œเดทเตป เดฒเตˆเดฌเตเดฐเดฑเดฟ
. /etc/rc.d/init.d/functions

# เด‰เดฑเดตเดฟเดŸ เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เดฟเด‚เด—เต เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป
[ -r /etc/sysconfig/network ] &&. /etc/sysconfig/network

# เดจเดฟเด™เตเด™เดณเตเดŸเต† เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเดจเดพเดฏเดฟ เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดชเดฐเดฟเดธเตเดฅเดฟเดคเดฟ เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เตพ เดฎเดพเดฑเตเดฑเดฟเดธเตเดฅเดพเดชเดฟเด•เตเด•เตเด•
เด•เดฏเดฑเตเดฑเตเดฎเดคเดฟ PATH=:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin

# เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เดฟเด‚เด—เต เด•เตเดฐเดฎเต€เด•เดฐเดฟเดšเตเดšเดฟเดŸเตเดŸเตเดฃเตเดŸเต‹เดฏเต†เดจเตเดจเต เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเด•
เดŽเด™เตเด•เดฟเตฝ [ "${NETWORKING}" = "no" ]; เดชเดฟเดจเตเดจเต†
echo "เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เดฟเด‚เด—เต เด•เต‹เตบเดซเดฟเด—เตผ เดšเต†เดฏเตเดคเดฟเดŸเตเดŸเดฟเดฒเตเดฒ."
เดชเตเดฑเดคเตเดคเตเด•เดŸเด•เตเด•เตเด• 1
fi

เด†เดฐเด‚เดญเดฟเด•เตเด•เตเด• () {
เดŽเด™เตเด•เดฟเตฝ [! -d /root/.ssh ]; เดชเดฟเดจเตเดจเต†
mkdir -p /root/.ssh
chmod 700 /root/.ssh
fi
# HTTP เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดฎเต†เดฑเตเดฑเดพเดกเดพเดฑเตเดฑ เดธเต†เตผเดตเดฑเดฟเตฝ เดจเดฟเดจเตเดจเต เดชเตŠเดคเต เด•เต€ เดตเต€เดฃเตเดŸเต†เดŸเตเด•เตเด•เตเด•
เดšเตเดฐเตเดณเตป -f 169.254.169.254/latest/meta-data/public-keys/0/openssh-key > /tmp/my-public-key
เดŽเด™เตเด•เดฟเตฝ [$? -eq 0 ]; เดชเดฟเดจเตเดจเต†
echo "EC2: HTTP เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดฎเต†เดฑเตเดฑเดพเดกเดพเดฑเตเดฑ เดธเต†เตผเดตเดฑเดฟเตฝ เดจเดฟเดจเตเดจเต เดชเตŠเดคเต เด•เต€ เดตเต€เดฃเตเดŸเต†เดŸเตเด•เตเด•เตเด•."
cat /tmp/my-public-key >> /root/.ssh/authorized_keys
chmod 600 /root/.ssh/authorized_keys
rm /tmp/my-public-key
fi
}

เดจเดฟเตผเดคเตเดคเตเด•() {
เดชเตเดฐเดคเดฟเดงเตเดตเดจเดฟ "เด‡เดตเดฟเดŸเต† เด’เดจเตเดจเตเด‚ เดšเต†เดฏเตเดฏเดพเดจเดฟเดฒเตเดฒ"
}

เดชเตเดจเดฐเดพเดฐเด‚เดญเดฟเด•เตเด•เตเด•() {
เดจเดฟเตผเดคเตเดคเตเด•
เดคเตเดŸเด•เตเด•เด‚
}

# เดžเด™เตเด™เดณเต† เดŽเด™เตเด™เดจเต†เดฏเดพเดฃเต เดตเดฟเดณเดฟเดšเตเดšเดคเต†เดจเตเดจเต เด•เดพเดฃเตเด•.
เด•เต‡เดธเต "$ 1" เตฝ
เด†เดฐเด‚เดญเดฟเด•เตเด•เตเด•)
เดคเตเดŸเด•เตเด•เด‚
;;
เดจเดฟเตผเดคเตเดคเตเด•)
เดจเดฟเตผเดคเตเดคเตเด•
;;
เดชเตเดจเดฐเดพเดฐเด‚เดญเดฟเด•เตเด•เตเด•)
เดชเตเดจเดฐเดพเดฐเด‚เดญเดฟเด•เตเด•เตเด•
;;
*)
เดชเตเดฐเดคเดฟเดงเตเดตเดจเดฟ $"เด‰เดชเดฏเต‹เด—เด‚: $0 {เด†เดฐเด‚เดญเดฟเด•เตเด•เตเด•|เดจเดฟเตผเดคเตเดคเตเด•|เดชเตเดจเดฐเดพเดฐเด‚เดญเดฟเด•เตเด•เตเด•}"
เดชเตเดฑเดคเตเดคเตเด•เดŸเด•เตเด•เตเด• 1
เดธเดฟ

เดŽเด•เตเดธเดฟเดฑเตเดฑเต $?
เดจเดฎเตเด•เตเด•เต เด‡เดคเต เดŽเด•เตเดธเดฟเด•เตเดฏเต‚เดŸเตเดŸเดฌเดฟเตพ เด†เด•เตเด•เดฟ เดธเตเดฑเตเดฑเดพเตผเดŸเตเดŸเดชเตเดชเดฟเดฒเต‡เด•เตเด•เต เดšเต‡เตผเด•เตเด•เดพเด‚:

chmod +x /mnt/centos-image/etc/init.d/ec2-get-ssh
/usr/sbin/chroot /mnt/centos-image/ /sbin/chkconfig --level 34 ec2-get-ssh on

เดธเต†เดฒเดฟเดจเด•เตเดธเต เด…เดชเตเดฐเดพเดชเตเดคเดฎเดพเด•เตเด•เตเดจเตเดจเดคเตเด‚ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดถเดฐเดฟเดฏเดพเดฏเดฟ เด•เต‹เตบเดซเดฟเด—เตผ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเตเด‚ เด‰เดšเดฟเดคเดฎเดพเดฃเต. เด…เดฒเตเดฒเดพเดคเตเดคเดชเด•เตเดทเด‚, เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดˆ เดธเดจเตเดฆเตผเดญเดคเตเดคเดฟเตฝ เด•เต€ เดธเต‡เดตเต เดšเต†เดฏเตเดคเต‡เด•เตเด•เดฟเดฒเตเดฒ.
เดˆ เด˜เดŸเตเดŸเดคเตเดคเดฟเตฝ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดธเดฟเดธเตเดฑเตเดฑเด‚ เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเต เดจเดฟเตผเดคเตเดคเดพเด‚. เด•เตเดฒเต—เดกเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เดพเตป เดžเด™เตเด™เตพเด•เตเด•เต เด‡เดคเดฟเดจเด•เด‚ เดคเดจเตเดจเต† เดถเตเดฆเตเดงเดฎเดพเดฏ CentOS เดคเดฏเตเดฏเดพเดฑเดพเดฃเต. เดžเด™เตเด™เดณเตเดŸเต† เดธเดฟเดธเตเดฑเตเดฑเด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต ebs เดกเดฟเดธเตเด•เต เด…เตบเดฎเต—เดฃเตเดŸเต เดšเต†เดฏเตเดคเต ami เดฐเดœเดฟเดธเตเดฑเตเดฑเตผ เดšเต†เดฏเตเดฏเตเด• เดฎเดพเดคเตเดฐเดฎเดพเดฃเต เด…เดตเดถเต‡เดทเดฟเด•เตเด•เตเดจเตเดจเดคเต.

umount /mnt/centos-image/proc/
umount /mnt/centos-image/sys/
umount /mnt/centos-image/

AMI เดฐเดœเดฟเดธเตเดŸเตเดฐเต‡เดทเตป

เด’เดฐเต ebs เดกเดฟเดธเตเด•เดฟเตฝ เดจเดฟเดจเตเดจเต ami เดฒเดญเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต, เดจเดฟเด™เตเด™เตพ เด†เดฆเตเดฏเด‚ เดกเดฟเดธเตเด•เดฟเดจเตเดฑเต† เด’เดฐเต เดธเตเดจเดพเดชเตเดชเตเดทเต‹เดŸเตเดŸเต เดŽเดŸเตเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต:

aws ec2 create-snapshot --volume-id vol-0b4bd07a --description centos-snap

AWS เดฎเดพเดจเต‡เดœเตเดฎเต†เดจเตเดฑเต เด•เตบเดธเต‹เตพ เดตเดดเดฟเดฏเดพเดฃเต ami เดฐเดœเดฟเดธเตเดฑเตเดฑเตผ เดšเต†เดฏเตเดฏเดพเดจเตเดณเตเดณ เดŽเดณเตเดชเตเดชเดตเดดเดฟ. เด‡เดคเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต, เดจเดฟเด™เตเด™เตพ EC2 เดธเต‡เดตเดจเดคเตเดคเดฟเดฒเต† "เดธเตเดจเดพเดชเตเดชเตเดทเต‹เดŸเตเดŸเตเด•เตพ" เดตเดฟเดญเดพเด—เดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เดชเต‹เด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด†เดตเดถเตเดฏเดฎเตเดณเตเดณเดคเต เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เตเด• (เดžเด™เตเด™เดณเตเดŸเต† เด•เดพเดฐเตเดฏเดคเตเดคเดฟเตฝ เด‡เดคเต เดธเต†เดจเตเดฑเต‹เดธเต-เดธเตเดจเดพเดชเตเดชเต เด†เดฃเต), เด…เดคเดฟเตฝ เดตเดฒเดคเต-เด•เตเดฒเดฟเด•เตเด•เตเดšเต†เดฏเตเดคเต "เดธเตเดจเดพเดชเตเดชเตเดทเต‹เดŸเตเดŸเดฟเตฝ เดจเดฟเดจเตเดจเต เดšเดฟเดคเตเดฐเด‚ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเด•" เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เตเด•.
เดคเตเดŸเตผเดจเตเดจเต, เดคเตเดฑเด•เตเด•เตเดจเตเดจ เดตเดฟเตปเดกเต‹เดฏเดฟเตฝ, เดจเดฟเด™เตเด™เตพ เดเด•เดฆเต‡เดถเด‚ เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดชเดพเดฐเดพเดฎเต€เดฑเตเดฑเดฑเตเด•เตพ เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต:

เด†เดฎเดธเต‹เตบ เด•เตเดฒเต—เดกเดฟเตฝ เดถเตเดฆเตเดงเดฎเดพเดฏ CentOS 5.9 เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดจเดฟเด™เตเด™เดณเตเดŸเต† เดธเตเดตเดจเตเดคเด‚ เดšเดฟเดคเตเดฐเด‚ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเต

เดเดคเต เด•เต‡เตผเดฃเตฝ เดเดกเดฟ เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เดฃเดฎเต†เดจเตเดจเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดฐเต€เดคเดฟเดฏเดฟเตฝ เด•เดฃเตเดŸเต†เดคเตเดคเดพเดจเดพเด•เตเด‚:

aws ec2 describe-images --owner amazon --region us-east-1 --output text | grep "/pv-grub-hd0.*-x86_64" | awk '{print $7}' | grep aki
aki-88aa75e1
aki-b4aa75dd

เด…เดคเตเดฐเดฏเต‡เดฏเตเดณเตเดณเต‚. เด‡เดชเตเดชเต‹เตพ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด‰เดฆเดพเดนเดฐเดฃเด™เตเด™เตพ เดธเดฎเดพเดฐเด‚เดญเดฟเด•เตเด•เดพเด‚.
เดˆ เดฐเต€เดคเดฟเดฏเดฟเตฝ, เดเดคเต เดฒเดฟเดจเด•เตเดธเต เดตเดฟเดคเดฐเดฃเดคเตเดคเดฟเดฒเต‚เดŸเต†เดฏเตเด‚ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เด‡เดฎเต‡เดœเต เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚. เด•เตเดฑเดžเตเดžเดคเต, เดคเต€เตผเดšเตเดšเดฏเดพเดฏเตเด‚ เดกเต†เดฌเดฟเดฏเตป (เด’เดฐเต เด•เตเดฒเต€เตป เดธเดฟเดธเตเดฑเตเดฑเด‚ เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเดพเตป debootstrap เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต) เด•เต‚เดŸเดพเดคเต† Rhel-family.

เด…เดตเดฒเด‚เดฌเด‚: www.habr.com

เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดšเต‡เตผเด•เตเด•เตเด•