Je suis en train d'essayer d'utiliser l'utilitaire ec2-consistent-snapshot d'Eric Hammond sur un serveur mysql dédié.
J'ai créé un utilisateur IAM et attaché une politique d'autorisation pour utilisateur puissant (en utilisant la console AWS).
Sur une instance ec2 Ubuntu 10.10 32 bits et un volume XFS, j'ai installé ec2-consistent-snapshot en suivant ces instructions : http://alestic.com/mt/mt-search.cgi?blog_id=1&tag=ec2-consistent-snapshot&limit=20.
La commande que j'utilise est la suivante :
ec2-consistent-snapshot \
--freeze-filesystem /data03 \
--description "Description de test $(date +'%Y-%m-%d %H:%M:%S')" \
--mysql \
--mysql-user \
--mysql-host 127.0.0.1 \
--mysql-socket /var/run/mysqld/mysqld.sock \
--debug \
vol-11111111
Et la sortie de debug est :
ec2-consistent-snapshot: Utilisation de la clé d'accès AWS : AWSAccessKeyId=AKI[...]
ec2-consistent-snapshot: Jeu Mar 22 10:28:53 2012: Connexion MySQL en tant que
ec2-consistent-snapshot: Jeu Mar 22 10:28:53 2012: Flush MySQL
ec2-consistent-snapshot: Jeu Mar 22 10:28:53 2012: Flush & verrouillage MySQL
ec2-consistent-snapshot: master_log_file="mysql-bin.000726", master_log_pos=106
ec2-consistent-snapshot: Jeu Mar 22 10:28:53 2012: sync
ec2-consistent-snapshot: Jeu Mar 22 10:28:53 2012: xfs_freeze -f /data03
ec2-consistent-snapshot: Jeu Mar 22 10:28:54 2012: Création de l'objet EC2
ec2-consistent-snapshot: Jeu Mar 22 10:28:54 2012: ec2-create-snapshot vol-11111111
ec2-consistent-snapshot: ERREUR: AWS n'a pas pu valider les informations d'identification fournies
ec2-consistent-snapshot: Jeu Mar 22 10:28:56 2012: xfs_freeze -u /data03
ec2-consistent-snapshot: Jeu Mar 22 10:28:56 2012: Déverrouillage MySQL
ec2-consistent-snapshot: Jeu Mar 22 10:28:56 2012: Déconnexion MySQL
ec2-consistent-snapshot: Jeu Mar 22 10:28:56 2012: terminé
(Bien sûr, l'identifiant du volume n'est pas réellement 111111111).
J'ai essayé de modifier le code pour m'assurer qu'il utilisait la clé secrète correcte, qui s'est avérée être la bonne.
J'ai aussi une variable d'environnement qui pointe vers /root/.awssecret
echo $AWS_CREDENTIAL_FILE
/root/.awssecret
D'autres choses que j'ai essayées, et qui ont produit les mêmes résultats : - Passer le chemin du fichier d'informations d'identification en tant que paramètre. - Générer de nouvelles informations d'identification et les utiliser. - Spécifier la région comme us-east-1 plutôt que de laisser aller par défaut.
Voici à quoi ressemble mon fichier d'informations d'identification :
AWSAccessKeyId=AKI[...]
AWSSecretKey=DPh[..]
C'est à peu près tout, merci pour toute aide.