Recherche de site Web

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 curl

Avant 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-ami

La 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 /chroot

Pour monter l’image disque à partir de notre répertoire ~/aws, nous utilisons la commande linux suivante :

mount -o loop /home/linuxconfig/aws/debian-ami /chroot

Installer 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.org

Le 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 /chroot

Créer des appareils

mount /proc
 cd /dev
 MAKEDEV console
 MAKEDEV std

Modifier 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 !

passwd

Configurer 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/interfaces

Modifier 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/fstab

Installer 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 ssh

Votre 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 :

exit

et utilisez unmount pour démonter l’image du fichier :

umount -l /chroot

Charger 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.pem

Les 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 -version

export EC2_ACCNO=155678941235
export ACCESS_KEY=1WQ6FJKYHJMPTJ3QR6G2
export SECRET_KEY=VDYxRzosnDWvxrJ97QntVpsSUBAavGHE1QJELEyY

Configuration 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.zip

Installer 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.zip

Incluez 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-21885

Bundle 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_ACCNO

Té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_KEY

Configuration 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.zip

Installer les outils API EC2

décompressez ec2-api-tools.zip vers /opt :
REMARQUE : Utilisez sudo ou passez à root !

unzip -d /opt/ ec2-api-tools.zip

Incluez 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.xml

Exé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-b9f115d0

Dé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-c369ccaa

Se 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 22

Une fois activé, utilisez la commande shh pour vous connecter à votre nouvelle AMI Debian ETCH :

ssh root@IP-address or full-domain-name

REMARQUE :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-output

Arrêt de l’instance Amazon EC2

Pour arrêter l’instance Amazon EC2, utilisez :

ec2-terminate-instances

Voir la liste des AMI enregistrées

Pour afficher la liste de vos Amazon Machine Images enregistrées :

ec2-describe-images

Articles connexes: