Dị ka ị maara, na Amazon ígwé ojii mebere ihe atụ na-amalite na-adabere na oyiyi (nke a na-akpọ
Akwụkwọ gọọmentị na-akọwa
Edemede a ga-atụle otu esi emepụta AMI nke EBS na-akwado gị n'igwe ojii Amazon na-enweghị usoro dị n'etiti.
Atụmatụ Action:
- Kwadebe gburugburu ebe obibi
- Wụnye usoro dị ọcha ma mee ntọala ndị dị mkpa
- Were nseta ihuenyo diski ahụ
- Deba aha AMI
Ịkwadebe gburugburu
Maka ebumnuche anyị, ihe atụ ọ bụla nke ụdị ọ bụla dabara adaba, ọbụlagodi t1.micro. Ị nwere ike ịme ya site na CLI:
aws ec2 run-instances --image-id ami-1624987f --max-count 1 --min-count 1 --key-name mel --instance-type t1.micro
Ka anyị mepụta ebs-volume, ebe anyị ga-etinye sistemu anyị ma emechaa:
aws ec2 create-volume --availability-zone us-east-1a --size 10
Iwu a ga-emere anyị diski 10 Gb. Ihe dị mkpa: diski ahụ ga-adị n'otu mpaghara ahụ dịka ọmụmaatụ (n'ọnọdụ anyị ọ bụ us-east-1a).
Ọzọ, ịkwesịrị itinye diski ahụ na ihe atụ:
aws ec2 attach-volume --instance-id i-2bc0925b --volume-id vol-08ab3079 --device /dev/xvdf
Ugbu a, ka anyị banye na ihe atụ site na ssh, hazie diski ma tinye ya na ndekọ:
mkfs.ext3 /dev/xvdf
mkdir /mnt/centos-image
mount /dev/xvdf /mnt/centos-image
cd !$
Ịwụnye Centos dị ọcha 5.9
Tupu ịwụnye sistemụ ahụ, ịkwesịrị ịmepụta osisi ndekọ, mount proc na sysfs, wee mepụta obere ngwaọrụ:
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
Anyị ga-etinye usoro ahụ site na iji yum na faịlụ nhazi ndị a:
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
Mgbe ịmechara usoro nrụnye, ị nwere ike ịwụnye ngwugwu ọ bụla dị mkpa n'otu ụzọ ahụ:
yum -c ~/yum-centos.conf --installroot=/mnt/centos-image/ install $packet_name
Ka anyị dezie 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
Na CentOS 5.9 ị ka kwesịrị ịwụnye kernel na nkwado xen:
yum -c ~/yum-centos.conf --installroot=/mnt/centos-image/ -y install kernel-xen
Wụnye Grub:
chroot /mnt/centos-image/ grub-install /dev/xvdf
ma mepụta initrd ọhụrụ:
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
Ọ dị ezigbo mkpa ịkọwapụta paramita ndị a niile na fstab ọhụrụ, ma ọ bụghị na usoro ahụ agaghị buut.
Ọzọ ị ga-emepụta faịlụ menu.lst maka grub:
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
Ka anyị hazie netwọk na 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
N'ihi ya, anyị ga-enweta netwọk na-arụ ọrụ na ike ịbanye na ihe atụ site na iji igodo. Mana igodo n'onwe ya kwesịrị ibufe ya na ihe atụ n'ụzọ ụfọdụ. Enwere ike ime nke a site na iji edemede ga-ewere igodo wee chekwaa ya na ọmụmaatụ:
vi /mnt/centos5img/etc/init.d/ec2-get-ssh
ec2-nweta-ssh#! / bin / bash
# chkconfig: 2345 95 20
# aha nhazi: ec2-get-ssh
Nkọwa #: Weghara nzere igodo ọha AWS maka onye ọrụ EC2
#Source ọrụ ọba akwụkwọ
. /etc/rc.d/init.d/functions
# Nhazi netwọkụ isi mmalite
[-r /etc/sysconfig/netwọk] &&. /etc/sysconfig/network
# Dochie mgbanwe gburugburu ebe obibi maka sistemụ gị
mbupụ PATH =: / usr / mpaghara / bin: / usr / mpaghara / sbin: / usr / bin: / usr / sbin: / bin: / sbin
# Lelee na ahaziri netwọkụ
ọ bụrụ na ["${NETWORKING}" = "enweghị" ]; mgbe ahụ
Echo "Ahazighị netwọkụ."
ụzọ ọpụpụ 1
fi
mbido () {
ọ bụrụ [! -d /mgbọrọgwụ/.ssh]; mgbe ahụ
mkdir -p /mgbọrọgwụ/.ssh
chmod 700 / mgbọrọgwụ/.ssh
fi
# Weghachite igodo ọha na sava metadata site na iji HTTP
agba -f
ọ bụrụ [$? -eq 0]; mgbe ahụ
echo "EC2: weghachite igodo ọha na sava metadata site na iji HTTP."
pusi /tmp/my-ọha-key >> /root/.ssh/authorized_keys
chmod 600 / mgbọrọgwụ/.ssh/authorized_keys
rm /tmp/my-ọha-key
fi
}
Kwụsị() {
ikwughachi "Onweghị ihe ga-eme ebe a"
}
malitegharịa() {
Kwụsị
mmalite
}
# Lee ka e siri kpọọ anyị.
ikpe "$ 1" na
ibido)
mmalite
;;
Kwụsị)
Kwụsị
;;
malitegharịa)
Malitegharịa ekwentị
;;
*)
echo $"Ojiji: $0 {mmalite|kwụsị|malitegharịa}"
ụzọ ọpụpụ 1
na C
pua $?
Ka anyị mee ka ọ dị mfe ma tinye ya na mmalite:
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
Ọ dịkwa mma ka ị gbanyụọ Selinux, ma ọ bụ hazie ya nke ọma. Ma ọ bụghị ya, dịka ọmụmaatụ, igodo agaghị echekwa ya na ọmụmaatụ.
N'ebe a, ị nwere ike ịkwụsị ịtọ usoro ahụ. Anyị enweelarị CentOS dị ọcha dị njikere ịgba ọsọ n'igwe ojii. Naanị ihe fọdụrụ bụ iji sistemụ anyị wepụ diski ebs ma debanye aha ami.
umount /mnt/centos-image/proc/
umount /mnt/centos-image/sys/
umount /mnt/centos-image/
Ndebanye aha AMI
Iji nweta ami na diski ebs, ị ga-ebu ụzọ were foto diski ahụ:
aws ec2 create-snapshot --volume-id vol-0b4bd07a --description centos-snap
Ụzọ kachasị mfe iji debanye aha ami bụ site na njikwa njikwa AWS. Iji mee nke a, naanị ị ga-aga na ngalaba “Snapshots” na ọrụ EC2, họrọ nke ịchọrọ (n'ọnọdụ anyị ọ bụ centos-snap), pịa aka nri na ya wee họrọ “Mepụta onyonyo site na foto”.
Mgbe ahụ, na mpio mepere emepe, ịkwesịrị ịhọrọ ihe dịka paramita ndị a:
Ị nwere ike chọpụta nke kernel ID ịhọrọ dị ka ndị a:
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
Ọ gwụla. Ugbu a ị nwere ike ịmalite ihe atụ.
N'ụzọ dị otú a, ị nwere ike ịmepụta ihe oyiyi, o yikarịrị, na nkesa Linux ọ bụla. Opekempe, n'ezie Debian (iji debootstrap iji wụnye sistemụ dị ọcha) yana ezinụlọ Rhel.
isi: www.habr.com