Tuam imaginem puris CentOS 5.9 in Amazonibus nubem creans

Ut nostis, in nube Amazonum instantiae virtualis inducuntur secundum imagines (ut vocant AMI). Amazon numerus earum magnum praebet, uti etiam imagines publicas a partibus tertias paratas uti potes, quarum provisor nubes, utique responsabilitatem non sustinet. Aliquando autem imaginem systematis mundi indigetis cum parametris necessariis, quod in numero imaginum non est. Uno modo exitum est facere tuum AMI.

Documenta publica describitur via creando "exempli gratia copia backed AMI". Incommodum accessionis est quod imago perfecta necesse est etiam converti in "EBS-AMI backed"

Quomodo proprium tuum EBS-backed AMI in nube Amazonum sine gradibus intermediis creare tuum in hoc articulo disputabitur.

Plan actio:

  • Praeparet amet
  • Install a clean ratio ut opus occasus
  • Accipies a snapshot orbis
  • Register AMI

Praeparans Opera

Ad proposita nostra, cuiuslibet figurae instantia apta est, etiam t1.micro. Potes currere per cli:

aws ec2 run-instances --image-id ami-1624987f --max-count 1 --min-count 1 --key-name mel --instance-type t1.micro

Facies ebs-volumen, ubi postea systema nostra instituemus;

aws ec2 create-volume --availability-zone us-east-1a --size 10

Hoc mandatum faciet pro nobis 10 Gb orbis. Maximus: disci debet in eadem zona esse ac instantia (in nostro casu, nos-orientalis-1a).
Deinde, instantiam adnectere debes orbis:

aws ec2 attach-volume --instance-id i-2bc0925b --volume-id vol-08ab3079 --device /dev/xvdf

Nunc ini ad instantiam via ssh sit, disco format et conscende in indicem:

mkfs.ext3 /dev/xvdf
mkdir /mnt/centos-image
mount /dev/xvdf /mnt/centos-image
cd !$

Cento installing clean 5.9

Priusquam systema inauguraris, lignum directorium creare debes, proc et sysfs conscendere, et minimum machinorum copia creare;

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

Nos systema utens yum et sequens schematismi instituemus:
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

Peracta processu institutionis, quaslibet sarcinas necessarias eodem modo instituere potes:

yum -c ~/yum-centos.conf --installroot=/mnt/centos-image/ install $packet_name

Recensere 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

In CentOS 5.9 adhuc debes nucleum cum xy subsidio instituere;

yum -c ~/yum-centos.conf --installroot=/mnt/centos-image/ -y install kernel-xen

Grub install:

chroot /mnt/centos-image/ grub-install /dev/xvdf

et nova initrd generant ;

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

Magni interest ut omnes hos parametros definias et novum fstab, alioquin systema non tabernus.
Proximam debes creare menu.lst fasciculi vermiculi:

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

Configurare retis et 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

Sic retis operarium dabimus et facultatem aperiendi in instantia clavium utendi. Sed ipsa clavis ad instanciam aliquo modo transferri debet. Hoc fieri potest utendo scripto quod clavem capiet et eam instantia servabit:

vi /mnt/centos5img/etc/init.d/ec2-get-ssh

ec2-adepto-ssh#? / Bin / vercundus
# chkconfig: 2345 95 20
# Processname: ec2-adepto-ssh
# Descriptio: Capite AWS clavis publica documentorum pro EC2 usuario

#Source munus bibliotheca
. /etc/rc.d/init.d/functions

# Source networking configuratione
[ -r /etc/sysconfig/network ] &&. /etc/sysconfig/network

# Repone hoc amet variables pro ratio
export ITER=:/usr/locorum/bin:/usr/loci/sbin:/usr/bin:/usr/sbin:/bin:/sbin

# Reprehendo quod networking configuratur
si ["${NEWORKING}" = "nullus" ]; tunc "
resonare "Networking non configuratur."
I exitus
fi

initio () {
si [! -d /root/.ssh ]; tunc "
mkdir -p /root/.ssh
chmod 700 /root/.ssh
fi
# Retrieve publica clavis a metadata servo utens HTTP
Crispum -f * 169.254.169.254/latest/meta-data/publica-claves/0/openssh-key > /tmp/my-public-key
si [$? -eq 0 ]; tunc "
resonare "EC2: Recipe clavem publicam a metadata servo HTTP utente."
cat /tmp/my-public-key >> /root/.ssh/authorised_keys
chmod 600 /root/.ssh/authorized_keys
rm/tmp/my-public-key
fi
}

prohibere() {
resonare "Nihil hic facere"
}

sileo() {
prohibere
principium
}

# Ecce quomodo vocati sumus.
causa "$1" in
incipere)
principium
;;
prohibere)
prohibere
;;
sileo)
sileo
;;
*)
resonare $"Usage: $0 {start|stop|restart}"
I exitus
ut C

$ exitus?
Faciamus illud exsecutabile et illud ad startup addere:

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

Disable etiam Selinux visum est, vel recte configurare. Aliter, verbi gratia, clavis ad instantiam salvari non potest.
Hic desinere potes rationem instituendi. Iam nos puras CentOS currere in nube paratas. Reliquum est ut ebs orbis cum systemate nostro et registro ami explices.

umount /mnt/centos-image/proc/
umount /mnt/centos-image/sys/
umount /mnt/centos-image/

AMI registration

Ut ami ab ebs disci, primum opus est accipere a snapshot orbis:

aws ec2 create-snapshot --volume-id vol-0b4bd07a --description centos-snap

Facillima via ad ami actis per AWS Management Console est. Ad hoc faciendum, ad sectionem "Snapshots" in servitio EC2 adire debes, elige quem debes (in nostro casu centos-snap), ius click in illud et "Create Imaginem de Snapshot"
Deinde in fenestra quae aperit, proxime sequentia parametri deligere debes;

Tuam imaginem puris CentOS 5.9 in Amazonibus nubem creans

Potes invenire quemnam Kernel ID hoc modo seligat:

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

Id omne. Nunc instantiae launch potes.
Hoc modo imaginem facere potes, verisimile, cum aliqua distributione Linux. Saltem, definite Debian (utendo debootstrap ad institutionem mundialem) et Rhel-familia.

Source: www.habr.com