Araka ny fantatrao, ao amin'ny Amazon rahona virtoaly tranga dia natomboka mifototra amin'ny sary (ilay antsoina hoe
Manoritsoritra ny antontan-taratasy ofisialy
Ity lahatsoratra ity dia hiresaka momba ny fomba hamoronana ny AMI-nao manokana tohanan'ny EBS ao amin'ny rahona Amazon tsy misy dingana manelanelana.
Drafitra hetsika:
- Omano ny tontolo iainana
- Mametraka rafitra madio ary ataovy ny fanovana ilaina
- Makà sary ny kapila
- Register AMI
Fanomanana ny tontolo iainana
Ho an'ny tanjonay dia mety avokoa na inona na inona endrika, na t1.micro aza. Azonao atao ny mampandeha azy amin'ny CLI:
aws ec2 run-instances --image-id ami-1624987f --max-count 1 --min-count 1 --key-name mel --instance-type t1.micro
Andao hamorona ebs-volume, izay hametrahantsika ny rafitra aty aoriana:
aws ec2 create-volume --availability-zone us-east-1a --size 10
Ity baiko ity dia hanao kapila 10 Gb ho antsika. Zava-dehibe: ny kapila dia tsy maintsy ao amin'ny faritra mitovy amin'ny ohatra (amin'ny tranga misy antsika dia us-east-1a).
Manaraka, mila ampifandraisinao amin'ny ohatra ny kapila:
aws ec2 attach-volume --instance-id i-2bc0925b --volume-id vol-08ab3079 --device /dev/xvdf
Andeha isika izao hiditra amin'ny ohatra amin'ny alàlan'ny ssh, alaivo ny kapila ary ampidiro ao amin'ny lahatahiry:
mkfs.ext3 /dev/xvdf
mkdir /mnt/centos-image
mount /dev/xvdf /mnt/centos-image
cd !$
Fametrahana Centos madio 5.9
Alohan'ny hametrahana ny rafitra dia mila mamorona hazo lahatahiry ianao, mount proc sy sysfs, ary mamorona fitaovana kely indrindra:
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
Hametraka ny rafitra amin'ny fampiasana yum sy ity rakitra fanamafisana manaraka ity izahay:
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
Rehefa vita ny dingana fametrahana dia azonao atao ny mametraka fonosana ilaina amin'ny fomba mitovy:
yum -c ~/yum-centos.conf --installroot=/mnt/centos-image/ install $packet_name
Andao hanova 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
Ao amin'ny CentOS 5.9 dia mbola mila mametraka kernel miaraka amin'ny fanohanana xen ianao:
yum -c ~/yum-centos.conf --installroot=/mnt/centos-image/ -y install kernel-xen
Mametraka Grub:
chroot /mnt/centos-image/ grub-install /dev/xvdf
ary mamorona initrd vaovao:
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
Tena zava-dehibe ny mamaritra ireo masontsivana rehetra ireo sy ny fstab vaovao, raha tsy izany dia tsy hivoaka ny rafitra.
Avy eo dia mila mamorona rakitra menu.lst ho an'ny grub ianao:
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
Andao amboary ny tambajotra sy 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
Noho izany, hahazo tambajotra miasa sy ny fahafahana miditra amin'ny ohatra mampiasa ny fanalahidy. Fa ny lakile mihitsy no mila afindra any amin'ny ohatra. Izany dia azo atao amin'ny fampiasana script izay haka ny lakile ary tehirizina amin'ny ohatra:
vi /mnt/centos5img/etc/init.d/ec2-get-ssh
ec2-mahazo-ssh#! / bin / bash
# chkconfig: 2345 95 20
# anarana anarana: ec2-get-ssh
# famaritana: Alao ny fahazoan-dàlana ho an'ny daholobe AWS ho an'ny mpampiasa EC2
# Famakiam-bokin'ny loharano
. /etc/rc.d/init.d/functions
# Famolavolana tambajotra loharano
[ -r /etc/sysconfig/network ] &&. /etc/sysconfig/network
# Soloy ireto fari-piainana manaraka ireto ho an'ny rafitrao
fanondranana PATH=:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin
# Hamarino fa voarindra ny tambajotra
raha [ "${NETWORKING}" = "tsia" ]; DIA
echo "Tsy voarindra ny tambazotra."
fivoahana 1
fi
manomboka () {
raha [! -d /root/.ssh ]; DIA
mkdir -p /root/.ssh
chmod 700 /root/.ssh
fi
# Alao ny fanalahidin'ny daholobe avy amin'ny mpizara metadata mampiasa HTTP
curl -f
raha [$? -eq 0]; DIA
echo "EC2: Alao ny fanalahidin'ny daholobe avy amin'ny mpizara metadata mampiasa HTTP."
cat /tmp/my-public-key >> /root/.ssh/authorized_keys
chmod 600 /root/.ssh/authorized_keys
rm /tmp/my-public-key
fi
}
Mijanòna() {
echo "Tsy misy atao eto"
}
haverina velomina() {
Mijanòna
nanomboka
}
# Jereo ny niantsoana anay.
tranga "$ 1" ao
manomboka)
nanomboka
;;
Mijanòna)
Mijanòna
;;
haverina velomina)
haverina velomina
;;
*)
echo $"Fampiasana: $0 {start|stop|restart}"
fivoahana 1
izany C
fivoahana $?
Andao hatao executable ary ampio amin'ny fanombohana:
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
Tsara ihany koa ny manafoana ny Selinux, na manamboatra azy tsara. Raha tsy izany, ohatra, ny fanalahidy dia mety tsy ho voatahiry ao amin'ny ohatra.
Amin'izao fotoana izao dia azonao atao ny manajanona ny fametrahana ny rafitra. Efa manana CentOS madio isika vonona ny hihazakazaka amin'ny rahona. Ny hany sisa tavela dia ny manala ny ebs disk miaraka amin'ny rafitray ary misoratra anarana Ami.
umount /mnt/centos-image/proc/
umount /mnt/centos-image/sys/
umount /mnt/centos-image/
fisoratana anarana AMI
Mba hahazoana ami amin'ny kapila ebs dia mila maka sary an'ilay kapila aloha ianao:
aws ec2 create-snapshot --volume-id vol-0b4bd07a --description centos-snap
Ny fomba tsotra indrindra hisoratra anarana ami dia amin'ny alàlan'ny AWS Management Console. Mba hanaovana izany, mila mandeha any amin'ny fizarana "Snapshots" ao amin'ny serivisy EC2 ianao, safidio izay ilainao (amin'ity tranga ity dia centos-snap), tsindrio havanana eo ary safidio ny "Mamorona sary avy amin'ny Snapshot"
Avy eo, eo amin'ny varavarankely misokatra, mila misafidy ireto paramètres manaraka ireto ianao:
Azonao atao ny mahita hoe Kernel ID hofidiana toy izao manaraka izao:
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
Izay ihany. Afaka manomboka ohatra ianao izao.
Amin'izany fomba izany dia afaka mamorona sary ianao, azo inoana indrindra, miaraka amin'ny fizarana Linux rehetra. Farafaharatsiny, tena Debian (mampiasa debootstrap hametrahana rafitra madio) ary Rhel-family.
Source: www.habr.com