AWS avancé. Surveiller votre utilisation d EC2



Documents pareils
Stocker des données sur Amazon S3

Cloud Computing Maîtrisez la plate-forme AWS - Amazon Web Services

Dans l'article précédent, vous avez appris

Guide de l utilisateur Communauté virtuelle de pratique en gestion intégrée des risques

Utiliser SQL Server 2008 R2 Reporting Services comme source de donne es pour Microsoft Excel

Voyez clair dans vos finances avec AccèsD Affaires

Programmation Web. Madalina Croitoru IUT Montpellier

Table des matières...2 Introduction...4 Terminologie...4

Cloud public d Ikoula Documentation de prise en main 2.0

CNAM Déploiement d une application avec EC2 ( Cloud Amazon ) Auteur : Thierry Kauffmann Paris, Décembre 2010

Tenrox. Guide d intégration Tenrox-Salesforce. Janvier Tenrox. Tous droits réservés.

GUIDE D UTILISATION DU CENTRE DE DONNÉES DE L ISU

GUIDE D UTILISATION LE PRESENT DOCUMENT VISE A FACILITER LA PRISE EN MAIN DE L@GOON CLOUD. * Synchroniser votre entreprise

pas à pas prise en main du logiciel Le Cloud d Orange - Transfert de fichiers sur PC et MAC Le Cloud

Guide Utilisateur Easy Share

Table des Matières. Pages 3-4. A propos d emblue. Page 5. L environnement emblue. Création d une campagne d marketing. Pages 6-15.

INF 9013 Les TIC et l apprentissage en milieu de travail

Logiciel : GLPI Version : SYNCRHONISATION DE GLPI AVEC ACTIVE DIRECTORY. Auteur : Claude SANTERO Config. : Windows 2003.

UltraBackup NetStation 4. Guide de démarrage rapide

L envoi d un formulaire par courriel. Configuration requise Mail Texte Mail HTML Check-list

cbox VOS FICHIERS DEVIENNENT MOBILES! POUR ORDINATEURS DE BUREAU ET PORTABLES WINDOWS ÉDITION PROFESSIONNELLE MANUEL D UTILISATION

Déploiement d application Silverlight

GUIDE D UTILISATION DE L ISU SEPTEMBRE 2013 GUIDE D UTILISATION DU NAVIGATEUR UIS.STAT (VERSION BÊTA)

Paiement sécurisé sur Internet. Tableau de bord Commerçant

GUIDE D'UTILISATION: Comment installer la Renault Media Nav Toolbox? GUIDE D'UTILISATION: Comment créer une empreinte digitale de votre appareil sur

Rapports d activités et financiers par Internet. Manuel Utilisateur

SHERLOCK 7. Version du 01/09/09 JAVASCRIPT 1.5

mailpro mode d'emploi

Guide exploitant du contrôleur Legrand

Cahier n o 6. Mon ordinateur. Fichiers et dossiers Sauvegarde et classement

EmonCMS sur EWATTCH Cloud

Introduction à MATLAB R

BIRT (Business Intelligence and Reporting Tools)

