Mamorona sarinao manokana miaraka amin'ny CentOS 5.9 madio ao amin'ny rahona Amazon

Araka ny fantatrao, ao amin'ny Amazon rahona virtoaly tranga dia natomboka mifototra amin'ny sary (ilay antsoina hoe AMI). Manome betsaka amin'izy ireo i Amazon; azonao atao koa ny mampiasa sary ampahibemaso nomanin'ny antoko fahatelo, izay mazava ho azy fa tsy manana andraikitra ny mpamatsy rahona. Fa indraindray mila sary rafitra madio miaraka amin'ny masontsivana ilaina, izay tsy ao amin'ny lisitry ny sary. Avy eo ny hany lalana hivoahana dia ny manao ny AMI anao manokana.

Manoritsoritra ny antontan-taratasy ofisialy fomba mamorona "AMI store-backed instance". Ny tsy fahampian'ity fomba fiasa ity dia ny sary vita dia mila avadika ho "AMI tohanan'ny EBS"

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 169.254.169.254/latest/meta-data/public-keys/0/openssh-key > /tmp/my-public-key
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:

Mamorona sarinao manokana miaraka amin'ny CentOS 5.9 madio ao amin'ny rahona Amazon

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

Add a comment