ΠΠ°ΠΊΡΠΎ Π·Π½Π°Π΅ΡΠ΅, Π² ΠΎΠ±Π»Π°ΠΊΠ° Π½Π° Amazon Π²ΠΈΡΡΡΠ°Π»Π½ΠΈΡΠ΅ ΠΈΠ½ΡΡΠ°Π½ΡΠΈΠΈ ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠ°Ρ Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ (Ρ.Π½Π°Ρ
ΠΡΠΈΡΠΈΠ°Π»Π½Π°ΡΠ° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΎΠΏΠΈΡΠ²Π°
Π ΡΠ°Π·ΠΈ ΡΡΠ°ΡΠΈΡ ΡΠ΅ ΠΎΠ±ΡΡΠ΄ΠΈΠΌ ΠΊΠ°ΠΊ Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ΡΠ΅ ΡΠ²ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½ AMI, ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½ ΠΎΡ EBS, Π² ΠΎΠ±Π»Π°ΠΊΠ° Π½Π° Amazon Π±Π΅Π· ΠΌΠ΅ΠΆΠ΄ΠΈΠ½Π½ΠΈ ΡΡΡΠΏΠΊΠΈ.
ΠΠ»Π°Π½ Π·Π° Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅:
- ΠΠΎΠ΄Π³ΠΎΡΠ²Π΅ΡΠ΅ ΡΡΠ΅Π΄Π°ΡΠ°
- ΠΠ½ΡΡΠ°Π»ΠΈΡΠ°ΠΉΡΠ΅ ΡΠΈΡΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΈ Π½Π°ΠΏΡΠ°Π²Π΅ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ
- ΠΠ°ΠΏΡΠ°Π²Π΅ΡΠ΅ ΠΌΠΎΠΌΠ΅Π½ΡΠ½Π° ΡΠ½ΠΈΠΌΠΊΠ° Π½Π° Π΄ΠΈΡΠΊΠ°
- Π Π΅Π³ΠΈΡΡΡΠΈΡΠ°ΠΉΡΠ΅ AMI
ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° Π½Π° ΠΎΠΊΠΎΠ»Π½Π°ΡΠ° ΡΡΠ΅Π΄Π°
ΠΠ° Π½Π°ΡΠΈΡΠ΅ ΡΠ΅Π»ΠΈ Π²ΡΠ΅ΠΊΠΈ Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Ρ Π²ΡΡΠΊΠ°ΠΊΠ²Π° ΡΠΎΡΠΌΠ° Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ, Π΄ΠΎΡΠΈ t1.micro. ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π³ΠΎ ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅ ΡΡΠ΅Π· CLI:
aws ec2 run-instances --image-id ami-1624987f --max-count 1 --min-count 1 --key-name mel --instance-type t1.micro
ΠΠ΅ΠΊΠ° ΡΡΠ·Π΄Π°Π΄Π΅ΠΌ ebs-ΡΠΎΠΌ, ΠΊΡΠ΄Π΅ΡΠΎ ΠΏΠΎ-ΠΊΡΡΠ½ΠΎ ΡΠ΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΠΌΠ΅ Π½Π°ΡΠ°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°:
aws ec2 create-volume --availability-zone us-east-1a --size 10
Π’Π°Π·ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈ 10 Gb Π΄ΠΈΡΠΊ Π·Π° Π½Π°Ρ. ΠΠ°ΠΆΠ½ΠΎ: Π΄ΠΈΡΠΊΡΡ ΡΡΡΠ±Π²Π° Π΄Π° Π΅ Π² ΡΡΡΠ°ΡΠ° Π·ΠΎΠ½Π° ΠΊΠ°ΡΠΎ ΠΈΠ½ΡΡΠ°Π½ΡΠΈΡΡΠ° (Π² Π½Π°ΡΠΈΡ ΡΠ»ΡΡΠ°ΠΉ ΡΠΎΠ²Π° Π΅ us-east-1a).
Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΡΠΈΠΊΠ°ΡΠΈΡΠ΅ Π΄ΠΈΡΠΊΠ° ΠΊΡΠΌ Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°:
aws ec2 attach-volume --instance-id i-2bc0925b --volume-id vol-08ab3079 --device /dev/xvdf
Π‘Π΅Π³Π° Π½Π΅ΠΊΠ° Π²Π»Π΅Π·Π΅ΠΌ Π² ΠΈΠ½ΡΡΠ°Π½ΡΠΈΡΡΠ° ΡΡΠ΅Π· ssh, ΡΠΎΡΠΌΠ°ΡΠΈΡΠ°ΠΌΠ΅ Π΄ΠΈΡΠΊΠ° ΠΈ Π³ΠΎ ΠΌΠΎΠ½ΡΠΈΡΠ°ΠΌΠ΅ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΡΠ°:
mkfs.ext3 /dev/xvdf
mkdir /mnt/centos-image
mount /dev/xvdf /mnt/centos-image
cd !$
ΠΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΈΡΡ Centos 5.9
ΠΡΠ΅Π΄ΠΈ Π΄Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°, ΡΡΡΠ±Π²Π° Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ΡΠ΅ Π΄ΡΡΠ²ΠΎ Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ, Π΄Π° ΠΌΠΎΠ½ΡΠΈΡΠ°ΡΠ΅ proc ΠΈ sysfs ΠΈ Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ΡΠ΅ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π΅Π½ Π½Π°Π±ΠΎΡ ΠΎΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π°:
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
Π©Π΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΠΌΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° yum ΠΈ ΡΠ»Π΅Π΄Π½ΠΈΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π΅Π½ ΡΠ°ΠΉΠ»:
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
Π‘Π»Π΅Π΄ ΠΊΠ°ΡΠΎ Π·Π°Π²ΡΡΡΠΈΡΠ΅ ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΠΎΠ½Π½ΠΈΡ ΠΏΡΠΎΡΠ΅Ρ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ Π²ΡΠΈΡΠΊΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΏΠΎ ΡΡΡΠΈΡ Π½Π°ΡΠΈΠ½:
yum -c ~/yum-centos.conf --installroot=/mnt/centos-image/ install $packet_name
ΠΠ΅ΠΊΠ° ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠ°ΠΌΠ΅ 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
Π CentOS 5.9 Π²ΡΠ΅ ΠΎΡΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ ΡΠ΄ΡΠΎ ββΡ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° xen:
yum -c ~/yum-centos.conf --installroot=/mnt/centos-image/ -y install kernel-xen
ΠΠ½ΡΡΠ°Π»ΠΈΡΠ°ΠΉΡΠ΅ Grub:
chroot /mnt/centos-image/ grub-install /dev/xvdf
ΠΈ Π³Π΅Π½Π΅ΡΠΈΡΠ°ΠΉΡΠ΅ Π½ΠΎΠ² initrd:
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
ΠΠ½ΠΎΠ³ΠΎ Π΅ Π²Π°ΠΆΠ½ΠΎ Π΄Π° ΠΏΠΎΡΠΎΡΠΈΡΠ΅ Π²ΡΠΈΡΠΊΠΈ ΡΠ΅Π·ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ ΠΈ Π½ΠΎΠ² fstab, Π² ΠΏΡΠΎΡΠΈΠ²Π΅Π½ ΡΠ»ΡΡΠ°ΠΉ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π½ΡΠΌΠ° Π΄Π° ΡΡΠ°ΡΡΠΈΡΠ°.
Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° ΡΡΡΠ±Π²Π° Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ΡΠ΅ ΡΠ°ΠΉΠ» menu.lst Π·Π° 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
ΠΠ΅ΠΊΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΠΌΠ΅ ΠΌΡΠ΅ΠΆΠ°ΡΠ° ΠΈ 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
Π’Π°ΠΊΠ° ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΡΠ°Π±ΠΎΡΠ΅ΡΠ° ΠΌΡΠ΅ΠΆΠ° ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° Π²Π»ΠΈΠ·Π°Π½Π΅ Π² ΠΈΠ½ΡΡΠ°Π½ΡΠΈΡΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΊΠ»ΡΡΠΎΠ²Π΅ΡΠ΅. ΠΠΎ ΡΠ°ΠΌΠΈΡΡ ΠΊΠ»ΡΡ ΡΡΡΠ±Π²Π° ΠΏΠΎ Π½ΡΠΊΠ°ΠΊΡΠ² Π½Π°ΡΠΈΠ½ Π΄Π° Π±ΡΠ΄Π΅ ΠΏΡΠ΅Ρ Π²ΡΡΠ»Π΅Π½ ΠΊΡΠΌ ΠΈΠ½ΡΡΠ°Π½ΡΠΈΡΡΠ°. Π’ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΡΠ°Π½Π΅ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΡΠΊΡΠΈΠΏΡ, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ Π²Π·Π΅ΠΌΠ΅ ΠΊΠ»ΡΡΠ° ΠΈ ΡΠ΅ Π³ΠΎ Π·Π°ΠΏΠΈΡΠ΅ Π² Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°:
vi /mnt/centos5img/etc/init.d/ec2-get-ssh
ec2-get-ssh#! / Π₯Π°ΠΌΠ±Π°Ρ / ΠΠ°Ρ
# chkconfig: 2345 95 20
# ΠΈΠΌΠ΅ Π½Π° ΠΏΡΠΎΡΠ΅Ρ: ec2-get-ssh
# ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅: ΠΠ°ΡΠ½Π΅ΠΌΠ°Π½Π΅ Π½Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½ΠΈ Π΄Π°Π½Π½ΠΈ Π·Π° ΠΏΡΠ±Π»ΠΈΡΠ΅Π½ ΠΊΠ»ΡΡ Π½Π° AWS Π·Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π» Π½Π° EC2
#Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΈΠ·ΡΠΎΡΠ½ΠΈΠΊ
. /etc/rc.d/init.d/functions
# ΠΠ·Ρ
ΠΎΠ΄Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ
[-r /etc/sysconfig/network] &&. /etc/sysconfig/ΠΌΡΠ΅ΠΆΠ°
# ΠΠ°ΠΌΠ΅Π½Π΅ΡΠ΅ ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π½Π° ΡΡΠ΅Π΄Π°ΡΠ° Π·Π° Π²Π°ΡΠ°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°
Π΅ΠΊΡΠΏΠΎΡΡΠΈΡΠ°Π½Π΅ Π½Π° PATH=:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin
# ΠΡΠΎΠ²Π΅ΡΠ΅ΡΠ΅ Π΄Π°Π»ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π² ΠΌΡΠ΅ΠΆΠ° Π΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½Π°
if [ "${NETWORKING}" = "no" ]; ΡΠΎΠ³Π°Π²Π°
echo "ΠΡΠ΅ΠΆΠ°ΡΠ° Π½Π΅ Π΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½Π°."
ΠΈΠ·Ρ
ΠΎΠ΄ 1
fi
start () {
Π°ΠΊΠΎ [! -d /ΠΊΠΎΡΠ΅Π½/.ssh]; ΡΠΎΠ³Π°Π²Π°
mkdir -p /ΠΊΠΎΡΠ΅Π½/.ssh
chmod 700 /ΠΊΠΎΡΠ΅Π½/.ssh
fi
# ΠΠ·Π²Π»ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠ±Π»ΠΈΡΠ΅Π½ ΠΊΠ»ΡΡ ΠΎΡ ΡΡΡΠ²ΡΡΠ° Π·Π° ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΠΈ ΡΡΠ΅Π· HTTP
ΠΊΡΠ΄ΡΡ -Ρ
Π°ΠΊΠΎ [$? -eq 0]; ΡΠΎΠ³Π°Π²Π°
echo "EC2: ΠΠ·Π²Π»ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠ±Π»ΠΈΡΠ΅Π½ ΠΊΠ»ΡΡ ΠΎΡ ΡΡΡΠ²ΡΡ Π·Π° ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΠΈ ΡΡΠ΅Π· HTTP."
cat /tmp/my-public-key >> /root/.ssh/authorized_keys
chmod 600 /root/.ssh/authorized_keys
rm /tmp/my-public-key
fi
}
Π‘ΠΏΡΠΈ ΡΠ΅() {
echo "ΠΡΠΌΠ° ΠΊΠ°ΠΊΠ²ΠΎ Π΄Π° ΠΏΡΠ°Π²Ρ ΡΡΠΊ"
}
ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°ΠΌ() {
Π‘ΠΏΡΠΈ ΡΠ΅
ΠΠ°ΡΠ°Π»ΠΎ
}
# ΠΠΈΠΆΡΠ΅ ΠΊΠ°ΠΊ Π½ΠΈ Π½Π°ΡΠΈΡΠ°Ρ.
ΠΊΡΡΠΈΡ "$1" Π²
Π½Π°ΡΠ°Π»ΠΎ)
ΠΠ°ΡΠ°Π»ΠΎ
;;
Π‘ΠΏΡΠΈ ΡΠ΅)
Π‘ΠΏΡΠΈ ΡΠ΅
;;
ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅)
ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅
;;
*)
echo $"ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅: $0 {ΡΡΠ°ΡΡ|ΡΡΠΎΠΏ|ΡΠ΅ΡΡΠ°ΡΡ}"
ΠΈΠ·Ρ
ΠΎΠ΄ 1
ESAC
ΠΈΠ·Ρ
ΠΎΠ΄ $?
ΠΠ΅ΠΊΠ° Π³ΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈΠΌ ΠΈΠ·ΠΏΡΠ»Π½ΠΈΠΌ ΠΈ Π³ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΊΡΠΌ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ΡΠΎ:
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
Π‘ΡΡΠΎ ΡΠ°ΠΊΠ° Π΅ ΠΏΡΠ΅ΠΏΠΎΡΡΡΠΈΡΠ΅Π»Π½ΠΎ Π΄Π° Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΡΠ΅ Selinux ΠΈΠ»ΠΈ Π΄Π° Π³ΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ. Π ΠΏΡΠΎΡΠΈΠ²Π΅Π½ ΡΠ»ΡΡΠ°ΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠ»ΡΡΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π΅ Π±ΡΠ΄Π΅ Π·Π°ΠΏΠΈΡΠ°Π½ Π² Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°.
ΠΠ° ΡΠΎΠ·ΠΈ Π΅ΡΠ°ΠΏ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠΏΡΠ΅ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΡΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°. ΠΠ΅ΡΠ΅ ΠΈΠΌΠ°ΠΌΠ΅ ΡΠΈΡΡΠ° CentOS, Π³ΠΎΡΠΎΠ²Π° Π·Π° ΡΠ°Π±ΠΎΡΠ° Π² ΠΎΠ±Π»Π°ΠΊΠ°. ΠΡΡΠ°Π²Π° ΡΠ°ΠΌΠΎ Π΄Π° Π΄Π΅ΠΌΠΎΠ½ΡΠΈΡΠ°ΠΌΠ΅ ebs Π΄ΠΈΡΠΊΠ° Ρ Π½Π°ΡΠ°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΈ Π΄Π° ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ°ΠΌΠ΅ ami.
umount /mnt/centos-image/proc/
umount /mnt/centos-image/sys/
umount /mnt/centos-image/
Π Π΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ Π½Π° AMI
ΠΠ° Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ami ΠΎΡ ebs Π΄ΠΈΡΠΊ, ΠΏΡΡΠ²ΠΎ ΡΡΡΠ±Π²Π° Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ ΠΌΠΎΠΌΠ΅Π½ΡΠ½Π° ΡΠ½ΠΈΠΌΠΊΠ° Π½Π° Π΄ΠΈΡΠΊΠ°:
aws ec2 create-snapshot --volume-id vol-0b4bd07a --description centos-snap
ΠΠ°ΠΉ-Π»Π΅ΡΠ½ΠΈΡΡ Π½Π°ΡΠΈΠ½ Π΄Π° ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ°ΡΠ΅ ami Π΅ ΡΡΠ΅Π· ΠΊΠΎΠ½Π·ΠΎΠ»Π°ΡΠ° Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° AWS. ΠΠ° Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ ΡΠΎΠ²Π°, ΠΏΡΠΎΡΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΠΎΡΠΈΠ΄Π΅ΡΠ΅ Π² ΡΠ΅ΠΊΡΠΈΡΡΠ° βΠ‘Π½ΠΈΠΌΠΊΠΈβ Π² ΡΡΠ»ΡΠ³Π°ΡΠ° EC2, Π΄Π° ΠΈΠ·Π±Π΅ΡΠ΅ΡΠ΅ ΡΠ°Π·ΠΈ, ΠΎΡ ΠΊΠΎΡΡΠΎ ΡΠ΅ Π½ΡΠΆΠ΄Π°Π΅ΡΠ΅ (Π² Π½Π°ΡΠΈΡ ΡΠ»ΡΡΠ°ΠΉ ΡΠΎΠ²Π° Π΅ centos-snap), Π΄Π° ΡΡΠ°ΠΊΠ½Π΅ΡΠ΅ Ρ Π΄Π΅ΡΠ½ΠΈΡ Π±ΡΡΠΎΠ½ Π²ΡΡΡ
Ρ Π½Π΅Ρ ΠΈ Π΄Π° ΠΈΠ·Π±Π΅ΡΠ΅ΡΠ΅ βΠ‘ΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡ ΠΌΠΎΠΌΠ΅Π½ΡΠ½Π° ΡΠ½ΠΈΠΌΠΊΠ°β
Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° Π² ΠΏΡΠΎΠ·ΠΎΡΠ΅ΡΠ°, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΎΡΠ²Π°ΡΡ, ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠ·Π±Π΅ΡΠ΅ΡΠ΅ ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»Π½ΠΎ ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ:
ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΡΠ΅ ΠΊΠΎΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π½Π° ΡΠ΄ΡΠΎΡΠΎ Π΄Π° ΠΈΠ·Π±Π΅ΡΠ΅ΡΠ΅ ΠΏΠΎ ΡΠ»Π΅Π΄Π½ΠΈΡ Π½Π°ΡΠΈΠ½:
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
Π’ΠΎΠ²Π° Π΅ Π²ΡΠΈΡΠΊΠΎ. Π‘Π΅Π³Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅ Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΈ.
ΠΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π°ΠΉ-Π²Π΅ΡΠΎΡΡΠ½ΠΎ Ρ Π²ΡΡΠΊΠ° Linux Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΡ. ΠΠΎΠ½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ Debian (ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° debootstrap Π·Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΈΡΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°) ΠΈ Rhel-ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²ΠΎ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: www.habr.com