On trouvera sur le site du CCDMD un exemple d album construit avec Cantare. (

MO-Call pour les Ordinateurs. Guide de l utilisateur

Ak Documentation

Icônes des didacticiels. Aliro - le contrôle d accès sur IP sans complication.

COMMENT CREER SIMPLEMENT UN TABLEAU DE BORD AVEC SAS BI DASHBOARD 4.3?

CMS Modules Dynamiques - Manuel Utilisateur

Guichet ONEGATE COLLECTE XBRL SOLVABILITE II (S2P) Manuel d utilisateur VERSION /04/2014 ORGANISATION ET INFORMATIQUE SDESS.

Guide d installation de Gael

Le cloud computing au service des applications cartographiques à haute disponibilité

Your Detecting Connection. Manuel de l utilisateur. support@xchange2.net

Guide de l enseignant. pour le Passeport Sécurité. Mise à jour : 10 août 2015

OCLOUD BACKUP GUIDE DE REFERENCE POUR ANDROID

MANUEL. de l application «CdC Online» pour Windows. Table des matières

Utiliser un NAS pour remplacer Dropbox via Cloud Station

Utilisateur et administrateur

1 Recherche en table par balayage

WebSpy Analyzer Giga 2.1 Guide de démarrage

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Création et Gestion des tables

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

Placez vous au préalable à l endroit voulu dans l arborescence avant de cliquer sur l icône Nouveau Répertoire

Administration du site (Back Office)

La Voix sur IP. Études des solutions logicielles. Open Source

1. Installation du Module

UTILISER LE CLOUD COMPUTING : EDITION EN LIGNE ET TRAVAIL COLLABORATIF AVEC GOOGLE DRIVE

Utiliser le site Voyages-sncf.com

Présentation du langage et premières fonctions

Les logiciels gratuits en ligne

NAS 254 Sauvegarde cloud

Comment se connecter au dossier partagé?

Sélection d un moteur de recherche pour intranet : Les sept points à prendre en compte

Création d un site Internet

Enregistrement de votre Géorando Maxi Liberté

Groupe Eyrolles, 2003, ISBN : X

Guide de démarrage Tradedoubler. Manuel éditeur / affilié

Installation et utilisation du client FirstClass 11

pas à pas prise en main du service sur le web Le Cloud

IFT287 Exploitation de base de données relationnelles et orientées objet. Laboratoire Mon premier programme Java en Eclipse

Manuel de l administrateur

Les technologies du Big Data

Soon_AdvancedCache. Module Magento SOON. Rédacteur. Relecture & validation technique. Historique des révisions

SYNC FRAMEWORK AVEC SQLITE POUR APPLICATIONS WINDOWS STORE (WINRT) ET WINDOWS PHONE 8

Installation d un manuel numérique 2.0

Paginer les données côté serveur, mettre en cache côté client

IMAGES NUMÉRIQUES MATRICIELLES EN SCILAB

PHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS)

Ce document décrit la démarche à suivre pour installer les outils de développement et compiler le projet TANAGRA.

Quels sont les espaces disponibles sur l ordinateur pour stocker ses documents et comment accéder facilement au dossier «My Documents»?

Découvrez Windows NetMeeting

Androïd Manuel d installation MB PRO LIGHT Préalable. Définitions

Note de synthèse. Développement web sur le CMS Prestashop. Stage du 17 mai au 25 juin Entreprise decoratzia.com 15 rue Erlanger Paris

WinReporter Guide de démarrage rapide. Version 4

Guide de démarrage Janvier 2012

Exploiter les statistiques d utilisation de SQL Server 2008 R2 Reporting Services

Pourquoi? Fini la synchronisation d annuaire compliquée; vous avez accès immédiatement à tous vos contacts.

NFA016 : Introduction. Pour naviguer sur le Web, il faut : Naviguer: dialoguer avec un serveur web

WinTask x64 Le Planificateur de tâches sous Windows 7 64 bits, Windows 8/ bits, Windows 2008 R2 et Windows bits

Plateforme PAYZEN. Intégration du module de paiement pour la plateforme Magento version 1.3.x.x. Paiement en plusieurs fois. Version 1.

FileMaker Server 14. Guide de démarrage

Installation de SQL Server Reporting Services avec l intégration dans un site Windows SharePoint Services V3

FileMaker Server 14. Aide FileMaker Server

Guide d utilisation de «Partages Privés»

Utilisez Toucan portable pour vos sauvegardes

Apps Sage : les 10 étapes pour publier vos données dans le Cloud.

Outils gratuits de présentation de documents «animés» Issuu - Slideshare

Transcription:

10 AWS avancé Dans ce chapitre, nous bâtirons sur les bases que nous avons apprises jusqu ici. Nous étudierons des sujets plus avancés tels que la surveillance de votre utilisation d AWS, l utilisation de volumes Elastic Block Storage, l accès aux métadonnées de vos instances EC2 et le tracé dynamique de diagrammes pour votre système AWS. Surveiller votre utilisation d EC2 La nature dynamique d AWS (la facilité avec laquelle vous pouvez ajouter des données dans Amazon S3, créer et peupler des domaines dans SimpleDB et lancer des instances EC2) signifie que vous devez rester conscient de votre utilisation (et des coûts associés). Activité du compte Vous pouvez tracer manuellement l activité en cliquant sur Account Activity du menu Your Account de la page http://aws.amazon.com. Une fois connecté, vous pouvez voir l utilisation détaillée et les coûts de chacun des services que vous utilisez. Vous pouvez développer chaque section avec l icône + à côté du nom du service. La Figure 10.1 illustre l activité de mon compte pour le mois de février 2011.

