Fel y gwyddoch, yn y cwmwl Amazon mae achosion rhithwir yn cael eu lansio yn seiliedig ar ddelweddau (yr hyn a elwir
Mae'r ddogfennaeth swyddogol yn disgrifio
Bydd sut i greu eich AMI eich hun gyda chefnogaeth EBS yng nghwmwl Amazon heb gamau canolradd yn cael ei drafod yn yr erthygl hon.
Cynllun Gweithredu:
- Paratowch yr amgylchedd
- Gosod system lân a gwneud y gosodiadau angenrheidiol
- Cymerwch giplun o'r ddisg
- Cofrestrwch AMI
Paratoi'r Amgylchedd
At ein dibenion ni, mae unrhyw enghraifft o unrhyw siâp yn addas, hyd yn oed t1.micro. Gallwch ei redeg trwy'r CLI:
aws ec2 run-instances --image-id ami-1624987f --max-count 1 --min-count 1 --key-name mel --instance-type t1.micro
Gadewch i ni greu ebs-volume, lle byddwn yn gosod ein system yn ddiweddarach:
aws ec2 create-volume --availability-zone us-east-1a --size 10
Bydd y gorchymyn hwn yn gwneud disg 10 Gb i ni. Pwysig: rhaid i'r ddisg fod yn yr un parth â'r enghraifft (yn ein hachos ni mae'n us-east-1a).
Nesaf, mae angen i chi atodi'r ddisg i'r enghraifft:
aws ec2 attach-volume --instance-id i-2bc0925b --volume-id vol-08ab3079 --device /dev/xvdf
Nawr, gadewch i ni fewngofnodi i'r enghraifft trwy ssh, fformatio'r ddisg a'i osod yn y cyfeiriadur:
mkfs.ext3 /dev/xvdf
mkdir /mnt/centos-image
mount /dev/xvdf /mnt/centos-image
cd !$
Gosod Centos glân 5.9
Cyn gosod y system, mae angen i chi greu coeden cyfeiriadur, mowntio proc a sysfs, a chreu set leiaf o ddyfeisiau:
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
Byddwn yn gosod y system gan ddefnyddio yum a'r ffeil ffurfweddu ganlynol:
iym-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
Ar ôl cwblhau'r broses osod, gallwch osod unrhyw becynnau angenrheidiol yn yr un modd:
yum -c ~/yum-centos.conf --installroot=/mnt/centos-image/ install $packet_name
Gadewch i ni olygu 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
Yn CentOS 5.9 mae angen i chi osod cnewyllyn gyda chefnogaeth xen o hyd:
yum -c ~/yum-centos.conf --installroot=/mnt/centos-image/ -y install kernel-xen
Gosod Grub:
chroot /mnt/centos-image/ grub-install /dev/xvdf
a chynhyrchu initrd newydd:
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
Mae'n bwysig iawn nodi'r holl baramedrau hyn a fstab newydd, fel arall ni fydd y system yn cychwyn.
Nesaf mae angen i chi greu ffeil menu.lst ar gyfer 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
Gadewch i ni ffurfweddu'r rhwydwaith a 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
Felly, byddwn yn cael rhwydwaith gweithio a'r gallu i fewngofnodi i'r enghraifft gan ddefnyddio'r allweddi. Ond mae angen trosglwyddo'r allwedd ei hun i'r enghraifft rywsut. Gellir gwneud hyn gan ddefnyddio sgript a fydd yn cymryd yr allwedd a'i gadw ar yr enghraifft:
vi /mnt/centos5img/etc/init.d/ec2-get-ssh
ec2-get-ssh#! / bin / bash
# chkconfig: 2345 95 20
# enw proses: ec2-get-ssh
# disgrifiad: Dal tystlythyrau allwedd cyhoeddus AWS ar gyfer defnyddiwr EC2
#Ffynhonnell llyfrgell swyddogaeth
. /etc/rc.d/init.d/functions
# Ffurfweddiad rhwydweithio ffynhonnell
[ -r /etc/sysconfig/network ] &&. /etc/sysconfig/network
# Amnewid y newidynnau amgylchedd canlynol ar gyfer eich system
allforio PATH=:/usr/lleol/bin:/usr/lleol/sbin:/usr/bin:/usr/sbin:/bin:/sbin
# Gwiriwch fod y rhwydweithio wedi'i ffurfweddu
os [ "${NETWORK}" = "na" ]; yna
adlais "Nid yw rhwydweithio wedi'i ffurfweddu."
allanfa 1
fi
dechrau () {
os [! -d /root/.ssh]; yna
mkdir -p /root/.ssh
chmod 700 /root/.ssh
fi
# Adalw allwedd gyhoeddus o'r gweinydd metadata gan ddefnyddio HTTP
cyrl -f
os yw [$? -eq 0]; yna
adlais "EC2: Adalw allwedd gyhoeddus o'r gweinydd metadata gan ddefnyddio HTTP."
cath /tmp/my-public-key >> /root/.ssh/authorized_keys
chmod 600 /root/.ssh/authorized_keys
rm /tmp/my-public-key
fi
}
stopio () {
adlais "Dim byd i'w wneud yma"
}
Ail-ddechrau() {
rhoi'r gorau i
dechrau
}
# Gweld sut y cawsom ein galw.
achos "$1" i mewn
dechrau)
dechrau
;;
stopio)
rhoi'r gorau i
;;
Ail-ddechrau)
ail-gychwyn
;;
*)
adlais $"Defnydd: $0 {cychwyn|stopio|ailgychwyn}"
allanfa 1
bod C.
allanfa $?
Gadewch i ni ei wneud yn weithredadwy a'i ychwanegu at y cychwyn:
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
Mae hefyd yn ddoeth analluogi Selinux, neu ei ffurfweddu'n gywir. Fel arall, er enghraifft, efallai na fydd yr allwedd yn cael ei gadw ar yr enghraifft.
Ar y pwynt hwn gallwch roi'r gorau i sefydlu'r system. Mae gennym eisoes CentOS pur yn barod i redeg yn y cwmwl. Y cyfan sydd ar ôl yw dad-osod disg yr ebs gyda'n system a chofrestru ami.
umount /mnt/centos-image/proc/
umount /mnt/centos-image/sys/
umount /mnt/centos-image/
Cofrestriad AMI
I gael ami o ddisg ebs, yn gyntaf mae angen i chi gymryd ciplun o'r ddisg:
aws ec2 create-snapshot --volume-id vol-0b4bd07a --description centos-snap
Y ffordd hawsaf i gofrestru ami yw trwy Consol Rheoli AWS. I wneud hyn, does ond angen i chi fynd i'r adran “Snapshots” yn y gwasanaeth EC2, dewiswch yr un sydd ei angen arnoch chi (centos-snap yn ein hachos ni), de-gliciwch arno a dewis “Creu Image from Snapshot”
Yna, yn y ffenestr sy'n agor, mae angen i chi ddewis tua'r paramedrau canlynol:
Gallwch ddarganfod pa ID Kernel i'w ddewis fel a ganlyn:
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
Dyna i gyd. Nawr gallwch chi lansio achosion.
Yn y modd hwn, gallwch chi greu delwedd, yn fwyaf tebygol, gydag unrhyw ddosbarthiad Linux. O leiaf, yn bendant Debian (gan ddefnyddio debootstrap i osod system lân) a Rhel-teulu.
Ffynhonnell: hab.com