Comment CRÉER UN BUNDLE, TÉLÉCHARGER et ACCÉDER à une AMI Debian personnalisée à l’aide d’ubuntu
Introduction
Ce guide fournit toutes les étapes nécessaires sur la création, le regroupement, le chargement, l’exécution et la connexion d’une AMI Debian ETCH sur Amazon Elastic Compute Cloud (Amazon EC2). Pour ce guide, nous avons utilisé un Ubuntu 9.04. Cependant, toute autre distribution Linux peut également être utilisée tant qu’elle contient des paquets java et ruby. Pour plus d’informations sur Amazon EC2, cliquez ici.
Cette page n’est en aucun cas une société affiliée à Amazon Web Services. !
Conditions préalables
- Connexion Internet
- Compte d’utilisateur enregistré pour les services S3 et EC2 avec Amazon Web Services (AWS)
- Identifiant de la clé d’accès Amazaon
- Clé d’accès secrète Amazon
- Numéro de compte Amazon
- Certificat Amazon X.509
- au moins 1 Go d’espace libre sur le disque dur
- Les packages suivants doivent être installés :
apt-get install ssh debootstrap ruby
sun-java6-bin libopenssl-ruby curlAvant de commencer
Comme vous le verrez dans les sections suivantes de ce guide, de nombreux fichiers différents sont nécessaires pour utiliser avec succès les services Web EC2 d’Amazon. Par souci de simplicité, nous allons créer un répertoire « aws » dans ~/ et y stocker tous les fichiers nécessaires pour un accès rapide. Il y aura trois exceptions :
- l’API et les outils AMI d’AWS que nous installerons dans le répertoire /opt
- chroot sera créé dans /chroot
- Le certificat de compte et la clé privée d’Amazon seront stockés dans ~/.ec2
Création d’une image de machine Amazon
Création d’AMI dans un environnement chroot
Créer une image disque avec dd
Pour commencer, nous devons créer une image disque de taille appropriée pour notre installation. Dans ce cas, nous créons une image disque d’environ 750 Mo. Pour ce faire, nous utilisons la commande dd.
dd if=/dev/zero of=debian-ami count=750 bs=1MÀ la sortie de cette commande, nous créons un fichier appelé debian-ami et il sera stocké dans notre répertoire ~/aws
Création d’un système de fichiers sur l’image disque
Avant de monter cette image, nous devons créer un système de fichiers. Pour faire ce travail, nous pouvons utiliser la commande mkfs.ext3 comme suit :
mkfs.ext3 -F debian-amiLa sortie de votre terminal doit être similaire à celle ci-dessous :
Monter l’image disque nouvellement créée
Maintenant, nous sommes presque prêts à monter notre nouvelle image disque. Avant de faire cela, nous devons décider où nous aimerions exécuter l’environnement chroot. Dans ce guide, nous utiliserons le répertoire /chroot. Passez à root ( super utilisateur ) et créez le répertoire avec la commande [[mkdir|mkdir]] :
mkdir /chrootPour monter l’image disque à partir de notre répertoire ~/aws, nous utilisons la commande linux suivante :
mount -o loop /home/linuxconfig/aws/debian-ami /chrootInstaller debian dans /chroot
Pour installer Debian dans /chroot, nous utilisons la commande debootstrap qui peut être trouvée sur Debian ainsi que sur Ubuntu. Si vous avez suivi notre section sur les prérequis, la commande debootstrap devrait déjà être disponible pour vous :
debootstrap --arch i386 etch /chroot/ http://ftp.debian.orgLe résultat de cette commande sera assez long. Le debootstrap récupérera, validera, décompressera et installera tous les paquets nécessaires.
À la fin, vous devriez obtenir un message similaire à celui affiché sur la capture d’écran suivante du terminal :
Configurer l’installation de Debian chrooted
Entrez dans l’environnement chrooté
Maintenant que nous avons installé avec succès les paquets système Debian minimaux, nous devons faire du chroot dans cette installation et faire quelques modifications. Entrez dans l’environnement chroot avec la commande chroot.
chroot /chrootCréer des appareils
mount /proc
cd /dev
MAKEDEV console
MAKEDEV stdModifier le mot de passe root
Cela créera un nouveau mot de passe pour un compte de super-utilisateur :
REMARQUE : Nous sommes toujours dans l’environnement du chroot !
passwdConfigurer l’interface réseau
Nous devons modifier le fichier d’interfaces réseau pour utiliser DHCP au démarrage. Cette commande fera l’affaire :
echo -e 'auto lo\niface lo inet loopback\nauto eth0\niface eth0 inet dhcp' >> /etc/network/interfacesModifier le fichier /etc/fstab
Nous devons également définir quelques points de montage :
echo -e '/dev/sda1 / ext3 defaults 0 1\n/dev/sda2 swap swap defaults 0 0' > /etc/fstabInstaller sshd
Une fois que notre nouvelle AMI était prête, téléchargée et démarrée, nous nous y connections via ssh. Par conséquent, nous devons installer le démon ssh. Utilisez apt-get pour installer le paquet ssh :
REMARQUE : Nous sommes toujours dans un environnement chrooté
apt-get install sshVotre environnement chroot partage la même connexion Internet que votre hébergeur, donc tout devrait se passer sans problème. Ne vous inquiétez pas des messages contradictoires « Échec de la définition des paramètres régionaux ».
Quitter/umount environnement chroot
Tout devrait être prêt, nous pouvons donc quitter l’environnement chroot :
exitet utilisez unmount pour démonter l’image du fichier :
umount -l /chrootCharger une nouvelle image de machine Amazon
Configurer les variables d’environnement, les clés et les certificats Amazon
Il est maintenant temps d’extraire les détails de notre compte et nos certificats du site Web d’Amazon. Créez le répertoire ~/.ec2 et enregistrez-y vos certificats. Les étapes à suivre sont décrites [http://developer.amazonwebservices.com/connect/kbcategory.jspa?categoryID=84 ici]. Accédez à COMMENCER -> Configuration d’un compte. Si vous avez enregistré une clé privée et un certificat, nous pouvons définir des variables d’environnement, de sorte que nous n’avons pas à les consulter avec un chemin d’accès complet lors de l’utilisation des outils ami et api :
mkdir ~/.ec2
export EC2_PRIVATE_KEY=~/.ec2/pk-K5AHLDNT3ZI28UIE6Q7CC3YZ4LIZ54K7.pem
export EC2_CERT=~/.ec2/cert-K5AHLDNYYZI2FUIE6R7CC3YJ4LIZ54K7.pemLes outils AMI EC2 et les outils API EC2 sont basés sur java. Définissez la variable d’environnement pour java et vérifiez que java est installé :
export JAVA_HOME=/usr/
$JAVA_HOME/bin/java -versionexport EC2_ACCNO=155678941235
export ACCESS_KEY=1WQ6FJKYHJMPTJ3QR6G2
export SECRET_KEY=VDYxRzosnDWvxrJ97QntVpsSUBAavGHE1QJELEyYConfiguration des outils d’AMI EC2 à partir d’Amazon S3
Cette partie de ce tutoriel explique comment configurer et utiliser les outils d’AMI EC2 afin de regrouper et de télécharger de nouvelles AMI.
Télécharger les outils d’AMI EC2
Télécharger ami tools :
cd ~/aws
wget http://s3.amazonaws.com/ec2-downloads/ec2-ami-tools.zipInstaller les outils d’AMI EC2
décompressez ec2-ami-tools.zip vers /opt :
REMARQUE : Utilisez sudo ou passez à root !
unzip -d /opt/ ec2-ami-tools.zipIncluez ami tools dans la variable PATH et EC2_HOME :
export PATH=$PATH:/opt/ec2-ami-tools-1.3-21885/bin
export EC2_HOME=/opt/ec2-ami-tools-1.3-21885Bundle de nouvelles AMI
Tout est prêt et nous sommes prêts à regrouper notre nouvelle AMI Debian. On vous demandera « Veuillez spécifier une valeur pour arch [i386] », si la valeur par défaut laissée vide est de 10 Mo :
ec2-bundle-image -i debian-ami --cert $EC2_CERT --privatekey $EC2_PRIVATE_KEY -u $EC2_ACCNOTélécharger des fichiers AMI
Auparavant, l’outil d’image amicale groupée créerait des fichiers dans le répertoire /tmp par défaut. C’est également l’endroit où se trouve votre manifeste XML pour votre nouvelle AMI. Télécharge maintenant AMI :
REMARQUE :Si le seau n’existe pas, il sera créé ! De plus, vous DEVEZ choisir votre propre nom pour le seau.
ec2-upload-bundle -b linux-debian-etch -m /tmp/debian-ami.manifest.xml -a $ACCESS_KEY -s $SECRET_KEYConfiguration des outils d’API EC2 à partir d’Amazon S3
Cette partie de ce tutoriel explique comment configurer et utiliser les outils API EC2 afin d’enregistrer et d’utiliser une nouvelle AMI.
Télécharger les outils API EC2
Télécharger les outils api :
cd ~/aws
wget http://s3.amazonaws.com/ec2-downloads/ec2-api-tools.zipInstaller les outils API EC2
décompressez ec2-api-tools.zip vers /opt :
REMARQUE : Utilisez sudo ou passez à root !
unzip -d /opt/ ec2-api-tools.zipIncluez des outils API dans la variable PATH et EC2_HOME :
export PATH=$PATH:/opt/ec2-api-tools-1.3-24159/bin/
export EC2_HOME=/opt/ec2-api-tools-1.3-24159/Enregistrer une AMI à l’aide d’outils API
À ce stade, nous sommes prêts à enregistrer notre nouvelle AMI. Après l’inscription, nous obtiendrons le numéro d’identification d’AMI.
REMARQUE :pour les outils d’API Amazon, le chemin d’accès à votre certificat Amazon EC2 et à votre clé privée est automatiquement extrait des variables d’environnement définies précédemment.
ec2-register linux-debian-etch/debian-ami.manifest.xmlExécuter l’instance AMI
Maintenant que nous avons le numéro d’enregistrement d’un AMI, nous pouvons le démarrer :
ec2-run-instances ami-b9f115d0Décrire l’instance d’AMI
Eh bien, AMi est en cours d’exécution et nous avons besoin de connaître plus d’informations à ce sujet, telles que l’adresse IP ou le nom de domaine complet, utilisez le numéro d’instance généré lors du démarrage de l’AMI. (voir étape précédente !) :
ec2-describe-instances i-c369ccaaSe connecter à AMI avec ssh
S’il ne s’agit pas de votre première AMI, vous avez probablement déjà activé votre port 22. Si ce n’est pas le cas, exécutez d’abord cette commande avant d’essayer de vous y connecter :
ec2-authorize default -p 22Une fois activé, utilisez la commande shh pour vous connecter à votre nouvelle AMI Debian ETCH :
ssh root@IP-address or full-domain-nameREMARQUE :Nous avons récupéré le nom de domaine complet précédemment avec la commande ec2-describe-instances
Appendice
Autres commandes EC2 utiles
Sortie console
Pour voir ce qui se passe avec notre instance, nous pouvons utiliser ec2-get-console-output avec la combinaison de notre ID d’instance :
ec2-get-console-outputArrêt de l’instance Amazon EC2
Pour arrêter l’instance Amazon EC2, utilisez :
ec2-terminate-instancesVoir la liste des AMI enregistrées
Pour afficher la liste de vos Amazon Machine Images enregistrées :
ec2-describe-images




