260 Le Cloud Computing avec Amazon Web Services Figure 10.1 Un mois d activité s ur le compte du traducteur de cet ouvrage. Si votre utilisation d AWS varie d un jour à l autre, vous devriez probablement vérifier fréquemment l activité de votre compte. C est doublement vrai si vous publiez de grosses quantités de contenu ou si vous utilisez la fonctionnalité Auto Scale pour démarrer des instances EC2 additionnelles en réponse à un trafic ou à une charge système plus importants. Accéder aux données d utilisation Les données brutes utilisées pour générer le rapport d activité du compte peuvent être téléchargées à partir du portail AWS en choisissant l option Usage Reports dans le menu. Vous pouvez télécharger des rapports pour tous les services et contrôler la période, les types d usages et le format des données (XML ou CSV), comme illustré à la Figure 10.2.

Chapitre 10 AWS avancé 261 Figure 10.2 Télécharger les rapports d utilis ation d AWS. Comme nous avons déjà vu comment traiter du XML, nous allons cette fois travailler avec un fichier CSV (Comma-Separated Value, valeurs séparées par des virgules) pour avoir l opportunité d apprendre une nouvelle compétence. Nous allons accéder aux données, les stocker dans SimpleDB, puis les récupérer et les visualiser. Commencez par télécharger des données pour un des services (ou tous) que vous avez utilisés. Choisissez Days pour Report Granularity, choisissez une Time Period représentative de votre utilisation récente AWS (j ai choisi un intervalle allant du 1 er janvier 2011 au 28 février 2011) et cliquez sur Download report (CSV). En fonction de la configuration de votre navigateur, vous pouvez obtenir un écran complet de données ou un nouveau fichier dans votre historique de téléchargement. Dans les deux cas, faites ce que vous avez à faire pour transférer les données vers votre instance EC2 en cours d exécution. J ai ouvert le fichier dans une copie locale de Notepad, sélectionné et copié le texte et je l ai copié dans un tampon Emacs sur mon instance EC2. J ai nommé ce fichier ec2_usage.csv, mais vous pouvez utiliser le nom que vous souhaitez. Importer les données d utilisation Voici les premières lignes de mon fichier ec2_usage.csv : Service, Operation, UsageType, StartTime, EndTime, UsageValue AmazonEC2,PublicIP-In,EU-DataTransfer-In-Bytes,01/17/11 00:00:00,01/18/11 00:00:00,1928 AmazonEC2,InterZone-Out,EU-DataTransfer-Regional-Bytes,01/17/11 00:00:00,01/18/11 00:00:00,35344 AmazonEC2,EBS:IO-Write,EU-EBS:VolumeIOUsage,01/17/11 00:00:00,01/18/11 00:00:00,4665

262 Le Cloud Computing avec Amazon Web Services AmazonEC2,GetMetricStatistics,EU-Calls,01/17/11 00:00:00,01/18/11 00:00:00,460 La première ligne du fichier fournit les noms des champs ; les autres lignes contiennent des données : un enregistrement par ligne, avec des valeurs séparées par des virgules. La fonction fgetcsv de PHP facilite la gestion des fichiers CSV. Cette fonction lit des lignes d un fichier, sépare les champs aux limites définies par les virgules (en respectant les chaînes entre guillemets) et renvoie un tableau de valeurs. Voici ce qu elle renvoie pour la première ligne de mon fichier : Array ( [0] => Service [1] => Operation [2] => UsageType [3] => StartTime [4] => EndTime [5] => UsageValue ) Les fichiers d utilisation de chaque service AWS contiennent des champs communs et certains sont spécifiques à un service donné. Par exemple, les fichiers d utilisation de S3 contiennent également un champ Resource. Ce champ associe les données avec un bucket S3. De façon similaire, les fichiers d utilisation de CloudFront utilisent le champ Resource pour identifier les données de compte associées à une distribution CloudFront donnée. Comme le format de données contient des éléments communs et certaines variantes spécifiques aux services, Amazon SimpleDB constitue un système de stockage idéal. Nous avons besoin d un domaine : chap10/include/book.inc.php (extrait) define( BOOK_AWS_USAGE_DOMAIN, aws_usage ); Nous pouvons utiliser une version modifiée du script de création de domaine du Chapitre 8 pour créer ce domaine : chap10/create_domain.php (extrait) $res = $sdb->create_domain(book_aws_usage_domain);

