{"id":2551,"date":"2013-02-05T19:55:18","date_gmt":"2013-02-05T17:55:18","guid":{"rendered":"http:\/\/www.collet-matrat.com\/?p=2551"},"modified":"2013-02-05T19:55:18","modified_gmt":"2013-02-05T17:55:18","slug":"gerez-aws-glacier-en-ligne-de-commande","status":"publish","type":"post","link":"https:\/\/www.collet-matrat.com\/?p=2551","title":{"rendered":"G\u00e9rez \u00ab\u00a0AWS Glacier\u00a0\u00bb en ligne de commande"},"content":{"rendered":"<p><a href=\"http:\/\/aws.amazon.com\/fr\/glacier\/\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-2559 aligncenter\" alt=\"AWS_LOGO_RGB_300px\" src=\"\/wp-content\/uploads\/2013\/02\/_d_improd_\/AWS_LOGO_RGB_300px_f_improf_300x122.jpg\" width=\"300\" height=\"122\" \/><\/a><\/p>\n<p style=\"text-align: justify;\">Pour ceux qui seraient pass\u00e9s \u00e0 c\u00f4t\u00e9, <a href=\"http:\/\/aws.amazon.com\/fr\/glacier\/\" target=\"_blank\">Amazon Glacier<\/a> est un syst\u00e8me de stockage sur le cloud d'Amazon (un peu comme S3) d\u00e9di\u00e9 \u00e0 la conservation \"longue dur\u00e9e\" de vos donn\u00e9es (un syst\u00e8me d'archivage en quelque sorte).<\/p>\n<p style=\"text-align: justify;\">Par rapport \u00e0 S3 le principal avantage de cette solution est le prix. En effet avec un co\u00fbt de $0,01 par Go et par mois il s'agit certainement l\u00e0 de la solution de stockage la plus \u00e9conomique du march\u00e9 (10\u20ac \/ 1To \/ mois difficile de faire mieux) - A titre de comparaison 1To stock\u00e9 sur S3 co\u00fbte 95$ \/ mois !<\/p>\n<p style=\"text-align: justify;\">Bon \u00e0 ce tarif l\u00e0 vous devez vous douter qu'il y a quelques inconv\u00e9nients. Le plus significatif est certainement le d\u00e9lai de r\u00e9cup\u00e9ration des donn\u00e9es. En effet si l'upload d'informations est imm\u00e9diat, toute op\u00e9ration de r\u00e9cup\u00e9ration de donn\u00e9es va n\u00e9cessiter une attente pr\u00e9alable d'au moins 4 h ! Et ce d\u00e9lai concerne toutes les op\u00e9rations : m\u00eame une demande d\u2019inventaire (un \"ls\" en quelque sorte) du contenu d'un d\u00e9p\u00f4t va demander le m\u00eame d\u00e9lai (4h) avant d'obtenir le r\u00e9sultat de votre requ\u00eate ...<\/p>\n<p style=\"text-align: justify;\">Il est donc clair qu'avec une telle contrainte il faut r\u00e9server l'usage de Glacier \u00e0 des seules fins d'archivage ...<\/p>\n<p style=\"text-align: justify;\">A l'inverse de S3 il n\u2019existe pas (pour le moment) d'interface web (fournie par Amazon) permettant de g\u00e9rer le contenu de ses archives. Plusieurs logiciels d\u00e9di\u00e9s existent toutefois sur le march\u00e9. J'ai par exemple test\u00e9 \"<a href=\"http:\/\/fastglacier.com\/\" target=\"_blank\">FastGlacier<\/a>\" sur une des mes machines Windows (ce soft est gratuit pour un usage non commercial). Toutefois, dans certains cas, il est plus pratique d'utiliser directement une interface en ligne de commande (pour archiver le contenu d'un serveur Linux par exemple). Il existe, pour ce faire, un ensemble de scripts Python totalement fonctionnels et qui permettent d'agir sur vos archives. Il s'agit de \"<a href=\"https:\/\/github.com\/uskudnik\/amazon-glacier-cmd-interface\" target=\"_blank\">glacier-cmd<\/a>\".<\/p>\n<p style=\"text-align: justify;\">L'installation (et l'utilisation) de \"glacier-cmd\" ne pose pas vraiment de probl\u00e8me, mais j'ai quand m\u00eame d\u00e9cid\u00e9 de faciliter la t\u00e2che \u00e0 ceux (celles) d'entres vous qui ont quelques petites difficult\u00e9s avec la langue anglaise et\/ou d\u00e9marrer rapidement \u00e0 partir d'un document de synth\u00e8se.<\/p>\n<p style=\"text-align: justify;\">C'est parti ...<\/p>\n<p style=\"text-align: justify;\">Ce how-to est bas\u00e9 sur l'utilisation d'une distribution Debian 6 \"out of the box\" sans particularit\u00e9. Bien entendu aucune interface graphique n'est n\u00e9cessaire (c'est d\u2019ailleurs un peu l'objectif de ce how-to ...)<\/p>\n<p style=\"text-align: justify;\">La premi\u00e8re chose \u00e0 faire est de s'assurer que Python est bien install\u00e9 sur votre syst\u00e8me.<\/p>\n<p style=\"text-align: justify;\">Un petit \"<em>python -V<\/em>\" devrait vous retourner la version de Python install\u00e9e<\/p>\n<p>Dans le doute vous pouvez toujours lancer un \"<em>apt-get install python<\/em>\" \u00e7a ne peut pas faire de mal !<\/p>\n<p>Il faut ensuite passer \u00e0 l'installation de \"<a href=\"http:\/\/fr.wikipedia.org\/wiki\/Git\">Git<\/a>\" (qui vous permettra de faciliter l'installation de \"<em>glacier-cmd<\/em>\")<\/p>\n<blockquote><p>apt-get install git<\/p><\/blockquote>\n<p>On r\u00e9cup\u00e9re ensuite l'int\u00e9gralit\u00e9 de glacier-cmd avec une seule ligne de commande :<\/p>\n<blockquote><p>git clone https:\/\/github.com\/uskudnik\/amazon-glacier-cmd-interface.git<\/p><\/blockquote>\n<p>On entre dans le r\u00e9pertoire o\u00f9 ont \u00e9t\u00e9 r\u00e9cup\u00e9r\u00e9es les sources<\/p>\n<blockquote><p>cd amazon-glacier-cmd-interface\/<\/p><\/blockquote>\n<p>On installe un module suppl\u00e9mentaire pour Python n\u00e9cessaire au lancement du script d'installation<\/p>\n<blockquote><p>apt-get install python-setuptools<\/p><\/blockquote>\n<p>Et on lance finalement le script d'installation<\/p>\n<blockquote><p>python setup.py install<\/p><\/blockquote>\n<p>On va ensuite cr\u00e9er un fichier de configuration pour glacier-cmd.<\/p>\n<blockquote><p>vi \/etc\/glacier-cmd.conf<\/p><\/blockquote>\n<p>Le fichier va ressembler \u00e0 \u00e7a :<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\n\r\n&#x5B;aws]\r\n access_key=Identifiant de cl\u00e9 d\u2019acc\u00e8s\r\n secret_key=Cl\u00e9 d\u2019acc\u00e8s secr\u00e8te\r\n\r\n&#x5B;glacier]\r\n region=us-east-1\r\n logfile=~\/.glacier-cmd.log\r\n loglevel=INFO\r\n output=print\r\n\r\n<\/pre>\n<p>Pour r\u00e9cup\u00e9rer (ou cr\u00e9er les cl\u00e9s AWS) il faut se connecter <a href=\"https:\/\/portal.aws.amazon.com\/gp\/aws\/securityCredentials\" target=\"_blank\">ICI<\/a><\/p>\n<p style=\"text-align: justify;\">Ce fichier de conf va \u00e9galement vous permettre de s\u00e9lectionner la zone g\u00e9ographique o\u00f9 seront h\u00e9berg\u00e9s vos donn\u00e9es (les tarifs varient l\u00e9g\u00e8rement en fonction de ce param\u00e8tre : toutes les infos sont <a href=\"http:\/\/aws.amazon.com\/fr\/glacier\/pricing\/\" target=\"_blank\">ICI<\/a> ).<\/p>\n<p>Les valeurs possibles pour \"region\" sont donc les suivantes :<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\n\r\nus-east-1 pour : US - Virginia\r\nus-west-1 pour : US - N. California\r\nus-west-2 pour : US - Oregon\r\neu-west-1 pour : EU - Ireland\r\nap-northeast-1 pour : Asia-Pacific - Tokyo\r\n\r\n<\/pre>\n<p style=\"text-align: justify;\">On peut ensuite passer \u00e0 l'utilisation de glacier-cmd. Les principales commandes sont les suivantes :<\/p>\n<ul>\n<li>Pour cr\u00e9er un d\u00e9p\u00f4t (\"vault\") de stockage (afin d'y d\u00e9poser ensuite des archives)\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">glacier-cmd mkvault &lt;le_nom_de_votre_d\u00e9p\u00f4t&gt;\r\n<\/pre>\n<\/li>\n<li>Pour lister les d\u00e9p\u00f4ts disponibles :\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">glacier-cmd lsvault<\/pre>\n<\/li>\n<li>Pour obtenir le contenu (liste des archives\/fichiers) d'un d\u00e9p\u00f4t (attention le r\u00e9sultat de cette commande ne sera disponible qu'apr\u00e8s 4h d'attente ...)\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">glacier-cmd inventory &lt;le_nom_de_votre_d\u00e9p\u00f4t&gt;<\/pre>\n<\/li>\n<li>Pour uploader une archive (fichier) au sein d'un d\u00e9p\u00f4t :\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">glacier-cmd upload &lt;nom_de_votre_d\u00e9p\u00f4t&gt; &lt;nom_du_fichier_a_uploader&gt; --description &quot;la_description_du_fichier&quot;<\/pre>\n<\/li>\n<li>Pour t\u00e9l\u00e9charger les archives (fichiers) contenues au sein d'un d\u00e9p\u00f4t&nbsp; :\n<p>L'op\u00e9ration se d\u00e9roule en deux temps:<\/p>\n<p>1) On lance une demande de r\u00e9cup\u00e9ration de l'archive avec la commande suivante :<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">glacier-cmd getarchive &lt;nom_de_votre_d\u00e9p\u00f4t&gt; &lt;id_de_l'archive_\u00e0_r\u00e9cup\u00e9rer&gt;<\/pre>\n<p>NB : On r\u00e9cup\u00e8re l'id de l'archive avec la commande \"inventory\" (voir ci-dessus)<\/p>\n<p>2) Apr\u00e8s environ 4h d'attente vous pouvez demander le t\u00e9l\u00e9chargement de l'archive avec cette commande :<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">glacier-cmd download &lt;nom_de_votre_d\u00e9p\u00f4t&gt; &lt;id_de_l'archive_\u00e0_r\u00e9cup\u00e9rer&gt; --outfile &lt;nom_du_fichier&gt;<\/pre>\n<p style=\"text-align: justify;\">Donc pour r\u00e9sumer une r\u00e9cup\u00e9ration \"type\" s'effectue en 8h : 4h pour obtenir le contenu du d\u00e9p\u00f4t (avec les identifiants d'archives) puis 4h pour obtenir une archive pr\u00eate \u00e0 \u00eatre t\u00e9l\u00e9charg\u00e9e et enfin le temps n\u00e9cessaire au t\u00e9l\u00e9chargement du fichier ! Mieux vaut ne pas \u00eatre press\u00e9 ...<\/p>\n<\/li>\n<\/ul>\n<ul>\n<li>Pour obtenir la liste de jobs en cours (inventaire, r\u00e9cup\u00e9ration ...) :<\/li>\n<\/ul>\n<blockquote>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">glacier-cmd listjobs nom_de_votre_d\u00e9p\u00f4t<\/pre>\n<\/blockquote>\n<p style=\"text-align: justify;\">Ce how-to n'a bien entendu pas vocation \u00e0 \u00eatre exhaustif. Si vous souhaitez d\u00e9couvrir l'int\u00e9gralit\u00e9 des fonctionnalit\u00e9s propos\u00e9es par <em>glacier-cmd<\/em>, je vous invite \u00e0 consulter la documentation disponible <a href=\"https:\/\/github.com\/uskudnik\/amazon-glacier-cmd-interface\/tree\/master\/doc\" target=\"_blank\">ICI .<\/a><\/p>\n<p style=\"text-align: justify;\">Dans un prochain billet, je vous pr\u00e9senterai une solution permettant d'automatiser le backup d'un serveur Linux vers Glacier ...<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Pour ceux qui seraient pass\u00e9s \u00e0 c\u00f4t\u00e9, Amazon Glacier est un syst\u00e8me de stockage sur le cloud d'Amazon (un peu comme S3) d\u00e9di\u00e9 \u00e0 la conservation \"longue dur\u00e9e\" de vos donn\u00e9es (un syst\u00e8me d'archivage en quelque sorte). Par rapport \u00e0 &hellip; <a href=\"https:\/\/www.collet-matrat.com\/?p=2551\">Lire la suite <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"G\u00e9rez \" #AWS #Glacier \" en ligne de commande","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[123,91,7,86,100],"tags":[],"class_list":["post-2551","post","type-post","status-publish","format-standard","hentry","category-amazon-aws","category-howto","category-linux","category-securite","category-stockage"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/www.collet-matrat.com\/index.php?rest_route=\/wp\/v2\/posts\/2551","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.collet-matrat.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.collet-matrat.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.collet-matrat.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.collet-matrat.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2551"}],"version-history":[{"count":76,"href":"https:\/\/www.collet-matrat.com\/index.php?rest_route=\/wp\/v2\/posts\/2551\/revisions"}],"predecessor-version":[{"id":2629,"href":"https:\/\/www.collet-matrat.com\/index.php?rest_route=\/wp\/v2\/posts\/2551\/revisions\/2629"}],"wp:attachment":[{"href":"https:\/\/www.collet-matrat.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2551"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.collet-matrat.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2551"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.collet-matrat.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2551"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}