Njengoko usazi, kwilifu leAmazon iimeko ezibonakalayo ziqaliswa ngokusekwe kwimifanekiso (ebizwa ngokuba
Amaxwebhu asemthethweni achaza
Uyenza njani eyakho i-EBS-backed AMI kwilifu laseAmazon ngaphandle kwamanyathelo aphakathi kuya kuxutyushwa kweli nqaku.
Isicwangciso soMsebenzi:
- Lungisa okusingqongileyo
- Faka inkqubo ecocekileyo kwaye wenze izicwangciso eziyimfuneko
- Thatha i-snapshot yediski
- Bhalisa i-AMI
Ukulungisa iNdawo
Ngeenjongo zethu, nawuphi na umzekelo wayo nayiphi na imilo ifanelekile, nokuba t1.micro. Ungayiqhuba nge-CLI:
aws ec2 run-instances --image-id ami-1624987f --max-count 1 --min-count 1 --key-name mel --instance-type t1.micro
Masenze i-ebs-volume, apho siya kufaka khona inkqubo yethu kamva:
aws ec2 create-volume --availability-zone us-east-1a --size 10
Lo myalelo uya kusenzela idiski ye-10 Gb. Kubalulekile: idiski kufuneka ibe kwindawo efanayo njengomzekelo (kwimeko yethu ithi-empuma-1a).
Okulandelayo, kufuneka uncamathele idiski kumzekelo:
aws ec2 attach-volume --instance-id i-2bc0925b --volume-id vol-08ab3079 --device /dev/xvdf
Ngoku makhe singene kumzekelo nge-ssh, fomata idiski kwaye uyibeke kulawulo:
mkfs.ext3 /dev/xvdf
mkdir /mnt/centos-image
mount /dev/xvdf /mnt/centos-image
cd !$
Ukufakela iiCentos ezicocekileyo 5.9
Phambi kokufaka inkqubo, kufuneka udale umthi wolawulo, unyuse iproc kunye neesysfs, kwaye wenze iseti encinci yezixhobo:
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
Siza kufaka inkqubo usebenzisa i-yum kunye nefayile yoqwalaselo elandelayo:
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
Emva kokugqiba inkqubo yofakelo, ungafaka naziphi na iipakethe eziyimfuneko ngendlela efanayo:
yum -c ~/yum-centos.conf --installroot=/mnt/centos-image/ install $packet_name
Masihlele i-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
Kwi-CentOS 5.9 kusafuneka ufake i-kernel ngenkxaso ye-xen:
yum -c ~/yum-centos.conf --installroot=/mnt/centos-image/ -y install kernel-xen
Faka iGrub:
chroot /mnt/centos-image/ grub-install /dev/xvdf
kwaye uvelise i-initrd entsha:
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
Kubaluleke kakhulu ukukhankanya zonke ezi parameters kunye ne-fstab entsha, kungenjalo inkqubo ayiyi kuqalisa.
Okulandelayo kufuneka wenze ifayile ye-menu.lst yegrub:
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
Masiqwalasele inethiwekhi kunye ne-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
Ngaloo ndlela, siya kufumana inethiwekhi esebenzayo kunye nokukwazi ukungena kumzekelo usebenzisa izitshixo. Kodwa isitshixo ngokwaso kufuneka sidluliselwe kumzekelo ngandlela thile. Oku kunokwenziwa kusetyenziswa iskripthi esiya kuthatha isitshixo kwaye sigcine kumzekelo:
vi /mnt/centos5img/etc/init.d/ec2-get-ssh
ec2-fumana-ssh#! / bin / ibash
# chkconfig: 2345 95 20
# igama lenkqubo: ec2-fumana-ssh
# inkcazelo: Thatha i-AWS iziqinisekiso zesitshixo sikawonke-wonke kumsebenzisi we-EC2
#Umthombo wethala leencwadi
. /etc/rc.d/init.d/functions
# Ulungelelwaniso lwenethiwekhi yomthombo
[ -r /etc/sysconfig/network] &&. /etc/sysconfig/network
# Buyisela olu tshintsho lulandelayo lwemeko-bume yenkqubo yakho
thumela ngaphandle UMENDO =:/usr/yengingqi/umgqomo:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin
# Jonga ukuba inethiwekhi iqwalaselwe
ukuba [ "${NETWORKING}" = "hayi"]; ngoko
phinda "Uthungelwano alumiselwanga."
ukuphuma 1
fi
qalisa () {
ukuba [! -d /ingcambu/.ssh ]; ngoko
mkdir -p /root/.ssh
chmod 700 /root/.ssh
fi
# Fumana isitshixo sikawonke-wonke kwiseva yemethadatha usebenzisa iHTTP
curl -f
ukuba [$? -eq 0 ]; ngoko
echo "EC2: Fumana isitshixo sikawonke-wonke kwiseva yemethadatha usebenzisa i-HTTP."
ikati /tmp/isitshixo-sam-kawonke-wonke >> /root/.ssh/authorized_keys
chmod 600 /root/.ssh/authorized_keys
rm /tmp/my-public-key
fi
}
Yeka() {
echo "akukho nto yenza apha"
}
phinda Uqalele() {
yeka
ukuqala
}
# Jonga ukuba sibizwe njani.
Ityala "$ 1" kwi
qala)
ukuqala
;;
Yeka)
yeka
;;
phinda Uqalele)
phinda Uqalele
;;
*)
echo $"Usetyenziso: $0 {qalisa|yima|qala kwakhona}"
ukuphuma 1
ukuba uC
phuma $?
Makhe siyenze iphunyezwe kwaye siyongeze kwisiqalo:
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
Kukwacetyiswa ukuba ungasebenzi iSelinux, okanye uyiqwalasele ngokuchanekileyo. Kungenjalo, umzekelo, isitshixo sisenokungagcinwa kumzekelo.
Ngeli xesha unokuyeka ukuseta inkqubo. Sele sine-CentOS ecocekileyo elungele ukusebenza efini. Ekuphela kwento eseleyo kukuthoba idiski ye-ebs ngenkqubo yethu kunye nerejista ye-ami.
umount /mnt/centos-image/proc/
umount /mnt/centos-image/sys/
umount /mnt/centos-image/
Ukubhaliswa kwe-AMI
Ukufumana i-ami kwidiski ye-ebs, kufuneka uqale uthathe umfanekiso okhawulezayo wediski:
aws ec2 create-snapshot --volume-id vol-0b4bd07a --description centos-snap
Indlela elula yokubhalisa i-ami ngokusebenzisa i-AWS Management Console. Ukwenza oku, kufuneka uye kwindawo ethi "Snapshots" kwinkonzo ye-EC2, khetha enye oyifunayo (kwimeko yethu yi-centos-snap), nqakraza kuyo kwaye ukhethe "Yenza umfanekiso kwi-Snapshot"
Emva koko, kwifestile evulayo, kufuneka ukhethe malunga nezi parameters zilandelayo:
Ungafumanisa ukuba yeyiphi i-ID ye-Kernel ongayikhetha ngolu hlobo lulandelayo:
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
Kuko konke. Ngoku unokuqalisa iimeko.
Ngale ndlela, unokwenza umfanekiso, ngakumbi, nangaluphi na usasazo lweLinux. Ubuncinci, ngokuqinisekileyo i-Debian (usebenzisa i-debootstrap ukufaka inkqubo ecocekileyo) kunye ne-Rhel-family.
umthombo: www.habr.com