Chapitre 10 AWS avancé 263 Nous allons à présent construire un programme pour importer des données d un ou plusieurs fichiers CSV spécifiés sur la ligne de commande. Voici ce dont nous avons besoin pour démarrer : #!/usr/bin/php <?php error_reporting(e_all); require_once('sdk.class.php ); require_once('include/book.inc.php ); if ($argc == 1) exit("usage: ". $argv[0]. FICHIER_CSV...\n ); Le script s attend à trouver un ou plusieurs fichiers CSV sur la ligne de commande et le code qui précède effectue cette vérification. Il affiche un message d aide s il y a trop peu d arguments à la ligne de commande. Les données sont stockées dans SimpleDB : il faut créer un objet. $sdb = new AmazonSDB(); $sdb->set_region(sdb_region); On peut ensuite traiter chaque ligne avec une fonction ImportCSV que nous allons bientôt détailler : for ($i = 1; $i < $argc; $i++) $file = $argv[$i]; if (($ret = ImportCSV($sdb, $file))!== false) print( Importation de $file: $ret enregistrements\n ); else print( Échec de l import de $file\n );

264 Le Cloud Computing avec Amazon Web Services Examinons à présent la fonction ImportCSV. La première étape consiste à ouvrir le fichier ; cette requête renvoie false si le fichier ne peut pas être ouvert : function ImportCSV($sdb, $file) $fp = fopen($file, r ); if ($fp === false) return false; Comme la première ligne du fichier CSV contient les noms des champs, on les lit dans le tableau $fields. Nous avons besoin de ces noms pour traiter et stocker chaque ligne de données. Nous enregistrons également le nombre de lignes de données lues et traitées : $fields = fgetcsv($fp); $recordcount = 0; On peut maintenant traiter chaque ligne de données : while (($data = fgetcsv($fp))!== false) $recordcount++; Comme nous l avons discuté au Chapitre 8, le choix des clés SimpleDB est tout un art. Lorsque j ai construit cet outil, je voulais pouvoir importer le même fichier de données ou plusieurs fichiers de données avec des dates se chevauchant tout en maintenant l intégrité des données. Après quelques expériences, j ai composé une clé en concaténant le nom du service et l empreinte MD5 des champs sans données (tous les champs sauf UsageValue). Mon algorithme produit des clés de ce type : AmazonS3_c8e3df29d22bca8b7e73fd3b35152133 AmazonS3_2efdc1f3ab71d5b11cb3aa5cb738909d AmazonEC2_2a88d9d6945f7d081714f31abe610400 AmazonEC2_11ebe64d3b6b0cab959a6d91edaad8cb

Chapitre 10 AWS avancé 265 Voici comment faire cela. Déclarez les variables $key et $keydata : $key = ; $keydata = ; Puis chaque champ de chaque ligne est traité. La variable $fields contient les noms des champs pour le fichier. J ai également modifié la mise en forme des champs de date (StartTime et EndTime) pour améliorer les requêtes sur des intervalles. Voici le code pour le traitement des champs : $attrs = array(); for ($i = 0; $i < count($fields); $i++) if (($fields[$i] == StartTime ) ($fields[$i] == EndTime )) $data[$i] = date_create($data[$i])->format( c ); $attrs[$fields[$i]] = $data[$i]; if ($fields[$i] == Service ) $key = $data[$i]; if ($fields[$i]!= UsageValue ) $keydata.= $data[$i]; À la fin de la boucle, le tableau $attrs contient les données à écrire dans SimpleDB, $key contient le préfixe pour la clé et $keydata contient les données dont il faut générer une empreinte pour former le reste de la clé. Voici un exemple du contenu du tableau $attrs pour mes données : Array ["Service"] => "AmazonEC2" ["Operation"] => "InterZone-Out" [ UsageType ] => EU-DataTransfer-Regional-Bytes [ StartTime ] => 2011-01-17T00:00:00+01:00 [ EndTime ] => 2011-01-18T00:00:00+01:00 [ UsageValue ] => 35344