SlideShare uma empresa Scribd logo
1 de 97
Baixar para ler offline
Le Cloud IaaS & PaaS
OpenStack réseau et sécurité
Cours Master 2 Sécurité des systèmes informatiques
Université Paris-Est Créteil Val-de-Marne (Paris12)

Noureddine BOUYAHIAOUI
noureddine@bouyahiaoui.com

1
Plan
A. Cloud
1.
2.
3.
4.

Concepts
IaaS
PaaS
SaaS

B. OpenStack Eco-Système
1.
2.
3.

Définition
Historique
Projet

C. OpenStack Architecture
1.
2.
3.

Architecture logique
Flux de création d’une VM
Détail des composants

2
Cloud ?
Un modèle d'accès aux ressources informatiques (réseaux, serveurs, stockage,
applications et services). Des ressources qui peuvent être rapidement approvisionnées
avec un minimum d’effort de la part du fournisseur du service.

IaaS

PaaS

?
SaaS
Un type de calcul massivement évolutif où les capacités de IT sont livrées ‘en service’
aux clients en utilisant les technologies internet
3
Cloud ?
Administration
ERP

SaaS
S
é
c
u
r
i
t
é

CRM
Analytics

Applications métier
M
o
n
i
t
o
r
i
n
g

PaaS

IaaS
Stockage

CPU
Network
4

C
h
a
r
g
e
B
a
c
k
Cloud : Prérequis pour un Cloud opérationnel
Automatisation des déploiements

API

Faciliter les déploiements et réduire les
temps d’attente

Une interaction simplifiée et granulaire

Contrôle financier
Rationalisation des coûts
Clouds
publics

Clouds
privés

Sécurité
Evoluer en fonction du contexte

Clouds
Spécialisés

Mise à l'échelle et monitoring
Connaître les goulots d'étranglement et être
capable de les corriger.
5
IaaS
Fournit une infrastructure virtuelle à la demande qui évolue et
s'adapte aux nouveaux besoins de votre entreprise

Fournit des solutions de stockage et de sauvegarde évolutives et
durables pour toutes les données, quelle que soit leur taille

Fournit un modèles réseaux souples pour répondre aux besoins
des différentes applications et groupes d'utilisateurs

Fournit un accès sécurisé et granulaire aux différents composants
de l’infrastructure via des flux sécurisés et une gestion centralisée
de l'identité
6
IaaS : Le compute
APIs

API REST

Une plate-forme ouverte, évolutive
et horizontalement scalable

Hyperviseur agnostique:
Xen ,XenServer, Hyper-V, KVM, ESX

Hardware agnostique

7
IaaS : Le Stockage
APIs

API REST

Files
Files
Files

Stockage d'objets redondant
et évolutif supportant jusqu’à
des Peta-octets de données.

Files

Hardware agnostique

8
IaaS : Une gestion centralisé de l'identité, des rôles et
de la sécurité des flux

SSL/TLS

SSL/TLS

Clouds
privés

APIs

LDAP

Toutes les autorisations
d’accès de tous les composant
d’OpenStack passe par un
LDAP.

SSL/TLS

9
Le PaaS : gestion granulaire du cycle de vie
Un déploiement automatisé et reproductible :
Pas de saisie manuelle
procédures de contrôle automatisée
Injection dynamique des paramètres systèmes
Sur plusieurs serveurs
Au sein d’un même serveur

Installation d'un service et toutes ses
dépendances

Mise à jour d'un service
Le PaaS : gestion granulaire du cycle de vie

Minimisation du risque d’erreur
lors des déploiements

Processus de déploiement
pilotable par un système externe
Le PaaS : La haute disponibilité des services
Self-Healing (Résilience) : Reconstitution d'un service à l'identique suite à une
défaillance
Machine physique ou virtuelle défaillante
Service défaillant
Le PaaS : La haute disponibilité des services
Elasticité : Mise à l'échelle automatique des services et des applications en
fonction des exigences métiers
Scale-in : répondre à la crue de demandes par l'instanciation de nouvelles
instances.
Scale-out : suivre la décrue par la mise hors service des instances
IaaS

OpenSource Software to building private or public clouds -- OpenStack Fondation

Openstack is a framework to control various virtual items and associated storage
elements -- Ma vision
14
OpenStack : les possibilités
1. VM à la demande :
• Provisionning
• Snapshotting

2. Volumes
2. Réseaux
3. Stockage Objet pour les images de VM ou des fichiers
quelconques
4. Multi-tenante :
• Quotas par tenants
• Utilisateurs peut appartenir à plusieurs tenant
15
OpenStack : Historique

16
OpenStack : Grizzly Release

Horizon
Nova

Quantum

Swift (Object Storage)
Cinder (Block storage)

Glance
(VM Image Service)

Keystone
(Identity Service)

17
OpenStack : Grizzly Release
Les projets cores
Nova
: Service compute
Glance : Service image
Quantum : service réseaux
Cinder : Service stockage en bloque
Swift
: Service stockage objets
Projets communs
Keystone : service identitie
Horizon : Web Gui / Dashboard
Projet Librairie
Oslo : Code partagé (Shared infrastructure Code)
Projets en incubation (Officiel dans Havana)
Ceilometer : Service Metering/Monitoring
Heat
: Service orchestration
18
OpenStack : Organisation d’un projet

1.

Chaque projet a un Lead Technique élu (PTL)

2.

Séparation entre les équipes de devellopements et d'architectures

3.

Chaque projet possède une API RESTfull (JSON/HTTP) sauf Horizon

4.

Base de données séparée

19
OpenStack : Vue Conceptuelle

20
OpenStack : Architecture

21
OpenStack : Implémentation

22
OpenStack
UI : Horizon /CLI
Nova

Hypervisor

Keystone DB

Queue

Scheduler
Conductor

Keystone Server

Compute Node

Nova API

Keystone

Nova-compute

Quantum

VM

Quantum Server
Nova DB

Network
Plugin/Agent

Cinder
Cinder API

Block Storage
Node
Queue

Glance

Storage

Glance API

Scheduler

Network Node

Cinder Vol

GlanceRegistery

DHCP/IPAM

Quantum DB

Swift
Proxy Server

Cinder DB

Router/GW

Cinder DB

23
Object Store
Http : Chaque composant expose une API RESTful
AMQP :
SQL :
Native API :
iSCSI :

UI : Horizon /CLI
Nova

Hypervisor

Keystone DB

Queue

Scheduler
Conductor

Keystone Server

Compute Node

Nova API

Keystone

Nova-compute

Quantum

VM

Quantum Server
Nova DB

Network
Plugin/Agent

Cinder
Cinder API

Block Storage
Node
Queue

Glance

Storage

Glance API

Scheduler

Network Node

Cinder Vol

GlanceRegistery

DHCP/IPAM

Quantum DB

Swift
Proxy Server

Cinder DB

Router/GW

Cinder DB

Object Store
24
http : Chaque composant expose une API RESTful
AMQP : Les actions distribuées passent par la Queue
SQL :
Native API :
iSCSI :

UI : Horizon /CLI
Nova

Hypervisor

Keystone DB

Queue

Scheduler
Conductor

Keystone Server

Compute Node

Nova API

Keystone

Nova-compute

Quantum

VM

Quantum Server
Nova DB

Network
Plugin/Agent

Cinder
Cinder API

Block Storage
Node
Queue

Glance

Storage

Glance API

Scheduler

Network Node

Cinder Vol

GlanceRegistery

DHCP/IPAM

Quantum DB

Swift
Proxy Server

Cinder DB

Router/GW

Cinder DB

Object Store
25
Http: Chaque composant expose une API RESTful
AMQP : Les actions distribuées passent par la Queue
SQL : chaque service gère sa propre base de données
Native API :
iSCSI :

UI : Horizon /CLI
Nova

Hypervisor

Keystone DB

Queue

Scheduler
Conductor

Keystone Server

Compute Node

Nova API

Keystone

Nova-compute

Quantum

VM

Quantum Server
Nova DB

Network
Plugin/Agent

Cinder
Cinder API

Block Storage
Node
Queue

Glance

Storage

Glance API

Scheduler

Network Node

Cinder Vol

GlanceRegistery

DHCP/IPAM

Quantum DB

Swift
Proxy Server

Cinder DB

Router/GW

Cinder DB

Object Store
26
Http: Chaque composant expose une API RESTful
AMQP : Les actions distribuées passent par la Queue
SQL : chaque service gère sa propre base de données
Native API : Accès direct via un protocole propre
iSCSI :

UI : Horizon /CLI
Nova

Hypervisor

Keystone DB

Queue

Scheduler
Conductor

Keystone Server

Compute Node

Nova API

Keystone

Nova-compute

Quantum

VM

Quantum Server
Nova DB

Network
Plugin/Agent

Cinder
Cinder API

Block Storage
Node
Queue

Glance

Storage

Glance API

Scheduler

Network Node

Cinder Vol

GlanceRegistery

DHCP/IPAM

Quantum DB

Swift
Proxy Server

Cinder DB

Router/GW

Cinder DB

Object Store
27
Http: Chaque composant expose une API RESTful
AMQP : Les actions distribuées passent par la Queue
SQL : chaque service gère sa propre base de données
Native API : Accès direct via un protocole propre
iSCSI : Le montage des volumes avec le protocole iSCSI (block storage)

UI : Horizon /CLI
Nova

Hypervisor

Keystone DB

Queue

Scheduler
Conductor

Keystone Server

Compute Node

Nova API

Keystone

Nova-compute

Quantum

VM

Quantum Server
Nova DB

Network
Plugin/Agent

Cinder
Cinder API

Block Storage
Node
Queue

Glance

Storage

Glance API

Scheduler

Network Node

Cinder Vol

GlanceRegistery

DHCP/IPAM

Quantum DB

Swift
Proxy Server

Cinder DB

Router/GW

Cinder DB

Object Store
28
Cas d’utilisation création d’une VM
1. Une opération courante, mais complexe
2. Elle nécessite l’interaction avec tous les composants
d’OpenStack
3. Dans ce qui suit on admet que :
•
•
•
•

L’utilisateur existe déjà
Le tenant est crée
L’utilisateur à le droit d’accès à Horizon
Les quotas sont définit

29
Quotas
Limitation :
1. Network, Subnet, Port, Router,
Floatingip et security group.
2. VMs, Volumes
3. etc

Mécanisme utilisé dans les différentes API
d’OpenStack pour limiter le nombre de
ressources qu’un tenant peut créer ou
utiliser

Quotas

quantum.quota.ConfDriver :
1. Tous les projets auront les mêmes
quotas
2. Quotas définis dans le fichier de
conf

quantum.db.quota_db.DbQuotaDriver
1. chaque projet a ses propres Quotas
2. Les quotas sont stockés dans la BD
30
Connexion à Horizon
UI : Horizon /CLI
Nova

Keystone Server

Compute Node
Hypervisor

Nova API

Keystone DB

Queue

Scheduler
Conductor

Keystone

Nova-compute

Quantum

VM

Quantum Server
Nova DB

Network
Plugin/Agent

Cinder
Cinder API

Block Storage
Node
Queue

Scheduler
Cinder Vol

Glance

Storage

Glance API

Network Node

GlanceRegistery

Quantum DB

Swift
Proxy Server

DHCP/IPAM
Cinder DB

Router/GW

Cinder DB

Object Store
31
Horizon

OpenStack DashBoard (Horizon) fournie une interface
web pour la gestion des services OpenStack

32
Horizon
1. Stateless
2. Utilise memcached comme cache pour les sessions
3. Se met à jour via le polling de l’API Nova
4. Chaque composant OpenStack possède son propre module
dans Horizon

33
Connexion à Horizon
Les paramètre transmis sont
transformés en une requette HTTP
Post à destination de KeyStone

UI : Horizon /CLI
Nova

Keystone Server

Compute Node
Hypervisor

Nova API

Keystone DB

Queue

Scheduler
Conductor

Keystone

Nova-compute

Quantum

VM

Quantum Server
Nova DB

Network
Plugin/Agent

Cinder
Cinder API

Block Storage
Node
Queue

Scheduler
Cinder Vol

Glance

Storage

Glance API

Network Node

GlanceRegistery

Quantum DB

Swift
Proxy Server

DHCP/IPAM
Cinder DB

Router/GW

Cinder DB

Object Store
34
KeyStone
1. Keystone est un projet Openstack, il offre une gestion de
l’identité et des autorisations d’accès pour les différents
services d’OpenStack.
2. Keystone fourni un jeton d'autorisation. Ce jeton est ensuite
utilisé comme un laissé passé pour utiliser les ressources et
services tel que le stockage ou le calcul etc.
3. API RESTful
4. Communication via le protocole http ou http via SSL (https).

35
KeyStone
Un projet Openstack, il offre une gestion
de l’identité et des autorisations d’accès
pour les différents services d’OpenStack.

Fourni un jeton d'autorisation. Ce
jeton est utilisé comme un laissé passé
pour utiliser les ressources et services
tel que le stockage ou le calcul etc

Keystone

API RESTful

Communication via le protocole http
ou https via SSL.

36
KeyStone : Concepts
User : peut-être une
personne, un système ou
un service

Tenant (ou projet) : est un
conteneur pour grouper les
services ou les utilisateurs.

Endpoint

:

Une adresse
réseau, généralement décrite
par une URL, où un service peut
être accessible.

Keystone

Role : Un rôle comprend un ensemble de
droits et privilèges.

Les Credentials : les données qui permettent
d’authentifier un utilisateur ou un service :
1.
Login et Mot de passe
2.
Login et une clé
3.
Token qui vous a été délivré.

37
KeyStone : Architecture

KeyStone API
Rule management
interface and rule
based authorization

Policy
Backend

User, role and
tenant data

Token
Backend
Temporary
tokens

Catalogue
Backend

Identity
Backend

Endpoint
catalogue

38
KeyStone : Validation

1. Horizon envoi une requête HTTP à KeyStone

2. Keystone de son côté parse cette demande et vérifie les éléments suivants :
•

Authentification : la validité des credentials

•

Control d'accès : la validité du mapping User-Tenant-Role

•

Autorisation (droit d’accès) : La requête demandé est accessible pour l'utilisateur en question

39
KeyStone : Validation

40
Connexion à Horizon
KeyStone envoi à Horizon un Token
temporaire.

UI : Horizon /CLI
Nova

Keystone Server

Compute Node
Hypervisor

Nova API

Keystone DB

Queue

Scheduler
Conductor

Keystone

Nova-compute

Quantum

VM

Quantum Server
Nova DB

Network
Plugin/Agent

Cinder
Cinder API

Block Storage
Node
Queue

Scheduler
Cinder Vol

Glance

Storage

Glance API

Network Node

GlanceRegistery

Quantum DB

Swift
Proxy Server

DHCP/IPAM
Cinder DB

Router/GW

Cinder DB

Object Store
41
Interaction avec Nova
Requête de création d'une VM à partir d'Horizon :

1. Nom de la VM
2. Image
3. Flavor (CPU, Mémoire, disque)
4. Réseau
5. Options : SSH Keys, volume, commentaires, personnalites, etc

42
Nova API
Horizon envoi un http Post à Nova
API. Token récupérer auparavant est
envoyé également.

Nova

Keystone
Keystone Server

Compute Node
Hypervisor

Nova API

Keystone DB

Queue

Scheduler
Conductor

UI : Horizon /CLI

Nova-compute

Quantum

VM

Quantum Server
Nova DB

Network
Plugin/Agent

Cinder
Cinder API

Block Storage
Node
Queue

Scheduler
Cinder Vol

Glance

Storage

Glance API

Network Node

GlanceRegistery

Quantum DB

Swift
Proxy Server

DHCP/IPAM
Cinder DB

Router/GW

Cinder DB

Object Store
43
Nova
permet
l'exécution
de
plusieurs
instances
de
machines virtuelles sur un
nombre illimité d'hôtes
exécutant nova-compute

Le composant de calcul du
système d'exploitation Cloud

Nova

permet
de
créer
un
environnement
Cloud
Computing
hautement
évolutif et redondant

Composé principalement de :
1.
Nova API
2.
Scheduler
3.
Conductor
4.
Nova-Compute
44
Nova API

Horizon (UI)

Nova (CLI)
Compute API

Euca-tools(CLI)
EC2-API

Nova-Api

45
Nova API
Nova API envoi le token à KeyStone
pour validation.

UI : Horizon /CLI
Nova

Keystone Server

Compute Node
Hypervisor

Nova API

Keystone DB

Queue

Scheduler
Conductor

Keystone

Nova-compute

Quantum

VM

Quantum Server
Nova DB

Network
Plugin/Agent

Cinder
Cinder API

Block Storage
Node
Queue

Scheduler

Glance

Storage

Glance API

Network Node

GlanceRegistery

Quantum DB

Swift
Proxy Server

Cinder Vol

DHCP/IPAM
Cinder DB

Router/GW

Cinder DB

Object Store
46
Nova API
KeyStone valide le token. Il envoi à
Nova API une réponse http
contenant les infos d’acceptation
ou de rejet

UI : Horizon /CLI
Nova

Keystone Server

Compute Node
Hypervisor

Nova API

Keystone DB

Queue

Scheduler
Conductor

Keystone

Nova-compute

Quantum

VM

Quantum Server
Nova DB

Network
Plugin/Agent

Cinder
Cinder API

Block Storage
Node
Queue

Scheduler
Cinder Vol

Glance

Storage

Glance API

Network Node

GlanceRegistery

Quantum DB

Swift
Proxy Server

DHCP/IPAM
Cinder DB

Router/GW

Cinder DB

Object Store
47
Nova API
Nova API valide le token
en
utilisant CA, CERT & CRL récupéré
de KeyStone.

Nova

Keystone
Keystone Server

Compute Node
Hypervisor

Nova API

Keystone DB

Queue

Scheduler
Conductor

UI : Horizon /CLI

Nova-compute

Quantum

VM

Quantum Server
Nova DB

Network
Plugin/Agent

Cinder
Cinder API

Block Storage
Node
Queue

Scheduler
Cinder Vol

Glance

Storage

Glance API

Network Node

GlanceRegistery

Quantum DB

Swift
Proxy Server

DHCP/IPAM
Cinder DB

Router/GW

Cinder DB

48
Object Store
Nova API
Nova API parse la requête, crée un
objet python et insert l’objet dans
Nova DB. L’enregistrement ainsi crée
représente le premier état de la VM

Nova

Keystone
Keystone Server

Compute Node
Hypervisor

Nova API

Keystone DB

Queue

Scheduler
Conductor

UI : Horizon /CLI

Nova-compute

Quantum

VM

Quantum Server
Nova DB

Network
Plugin/Agent

Cinder
Cinder API

Block Storage
Node
Queue

Scheduler
Cinder Vol

Glance

Storage

Glance API

Network Node

GlanceRegistery

Quantum DB

Swift
Proxy Server

DHCP/IPAM
Cinder DB

Router/GW

Cinder DB

49
Object Store
Nova DataBases
Stocke l’état des objets
répartis sur les différents
Compute Nodes

Théoriquement n’importe
quel SGBD du marché
compatible.
Les
déploiement se font que sur
MySQL et PostgreSQL

Nova DataBase

Nova API communique avec
le
SGBD
via
l’ORM
SQLAlchemy

Le HA se fait via :
1. Master/Master ou Master/Slave
2. TCP/IP RAID1 (PeaceMaker/DRBD)

50
Message Queue (Bus de communication)
Nova API fait un rpc.call au
Scheduler. Le message publié
contient des infos sur la VM.

Nova

Keystone
Keystone Server

Compute Node
Hypervisor

Nova API

Keystone DB

Queue

Scheduler
Conductor

UI : Horizon /CLI

Nova-compute

Quantum

VM

Quantum Server
Nova DB

Network
Plugin/Agent

Cinder
Cinder API

Block Storage
Node
Queue

Glance

Storage

Glance API

Scheduler

Network Node

Cinder Vol

GlanceRegistery

DHCP/IPAM

Quantum DB

Swift
Proxy Server

Cinder DB

Router/GW

Cinder DB

51
Object Store
Message Queue (Bus de communication)
Le Bus de communication est un moyen unifié pour faire collaborer
les différents composants de NOVA

52
Message Queue (Bus de communication)
Scheduler récupère le message à
partir de la MQ

UI : Horizon /CLI
Nova

Keystone Server

Compute Node
Hypervisor

Nova API

Keystone DB

Queue

Scheduler
Conductor

Keystone

Nova-compute

Quantum

VM

Quantum Server
Nova DB

Network
Plugin/Agent

Cinder
Cinder API

Block Storage
Node
Queue

Scheduler
Cinder Vol

Glance

Storage

Glance API

Network Node

GlanceRegistery

Quantum DB

Swift
Proxy Server

DHCP/IPAM
Cinder DB

Router/GW

Cinder DB

Object Store
53
Nova Scheduler
Le demon Nova Scheduler détermine dans quel
Compute Node la requête va être exécutée
Création de la VM dans un
Compute Node particulier

Création des VMs d'un
tenant particulier dans des
Computes Nodes isolés

Nova Scheduler

Création des VMs dans des
Computes Nodes différents
54
Nova Scheduler

55
Nova Scheduler : Filtre

56
Nova Scheduler : Filtre

57
Nova Scheduler : Filtre
1. Les filtres sont configurés dans le fichier nova.conf
2. Plusieurs filtres peuvent être spécifiés en même temps
3. Il est possible de créer un filtre spécifique :
• Par héritage de la Class BaseHostFilter
• Surcharger hos_passes(self,host_state,filter_properties)

58
Nova Scheduler
Scheduler récupère la liste de tous
les nœuds computes et les filtres. Il
selectionne le nœud et il met à jour
la BD avec son ID

Nova

Keystone
Keystone Server

Compute Node
Hypervisor

Nova API

Keystone DB

Queue

Scheduler
Conductor

UI : Horizon /CLI

Nova-compute

Quantum

VM

Quantum Server
Nova DB

Network
Plugin/Agent

Cinder
Cinder API

Block Storage
Node
Queue

Scheduler
Cinder Vol

Glance

Storage

Glance API

Network Node

GlanceRegistery

Quantum DB

Swift
Proxy Server

DHCP/IPAM
Cinder DB

Router/GW

Cinder DB

Object Store
59
Nova Scheduler
Scheduler publie un message pour
nœud compute (ID) pour la création
d’une nouvelle VM

Nova

Keystone
Keystone Server

Compute Node
Hypervisor

Nova API

Keystone DB

Queue

Scheduler
Conductor

UI : Horizon /CLI

Nova-compute

Quantum

VM

Quantum Server
Nova DB

Network
Plugin/Agent

Cinder
Cinder API

Block Storage
Node
Queue

Scheduler

Glance

Storage

Glance API

Network Node

GlanceRegistery

Quantum DB

Swift
Proxy Server

Cinder Vol

DHCP/IPAM
Cinder DB

Router/GW

Cinder DB

Object Store
60
Nova Compute
Nova compute récupère le message
qu’il lui y destiné à partir de la Queue

UI : Horizon /CLI
Nova

Keystone Server

Compute Node
Hypervisor

Nova API

Keystone DB

Queue

Scheduler
Conductor

Keystone

Nova-compute

Quantum

VM

Quantum Server
Nova DB

Network
Plugin/Agent

Cinder
Cinder API

Block Storage
Node
Queue

Scheduler

Glance

Storage

Glance API

Network Node

GlanceRegistery

Quantum DB

Swift
Proxy Server

Cinder Vol

DHCP/IPAM
Cinder DB

Router/GW

Cinder DB

Object Store
61
Nova Compute
1. nova-compute est un worker demon

2. Crée et met fin aux VM via l’API installer dans l'hyperviseur
•
•
•
•

XenAPI pour XenServer / XCP
libvirt pour KVM ou QEMU
VMwareAPI pour VMware
… etc.

62
Nova Compute
Nova compute envoi un message à
Conductor via la Queue pour
recuperer les infos sur la VM à créée

Nova

Keystone
Keystone Server

Compute Node
Hypervisor

Nova API

Keystone DB

Queue

Scheduler
Conductor

UI : Horizon /CLI

Nova-compute

Quantum

VM

Quantum Server
Nova DB

Network
Plugin/Agent

Cinder
Cinder API

Block Storage
Node
Queue

Glance

Storage

Glance API

Scheduler

Network Node

Cinder Vol

Quantum DB

Swift
GlanceRegistery

DHCP/IPAM

Proxy Server

Cinder DB

Router/GW

Cinder DB

Object Store
63
Nova Conductor
Le proxy Base de données
de Nova Compute

Elimine les connexion à
distance vers la BD

Nova Conductor

Scalabilité Horizontal

Schéma de la BD n’est plus visible
à Nova Compute

64
Nova Compute
Nova compute demande à Quantum
API de créer les éléments réseaux
pour la VM

UI : Horizon /CLI
Nova

Keystone Server

Compute Node
Hypervisor

Nova API

Keystone DB

Queue

Scheduler
Conductor

Keystone

Nova-compute

Quantum

VM

Quantum Server
Nova DB

Network
Plugin/Agent

Cinder
Cinder API

Block Storage
Node
Queue

Scheduler
Cinder Vol

Glance

Storage

Glance API

Network Node

GlanceRegistery

Quantum DB

Swift
Proxy Server

DHCP/IPAM
Cinder DB

Router/GW

Cinder DB

Object Store
65
Quantum
Propose la connectivité
réseau en tant que service
« Network as a service »

Expose une API qui permet aux
utilisateurs de créer leurs propres
réseaux, routeur et rattacher les
interfaces réseaux aux ports des
équipements réseaux crées

Quantum

Hautement configurable en
raison de son architecture
orienté plugin.

Séparation de la description
du
réseau
de
son
implémentation

66
Quantum
Allocation
réseau.

d’IPs

pour

chaque

Allocation des adresses MAC
Mettre à jour le DHCP avec
l’association IP /MAC

Quantum

Configuration du réseau
niveau 2 (L2) via quantum
plugin

Configuration du réseau L3,
Mise en place des GWs
(création de routeurs)

67
Quantum : Architecture
Quantum Server:
1.
2.
3.

Metadataagent
l3-agent

Implémente quantum API et ces extension
Impose le modèl network, subnet, portVM
Attribution d’adresse IP

Plugin agent:
1.
2.

S’exécute sur chaque nœud de calcul/Network
Connect les VMs aux réseaux

Quantum
Quantum Server
Plugin

plugin-agent

Dhcp agent:
1.
2.
3.

S’exécute sur chaque nœud network
Connect les VMs aux réseaux
Mettre à jour le DHCP

Queue

L3 agent:
1.
Quantum DB

dhcp-agent

2.

Implément les floating IP, ainsi que tous les
fonctionnalitées L3 (NAT, SNAT, …)
Un agent par réseau

Metatdata agent:
Médiation entre l3-agent, dhcp-agent et novametadata API Server
68
Quantum
Quantum configure l’IP, GW, la
connectivité L2, Security Group, etc

UI : Horizon /CLI
Nova

Keystone Server

Compute Node
Hypervisor

Nova API

Keystone DB

Queue

Scheduler
Conductor

Keystone

Nova-compute

Quantum

VM

Quantum Server
Nova DB

Network
Plugin/Agent

Cinder
Cinder API

Block Storage
Node
Queue

Scheduler
Cinder Vol

Glance

Storage

Glance API

Network Node

GlanceRegistery

Quantum DB

Swift
Proxy Server

DHCP/IPAM
Cinder DB

Router/GW

Cinder DB

Object Store
69
Quantum : Workflow

70
Quantum : Compute Node

71
Quantum : Network Node

72
Quantum : Network vue d’ensemble

73
Haute disponibilité du réseau
1. Chaque Agent de la stack réseau
envoi des Heartbeat à la Queue

1. DHCP Agent support le HA
2. L3 Agent dans la nouvelle release

2. Les états sont stockés dans la BD

HA

74
La sécurité dans le Cloud

La sécurité est un élément primordial dans le Cloud

75
La sécurité dans le Cloud
Un Cloud peut être abstrait comme une collection de composants logiques
(domaines de sécurité) :
1.
2.
3.

Fonction
Utilisateurs
Les problèmes de sécurité communs

76
La sécurité dans le Cloud
Management :

Public :
1.

Un espace entièrement non fiable de
l'infrastructure Cloud.
Toutes les données qui transitent ce domaine
doivent être protégées et répondre aux exigences
de la confidentialité et l'intégrité

2.

1. L'endroit où les services (APIs) interagissent.
2. Les réseaux dans ce domaine transportent des
données confidentielles telles que les
paramètres de configuration, noms d'utilisateur
et mots de passe.
3. Le trafic de commandement et de contrôle
réside habituellement dans ce domaine
4. Ce domaine doit être isolé et sécurisé

Domaine de
sécurité
Data :
1.
2.
3.

Concerne principalement les informations relatives
aux services de stockage au sein OpenStack.
La plupart des données qui traversent ce réseau
nécessitent une grande intégrité et confidentialité.
En fonction de type déploiement, il peut y avoir
aussi une forte exigence de disponibilité

Guest :
1.

Utilisé pour le trafic d'instance à instance

77
La sécurité dans le Cloud
Pontage des domaines de sécurité
1.

Un pont est un élément qui existe à l'intérieur d’un
ou plusieurs domaines de sécurité.

2.

Les ponts sont souvent le point faible dans une
architecture réseau.

3.

Tout composant construisant un pont entre des
domaines de sécurité doit être soigneusement
configuré.

4.

Un pont doit toujours être configuré pour répondre
aux exigences de sécurité et d’un niveau de
confiance.

5.

Les ponts devraient être une préoccupation
majeure en raison de la probabilité d'une attaque.
78
La sécurité dans le Cloud

La gestion des identités et
des accès dans OpenStack

1. Délégation de la gestion des
identités au service LDAP
2. Keystone V3 amène plus de
granularité

Approche

Sécurisations des Flux via
des protocoles de sécurité
tel que SSL/TLS

Connaître les failles de
sécurité du système et les
gérer

79
Cinder
Nova compute contacte Cinder pour
monter un volume qui existe déjà.

Nova

Keystone
Keystone Server

Compute Node
Hypervisor

Nova API

Keystone DB

Queue

Scheduler
Conductor

UI : Horizon /CLI

Nova-compute

Quantum

VM

Quantum Server
Nova DB

Network
Plugin/Agent

Cinder
Cinder API

Block Storage
Node
Queue

Scheduler
Cinder Vol

Glance

Storage

Glance API

Network Node

GlanceRegistery

Quantum DB

Swift
Proxy Server

DHCP/IPAM
Cinder DB

Router/GW

Cinder DB

Object Store
80
Cinder
Fournit un stockage POSIX.

Bloc Storage as a service

Le volume distant est vu
comme volume local

Compatible avec tous
fournisseur iSCSI du marché

les

Cinder

Un volume est attaché à une
instance VM à un instant t.

L’état
du
indépendant
VMs

volume
est
des instances

81
Cinder : Architecture/Workflow
Cinder API

Scheduler

Queue

Cinder Volume

Cinder DB

82
Cinder : driver

83
Cinder
Nova compute demande à iSCSI
Initiator et à l’hyperviseur de monter
le volume iSCSI comme un nouveau
volume dans la VM.

Nova

Keystone
Keystone Server

Compute Node
Hypervisor

Nova API

Keystone DB

Queue

Scheduler
Conductor

UI : Horizon /CLI

Nova-compute

Quantum

VM

Quantum Server
Nova DB

Network
Plugin/Agent

Cinder
Cinder API

Block Storage
Node
Queue

Scheduler

Glance

Storage

Glance API

Network Node

GlanceRegistery

Quantum DB

Swift
Proxy Server

Cinder Vol

DHCP/IPAM
Cinder DB

Router/GW

Cinder DB

Object Store
84
Montage d’un volume iSCSI
Pilote iSCSI
TCP/IP
Pilote carte réseau

Passerelle de stockage

85
Glance
Nova compute demande à Glance
l’image de la VM en précisant son ID.

UI : Horizon /CLI
Nova

Keystone Server

Compute Node
Hypervisor

Nova API

Keystone DB

Queue

Scheduler
Conductor

Keystone

Nova-compute

Quantum

VM

Quantum Server
Nova DB

Network
Plugin/Agent

Cinder
Cinder API

Block Storage
Node
Queue

Scheduler
Cinder Vol

Glance

Storage

Glance API

Network Node

GlanceRegistery

Quantum DB

Swift
Proxy Server

DHCP/IPAM
Cinder DB

Router/GW

Cinder DB

Object Store
86
Glance
Fournit un service de
catalogue pour le stockage et
l'interrogation des images de
disques virtuels

Support plusieurs types de stockages :
1. File System
2. http
3. Swift
4. Ceph

Glance

Support plusieurs types de
format d’image.

API RESTful

87
Glance : Architecture

88
Glance : Fonctionnalités
Image CRUD :
1. Create
2. Read
3. Update
4. Delete

Recherche d’image par :
1. Nom
2. Conteneur
3. Format d’image
4. Taille min/max, status, etc

Glance

Image cache

89
Glance : Formats d’image supporté

90
Glance
Glance renvoi un HTTP Get URI (Path)
si l’image ID fourni existe.

UI : Horizon /CLI
Nova

Keystone Server

Compute Node
Hypervisor

Nova API

Keystone DB

Queue

Scheduler
Conductor

Keystone

Nova-compute

Quantum

VM

Quantum Server
Nova DB

Network
Plugin/Agent

Cinder
Cinder API

Block Storage
Node
Queue

Scheduler
Cinder Vol

Glance

Storage

Glance API

Network Node

GlanceRegistery

Quantum DB

Swift
Proxy Server

DHCP/IPAM
Cinder DB

Router/GW

Cinder DB

Object Store
91
Nova compute
Nova
compute
recupère
les
informations sur la VM à partir de la
BD. Il crée la commande de création
de la VM et demande à l’hyperviseur
son exécution.

Nova

UI : Horizon /CLI

Keystone
Keystone Server

Compute Node
Hypervisor

Nova API

Keystone DB

Queue

Scheduler
Conductor

Dans le cas de KVM/libvirtd le
fichier de configuration de la VM
est XML.

Nova-compute

Quantum

VM

Quantum Server
Nova DB

Network
Plugin/Agent

Cinder
Cinder API

Block Storage
Node
Queue

Scheduler

Glance

Storage

Glance API

Network Node

GlanceRegistery

Quantum DB

Swift
Proxy Server

Cinder Vol

DHCP/IPAM
Cinder DB

Router/GW

Cinder DB

Object Store
92
Nova compute
Nova compute envoi un message à
Nova conductor pour mettre à jour la
BD avec le nouveau statut de la VM.

Nova

UI : Horizon /CLI

Keystone
Keystone Server

Compute Node
Hypervisor

Nova API

Keystone DB

Queue

Scheduler
Conductor

La communication iSCSI est initié.
Le volume distant est monté et il
est vu comme local.

Nova-compute

Quantum

VM

Quantum Server
Nova DB

Network
Plugin/Agent

Cinder
Cinder API

Block Storage
Node
Queue

Scheduler

Glance

Storage

Glance API

Network Node

GlanceRegistery

Quantum DB

Swift
Proxy Server

Cinder Vol

DHCP/IPAM
Cinder DB

Router/GW

Cinder DB

Object Store
93
Horizon
Horizon demande périodiquement
l’état de la VM à l’API Nova. Un état
que Nova API récupère à partir de la
BD.

Nova

Keystone
Keystone Server

Compute Node
Hypervisor

Nova API

Keystone DB

Queue

Scheduler
Conductor

UI : Horizon /CLI

Nova-compute

Quantum

VM

Quantum Server
Nova DB

Network
Plugin/Agent

Cinder
Cinder API

Block Storage
Node
Queue

Glance

Storage

Glance API

Scheduler

Network Node

Cinder Vol

Quantum DB

Swift
GlanceRegistery

DHCP/IPAM

Proxy Server

Cinder DB

Router/GW

Cinder DB

Object Store
94
Synthèse

95
OpenStack : Implémentation

96
Openstack : Les nouveaux de la classe

97

Mais conteúdo relacionado

Mais procurados

OpenStack 2014 - Entre projet et stratégie
OpenStack 2014 - Entre projet et stratégieOpenStack 2014 - Entre projet et stratégie
OpenStack 2014 - Entre projet et stratégieSavoir-faire Linux
 
OpenStack - open source au service du Cloud
OpenStack - open source au service du CloudOpenStack - open source au service du Cloud
OpenStack - open source au service du CloudLINAGORA
 
OpenStack & DevOps, l'Open Source au service du Cloud
OpenStack & DevOps, l'Open Source au service du CloudOpenStack & DevOps, l'Open Source au service du Cloud
OpenStack & DevOps, l'Open Source au service du CloudMichel-Marie Maudet
 
OpenStack: stratégies et composants - Mars 2014 - Montréal - Québec - Canada
OpenStack: stratégies et composants - Mars 2014 - Montréal - Québec - CanadaOpenStack: stratégies et composants - Mars 2014 - Montréal - Québec - Canada
OpenStack: stratégies et composants - Mars 2014 - Montréal - Québec - CanadaJonathan Le Lous
 
OpenStack dans la pratique
OpenStack dans la pratiqueOpenStack dans la pratique
OpenStack dans la pratiqueOsones
 
Introduction à OpenStack
Introduction à OpenStackIntroduction à OpenStack
Introduction à OpenStackAnDaolVras
 
Quoi de neuf dans OpenStack - Christophe Sauthier / Objectif Libre lors du Me...
Quoi de neuf dans OpenStack - Christophe Sauthier / Objectif Libre lors du Me...Quoi de neuf dans OpenStack - Christophe Sauthier / Objectif Libre lors du Me...
Quoi de neuf dans OpenStack - Christophe Sauthier / Objectif Libre lors du Me...Objectif Libre
 
20151118 Retour d'Expérience : déploiement Cloud OpenStack chez un opérateur
20151118 Retour d'Expérience : déploiement Cloud OpenStack chez un opérateur20151118 Retour d'Expérience : déploiement Cloud OpenStack chez un opérateur
20151118 Retour d'Expérience : déploiement Cloud OpenStack chez un opérateurObjectif Libre
 
Mise en place d’une infrastructure cloud basée sur cloudstack
Mise en place d’une infrastructure cloud basée sur cloudstackMise en place d’une infrastructure cloud basée sur cloudstack
Mise en place d’une infrastructure cloud basée sur cloudstackchammem
 
Présentation d'OpenStack par Savoir-Faire Linux CI
Présentation d'OpenStack par Savoir-Faire Linux CIPrésentation d'OpenStack par Savoir-Faire Linux CI
Présentation d'OpenStack par Savoir-Faire Linux CIDiaby Aïcha Yasmine
 
Presentation cloud&drinks
Presentation cloud&drinksPresentation cloud&drinks
Presentation cloud&drinksIkoula
 
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...Microsoft
 
Azure Service Fabric pour les développeurs
Azure Service Fabric pour les développeursAzure Service Fabric pour les développeurs
Azure Service Fabric pour les développeursMicrosoft
 
Administration et supervision depuis le Cloud avec Azure Logs Analytics
Administration et supervision depuis le Cloud avec Azure Logs AnalyticsAdministration et supervision depuis le Cloud avec Azure Logs Analytics
Administration et supervision depuis le Cloud avec Azure Logs AnalyticsMicrosoft
 
LE CLOUD CEGID ET PROJECT SI
LE CLOUD CEGID ET PROJECT SILE CLOUD CEGID ET PROJECT SI
LE CLOUD CEGID ET PROJECT SIPROJECT SI
 
OpenStack 2013.2 "Havana" - Cloud - Open Source - France
OpenStack 2013.2 "Havana" - Cloud - Open Source - FranceOpenStack 2013.2 "Havana" - Cloud - Open Source - France
OpenStack 2013.2 "Havana" - Cloud - Open Source - FranceJonathan Le Lous
 
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...Microsoft
 
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...Microsoft
 
Plan de Reprise d'Activité avec Azure Site Recovery
Plan de Reprise d'Activité avec Azure Site RecoveryPlan de Reprise d'Activité avec Azure Site Recovery
Plan de Reprise d'Activité avec Azure Site RecoveryMicrosoft
 

Mais procurados (20)

OpenStack 2014 - Entre projet et stratégie
OpenStack 2014 - Entre projet et stratégieOpenStack 2014 - Entre projet et stratégie
OpenStack 2014 - Entre projet et stratégie
 
OpenStack - open source au service du Cloud
OpenStack - open source au service du CloudOpenStack - open source au service du Cloud
OpenStack - open source au service du Cloud
 
OpenStack & DevOps, l'Open Source au service du Cloud
OpenStack & DevOps, l'Open Source au service du CloudOpenStack & DevOps, l'Open Source au service du Cloud
OpenStack & DevOps, l'Open Source au service du Cloud
 
OpenStack: stratégies et composants - Mars 2014 - Montréal - Québec - Canada
OpenStack: stratégies et composants - Mars 2014 - Montréal - Québec - CanadaOpenStack: stratégies et composants - Mars 2014 - Montréal - Québec - Canada
OpenStack: stratégies et composants - Mars 2014 - Montréal - Québec - Canada
 
OpenStack dans la pratique
OpenStack dans la pratiqueOpenStack dans la pratique
OpenStack dans la pratique
 
Introduction à OpenStack
Introduction à OpenStackIntroduction à OpenStack
Introduction à OpenStack
 
Quoi de neuf dans OpenStack - Christophe Sauthier / Objectif Libre lors du Me...
Quoi de neuf dans OpenStack - Christophe Sauthier / Objectif Libre lors du Me...Quoi de neuf dans OpenStack - Christophe Sauthier / Objectif Libre lors du Me...
Quoi de neuf dans OpenStack - Christophe Sauthier / Objectif Libre lors du Me...
 
20151118 Retour d'Expérience : déploiement Cloud OpenStack chez un opérateur
20151118 Retour d'Expérience : déploiement Cloud OpenStack chez un opérateur20151118 Retour d'Expérience : déploiement Cloud OpenStack chez un opérateur
20151118 Retour d'Expérience : déploiement Cloud OpenStack chez un opérateur
 
Mise en place d’une infrastructure cloud basée sur cloudstack
Mise en place d’une infrastructure cloud basée sur cloudstackMise en place d’une infrastructure cloud basée sur cloudstack
Mise en place d’une infrastructure cloud basée sur cloudstack
 
Présentation d'OpenStack par Savoir-Faire Linux CI
Présentation d'OpenStack par Savoir-Faire Linux CIPrésentation d'OpenStack par Savoir-Faire Linux CI
Présentation d'OpenStack par Savoir-Faire Linux CI
 
Presentation cloud&drinks
Presentation cloud&drinksPresentation cloud&drinks
Presentation cloud&drinks
 
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
 
Azure Service Fabric pour les développeurs
Azure Service Fabric pour les développeursAzure Service Fabric pour les développeurs
Azure Service Fabric pour les développeurs
 
Administration et supervision depuis le Cloud avec Azure Logs Analytics
Administration et supervision depuis le Cloud avec Azure Logs AnalyticsAdministration et supervision depuis le Cloud avec Azure Logs Analytics
Administration et supervision depuis le Cloud avec Azure Logs Analytics
 
LE CLOUD CEGID ET PROJECT SI
LE CLOUD CEGID ET PROJECT SILE CLOUD CEGID ET PROJECT SI
LE CLOUD CEGID ET PROJECT SI
 
OpenStack 2013.2 "Havana" - Cloud - Open Source - France
OpenStack 2013.2 "Havana" - Cloud - Open Source - FranceOpenStack 2013.2 "Havana" - Cloud - Open Source - France
OpenStack 2013.2 "Havana" - Cloud - Open Source - France
 
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
 
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
 
Plan de Reprise d'Activité avec Azure Site Recovery
Plan de Reprise d'Activité avec Azure Site RecoveryPlan de Reprise d'Activité avec Azure Site Recovery
Plan de Reprise d'Activité avec Azure Site Recovery
 
Introduction à Cassandra
Introduction à CassandraIntroduction à Cassandra
Introduction à Cassandra
 

Semelhante a Le Cloud IaaS & PaaS, OpenStack réseau et sécurité

Orchestrating Docker in production - TIAD Camp Docker
Orchestrating Docker in production - TIAD Camp DockerOrchestrating Docker in production - TIAD Camp Docker
Orchestrating Docker in production - TIAD Camp DockerThe Incredible Automation Day
 
Introduction à Cloud Foundry et au PaaS
Introduction à Cloud Foundry et au PaaSIntroduction à Cloud Foundry et au PaaS
Introduction à Cloud Foundry et au PaaSGerard Konan
 
Prez -chtijug-29032016-(micro)services, loadbalancing et gestion des erreurs ...
Prez -chtijug-29032016-(micro)services, loadbalancing et gestion des erreurs ...Prez -chtijug-29032016-(micro)services, loadbalancing et gestion des erreurs ...
Prez -chtijug-29032016-(micro)services, loadbalancing et gestion des erreurs ...Christophe Furmaniak
 
AWS Summit Paris - Track 4 - Session 2 - Migration Cloud, modernisation des a...
AWS Summit Paris - Track 4 - Session 2 - Migration Cloud, modernisation des a...AWS Summit Paris - Track 4 - Session 2 - Migration Cloud, modernisation des a...
AWS Summit Paris - Track 4 - Session 2 - Migration Cloud, modernisation des a...Amazon Web Services
 
ProActive Workflows & Scheduling
ProActive Workflows & Scheduling ProActive Workflows & Scheduling
ProActive Workflows & Scheduling Activeeon
 
Java in ze Cloud - INSA - nov. 2012
Java in ze Cloud - INSA - nov. 2012Java in ze Cloud - INSA - nov. 2012
Java in ze Cloud - INSA - nov. 2012Alexis Hassler
 
Cloud computing cours in power point chap
Cloud computing cours in power point chapCloud computing cours in power point chap
Cloud computing cours in power point chapaichafarahsouelmi
 
XebiCon'17 : Migration d’une application web vers un Paas Openshift - Akram B...
XebiCon'17 : Migration d’une application web vers un Paas Openshift - Akram B...XebiCon'17 : Migration d’une application web vers un Paas Openshift - Akram B...
XebiCon'17 : Migration d’une application web vers un Paas Openshift - Akram B...Publicis Sapient Engineering
 
Intellicore Tech Talk 10 - Apache Web Server Internals
Intellicore Tech Talk 10 - Apache Web Server InternalsIntellicore Tech Talk 10 - Apache Web Server Internals
Intellicore Tech Talk 10 - Apache Web Server InternalsNeil Armstrong
 
MSCS : Windows Server 2016 Quoi de neuf pour votre datacenter
MSCS : Windows Server 2016 Quoi de neuf pour votre datacenterMSCS : Windows Server 2016 Quoi de neuf pour votre datacenter
MSCS : Windows Server 2016 Quoi de neuf pour votre datacenterMickaelLOPES91
 
Azure IaaS : concevoir en architecture sécurisée en tirant bénéfice des nouve...
Azure IaaS : concevoir en architecture sécurisée en tirant bénéfice des nouve...Azure IaaS : concevoir en architecture sécurisée en tirant bénéfice des nouve...
Azure IaaS : concevoir en architecture sécurisée en tirant bénéfice des nouve...Microsoft Décideurs IT
 
Azure IaaS : concevoir en architecture sécurisée en tirant bénéfice des nouve...
Azure IaaS : concevoir en architecture sécurisée en tirant bénéfice des nouve...Azure IaaS : concevoir en architecture sécurisée en tirant bénéfice des nouve...
Azure IaaS : concevoir en architecture sécurisée en tirant bénéfice des nouve...Microsoft Technet France
 
Solutions linux ec2 surveillance
Solutions linux ec2 surveillanceSolutions linux ec2 surveillance
Solutions linux ec2 surveillanceSergio Loureiro
 
Surveillance Amazon EC2 infrastructure (french)
Surveillance Amazon EC2 infrastructure (french) Surveillance Amazon EC2 infrastructure (french)
Surveillance Amazon EC2 infrastructure (french) Sergio Loureiro
 
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...MSDEVMTL
 
Développez votre application Facebook avec Windows Azure
Développez votre application Facebook avec Windows AzureDéveloppez votre application Facebook avec Windows Azure
Développez votre application Facebook avec Windows AzureMicrosoft
 
SUSE Expert Days Paris 2018 – Sécurité et Gestion des Systèmes
SUSE Expert Days Paris 2018 – Sécurité et Gestion des SystèmesSUSE Expert Days Paris 2018 – Sécurité et Gestion des Systèmes
SUSE Expert Days Paris 2018 – Sécurité et Gestion des SystèmesSUSE
 
Tayachinadhi converti(2)
Tayachinadhi converti(2)Tayachinadhi converti(2)
Tayachinadhi converti(2)Nadhir Tayachi
 
De l'Open Source à l'Open API (in French)
De l'Open Source à l'Open API (in French)De l'Open Source à l'Open API (in French)
De l'Open Source à l'Open API (in French)Restlet
 

Semelhante a Le Cloud IaaS & PaaS, OpenStack réseau et sécurité (20)

Orchestrating Docker in production - TIAD Camp Docker
Orchestrating Docker in production - TIAD Camp DockerOrchestrating Docker in production - TIAD Camp Docker
Orchestrating Docker in production - TIAD Camp Docker
 
Introduction à Cloud Foundry et au PaaS
Introduction à Cloud Foundry et au PaaSIntroduction à Cloud Foundry et au PaaS
Introduction à Cloud Foundry et au PaaS
 
Prez -chtijug-29032016-(micro)services, loadbalancing et gestion des erreurs ...
Prez -chtijug-29032016-(micro)services, loadbalancing et gestion des erreurs ...Prez -chtijug-29032016-(micro)services, loadbalancing et gestion des erreurs ...
Prez -chtijug-29032016-(micro)services, loadbalancing et gestion des erreurs ...
 
AWS Summit Paris - Track 4 - Session 2 - Migration Cloud, modernisation des a...
AWS Summit Paris - Track 4 - Session 2 - Migration Cloud, modernisation des a...AWS Summit Paris - Track 4 - Session 2 - Migration Cloud, modernisation des a...
AWS Summit Paris - Track 4 - Session 2 - Migration Cloud, modernisation des a...
 
ProActive Workflows & Scheduling
ProActive Workflows & Scheduling ProActive Workflows & Scheduling
ProActive Workflows & Scheduling
 
Java in ze Cloud - INSA - nov. 2012
Java in ze Cloud - INSA - nov. 2012Java in ze Cloud - INSA - nov. 2012
Java in ze Cloud - INSA - nov. 2012
 
Cloud computing cours in power point chap
Cloud computing cours in power point chapCloud computing cours in power point chap
Cloud computing cours in power point chap
 
XebiCon'17 : Migration d’une application web vers un Paas Openshift - Akram B...
XebiCon'17 : Migration d’une application web vers un Paas Openshift - Akram B...XebiCon'17 : Migration d’une application web vers un Paas Openshift - Akram B...
XebiCon'17 : Migration d’une application web vers un Paas Openshift - Akram B...
 
Intellicore Tech Talk 10 - Apache Web Server Internals
Intellicore Tech Talk 10 - Apache Web Server InternalsIntellicore Tech Talk 10 - Apache Web Server Internals
Intellicore Tech Talk 10 - Apache Web Server Internals
 
MSCS : Windows Server 2016 Quoi de neuf pour votre datacenter
MSCS : Windows Server 2016 Quoi de neuf pour votre datacenterMSCS : Windows Server 2016 Quoi de neuf pour votre datacenter
MSCS : Windows Server 2016 Quoi de neuf pour votre datacenter
 
Azure IaaS : concevoir en architecture sécurisée en tirant bénéfice des nouve...
Azure IaaS : concevoir en architecture sécurisée en tirant bénéfice des nouve...Azure IaaS : concevoir en architecture sécurisée en tirant bénéfice des nouve...
Azure IaaS : concevoir en architecture sécurisée en tirant bénéfice des nouve...
 
Azure IaaS : concevoir en architecture sécurisée en tirant bénéfice des nouve...
Azure IaaS : concevoir en architecture sécurisée en tirant bénéfice des nouve...Azure IaaS : concevoir en architecture sécurisée en tirant bénéfice des nouve...
Azure IaaS : concevoir en architecture sécurisée en tirant bénéfice des nouve...
 
Solutions linux ec2 surveillance
Solutions linux ec2 surveillanceSolutions linux ec2 surveillance
Solutions linux ec2 surveillance
 
Surveillance Amazon EC2 infrastructure (french)
Surveillance Amazon EC2 infrastructure (french) Surveillance Amazon EC2 infrastructure (french)
Surveillance Amazon EC2 infrastructure (french)
 
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
 
Développez votre application Facebook avec Windows Azure
Développez votre application Facebook avec Windows AzureDéveloppez votre application Facebook avec Windows Azure
Développez votre application Facebook avec Windows Azure
 
SUSE Expert Days Paris 2018 – Sécurité et Gestion des Systèmes
SUSE Expert Days Paris 2018 – Sécurité et Gestion des SystèmesSUSE Expert Days Paris 2018 – Sécurité et Gestion des Systèmes
SUSE Expert Days Paris 2018 – Sécurité et Gestion des Systèmes
 
Tayachinadhi converti(2)
Tayachinadhi converti(2)Tayachinadhi converti(2)
Tayachinadhi converti(2)
 
De l'Open Source à l'Open API (in French)
De l'Open Source à l'Open API (in French)De l'Open Source à l'Open API (in French)
De l'Open Source à l'Open API (in French)
 
OVH Public Cloud : VM as a Service
OVH Public Cloud : VM as a ServiceOVH Public Cloud : VM as a Service
OVH Public Cloud : VM as a Service
 

Le Cloud IaaS & PaaS, OpenStack réseau et sécurité

  • 1. Le Cloud IaaS & PaaS OpenStack réseau et sécurité Cours Master 2 Sécurité des systèmes informatiques Université Paris-Est Créteil Val-de-Marne (Paris12) Noureddine BOUYAHIAOUI noureddine@bouyahiaoui.com 1
  • 2. Plan A. Cloud 1. 2. 3. 4. Concepts IaaS PaaS SaaS B. OpenStack Eco-Système 1. 2. 3. Définition Historique Projet C. OpenStack Architecture 1. 2. 3. Architecture logique Flux de création d’une VM Détail des composants 2
  • 3. Cloud ? Un modèle d'accès aux ressources informatiques (réseaux, serveurs, stockage, applications et services). Des ressources qui peuvent être rapidement approvisionnées avec un minimum d’effort de la part du fournisseur du service. IaaS PaaS ? SaaS Un type de calcul massivement évolutif où les capacités de IT sont livrées ‘en service’ aux clients en utilisant les technologies internet 3
  • 5. Cloud : Prérequis pour un Cloud opérationnel Automatisation des déploiements API Faciliter les déploiements et réduire les temps d’attente Une interaction simplifiée et granulaire Contrôle financier Rationalisation des coûts Clouds publics Clouds privés Sécurité Evoluer en fonction du contexte Clouds Spécialisés Mise à l'échelle et monitoring Connaître les goulots d'étranglement et être capable de les corriger. 5
  • 6. IaaS Fournit une infrastructure virtuelle à la demande qui évolue et s'adapte aux nouveaux besoins de votre entreprise Fournit des solutions de stockage et de sauvegarde évolutives et durables pour toutes les données, quelle que soit leur taille Fournit un modèles réseaux souples pour répondre aux besoins des différentes applications et groupes d'utilisateurs Fournit un accès sécurisé et granulaire aux différents composants de l’infrastructure via des flux sécurisés et une gestion centralisée de l'identité 6
  • 7. IaaS : Le compute APIs API REST Une plate-forme ouverte, évolutive et horizontalement scalable Hyperviseur agnostique: Xen ,XenServer, Hyper-V, KVM, ESX Hardware agnostique 7
  • 8. IaaS : Le Stockage APIs API REST Files Files Files Stockage d'objets redondant et évolutif supportant jusqu’à des Peta-octets de données. Files Hardware agnostique 8
  • 9. IaaS : Une gestion centralisé de l'identité, des rôles et de la sécurité des flux SSL/TLS SSL/TLS Clouds privés APIs LDAP Toutes les autorisations d’accès de tous les composant d’OpenStack passe par un LDAP. SSL/TLS 9
  • 10. Le PaaS : gestion granulaire du cycle de vie Un déploiement automatisé et reproductible : Pas de saisie manuelle procédures de contrôle automatisée Injection dynamique des paramètres systèmes Sur plusieurs serveurs Au sein d’un même serveur Installation d'un service et toutes ses dépendances Mise à jour d'un service
  • 11. Le PaaS : gestion granulaire du cycle de vie Minimisation du risque d’erreur lors des déploiements Processus de déploiement pilotable par un système externe
  • 12. Le PaaS : La haute disponibilité des services Self-Healing (Résilience) : Reconstitution d'un service à l'identique suite à une défaillance Machine physique ou virtuelle défaillante Service défaillant
  • 13. Le PaaS : La haute disponibilité des services Elasticité : Mise à l'échelle automatique des services et des applications en fonction des exigences métiers Scale-in : répondre à la crue de demandes par l'instanciation de nouvelles instances. Scale-out : suivre la décrue par la mise hors service des instances
  • 14. IaaS OpenSource Software to building private or public clouds -- OpenStack Fondation Openstack is a framework to control various virtual items and associated storage elements -- Ma vision 14
  • 15. OpenStack : les possibilités 1. VM à la demande : • Provisionning • Snapshotting 2. Volumes 2. Réseaux 3. Stockage Objet pour les images de VM ou des fichiers quelconques 4. Multi-tenante : • Quotas par tenants • Utilisateurs peut appartenir à plusieurs tenant 15
  • 17. OpenStack : Grizzly Release Horizon Nova Quantum Swift (Object Storage) Cinder (Block storage) Glance (VM Image Service) Keystone (Identity Service) 17
  • 18. OpenStack : Grizzly Release Les projets cores Nova : Service compute Glance : Service image Quantum : service réseaux Cinder : Service stockage en bloque Swift : Service stockage objets Projets communs Keystone : service identitie Horizon : Web Gui / Dashboard Projet Librairie Oslo : Code partagé (Shared infrastructure Code) Projets en incubation (Officiel dans Havana) Ceilometer : Service Metering/Monitoring Heat : Service orchestration 18
  • 19. OpenStack : Organisation d’un projet 1. Chaque projet a un Lead Technique élu (PTL) 2. Séparation entre les équipes de devellopements et d'architectures 3. Chaque projet possède une API RESTfull (JSON/HTTP) sauf Horizon 4. Base de données séparée 19
  • 20. OpenStack : Vue Conceptuelle 20
  • 23. OpenStack UI : Horizon /CLI Nova Hypervisor Keystone DB Queue Scheduler Conductor Keystone Server Compute Node Nova API Keystone Nova-compute Quantum VM Quantum Server Nova DB Network Plugin/Agent Cinder Cinder API Block Storage Node Queue Glance Storage Glance API Scheduler Network Node Cinder Vol GlanceRegistery DHCP/IPAM Quantum DB Swift Proxy Server Cinder DB Router/GW Cinder DB 23 Object Store
  • 24. Http : Chaque composant expose une API RESTful AMQP : SQL : Native API : iSCSI : UI : Horizon /CLI Nova Hypervisor Keystone DB Queue Scheduler Conductor Keystone Server Compute Node Nova API Keystone Nova-compute Quantum VM Quantum Server Nova DB Network Plugin/Agent Cinder Cinder API Block Storage Node Queue Glance Storage Glance API Scheduler Network Node Cinder Vol GlanceRegistery DHCP/IPAM Quantum DB Swift Proxy Server Cinder DB Router/GW Cinder DB Object Store 24
  • 25. http : Chaque composant expose une API RESTful AMQP : Les actions distribuées passent par la Queue SQL : Native API : iSCSI : UI : Horizon /CLI Nova Hypervisor Keystone DB Queue Scheduler Conductor Keystone Server Compute Node Nova API Keystone Nova-compute Quantum VM Quantum Server Nova DB Network Plugin/Agent Cinder Cinder API Block Storage Node Queue Glance Storage Glance API Scheduler Network Node Cinder Vol GlanceRegistery DHCP/IPAM Quantum DB Swift Proxy Server Cinder DB Router/GW Cinder DB Object Store 25
  • 26. Http: Chaque composant expose une API RESTful AMQP : Les actions distribuées passent par la Queue SQL : chaque service gère sa propre base de données Native API : iSCSI : UI : Horizon /CLI Nova Hypervisor Keystone DB Queue Scheduler Conductor Keystone Server Compute Node Nova API Keystone Nova-compute Quantum VM Quantum Server Nova DB Network Plugin/Agent Cinder Cinder API Block Storage Node Queue Glance Storage Glance API Scheduler Network Node Cinder Vol GlanceRegistery DHCP/IPAM Quantum DB Swift Proxy Server Cinder DB Router/GW Cinder DB Object Store 26
  • 27. Http: Chaque composant expose une API RESTful AMQP : Les actions distribuées passent par la Queue SQL : chaque service gère sa propre base de données Native API : Accès direct via un protocole propre iSCSI : UI : Horizon /CLI Nova Hypervisor Keystone DB Queue Scheduler Conductor Keystone Server Compute Node Nova API Keystone Nova-compute Quantum VM Quantum Server Nova DB Network Plugin/Agent Cinder Cinder API Block Storage Node Queue Glance Storage Glance API Scheduler Network Node Cinder Vol GlanceRegistery DHCP/IPAM Quantum DB Swift Proxy Server Cinder DB Router/GW Cinder DB Object Store 27
  • 28. Http: Chaque composant expose une API RESTful AMQP : Les actions distribuées passent par la Queue SQL : chaque service gère sa propre base de données Native API : Accès direct via un protocole propre iSCSI : Le montage des volumes avec le protocole iSCSI (block storage) UI : Horizon /CLI Nova Hypervisor Keystone DB Queue Scheduler Conductor Keystone Server Compute Node Nova API Keystone Nova-compute Quantum VM Quantum Server Nova DB Network Plugin/Agent Cinder Cinder API Block Storage Node Queue Glance Storage Glance API Scheduler Network Node Cinder Vol GlanceRegistery DHCP/IPAM Quantum DB Swift Proxy Server Cinder DB Router/GW Cinder DB Object Store 28
  • 29. Cas d’utilisation création d’une VM 1. Une opération courante, mais complexe 2. Elle nécessite l’interaction avec tous les composants d’OpenStack 3. Dans ce qui suit on admet que : • • • • L’utilisateur existe déjà Le tenant est crée L’utilisateur à le droit d’accès à Horizon Les quotas sont définit 29
  • 30. Quotas Limitation : 1. Network, Subnet, Port, Router, Floatingip et security group. 2. VMs, Volumes 3. etc Mécanisme utilisé dans les différentes API d’OpenStack pour limiter le nombre de ressources qu’un tenant peut créer ou utiliser Quotas quantum.quota.ConfDriver : 1. Tous les projets auront les mêmes quotas 2. Quotas définis dans le fichier de conf quantum.db.quota_db.DbQuotaDriver 1. chaque projet a ses propres Quotas 2. Les quotas sont stockés dans la BD 30
  • 31. Connexion à Horizon UI : Horizon /CLI Nova Keystone Server Compute Node Hypervisor Nova API Keystone DB Queue Scheduler Conductor Keystone Nova-compute Quantum VM Quantum Server Nova DB Network Plugin/Agent Cinder Cinder API Block Storage Node Queue Scheduler Cinder Vol Glance Storage Glance API Network Node GlanceRegistery Quantum DB Swift Proxy Server DHCP/IPAM Cinder DB Router/GW Cinder DB Object Store 31
  • 32. Horizon OpenStack DashBoard (Horizon) fournie une interface web pour la gestion des services OpenStack 32
  • 33. Horizon 1. Stateless 2. Utilise memcached comme cache pour les sessions 3. Se met à jour via le polling de l’API Nova 4. Chaque composant OpenStack possède son propre module dans Horizon 33
  • 34. Connexion à Horizon Les paramètre transmis sont transformés en une requette HTTP Post à destination de KeyStone UI : Horizon /CLI Nova Keystone Server Compute Node Hypervisor Nova API Keystone DB Queue Scheduler Conductor Keystone Nova-compute Quantum VM Quantum Server Nova DB Network Plugin/Agent Cinder Cinder API Block Storage Node Queue Scheduler Cinder Vol Glance Storage Glance API Network Node GlanceRegistery Quantum DB Swift Proxy Server DHCP/IPAM Cinder DB Router/GW Cinder DB Object Store 34
  • 35. KeyStone 1. Keystone est un projet Openstack, il offre une gestion de l’identité et des autorisations d’accès pour les différents services d’OpenStack. 2. Keystone fourni un jeton d'autorisation. Ce jeton est ensuite utilisé comme un laissé passé pour utiliser les ressources et services tel que le stockage ou le calcul etc. 3. API RESTful 4. Communication via le protocole http ou http via SSL (https). 35
  • 36. KeyStone Un projet Openstack, il offre une gestion de l’identité et des autorisations d’accès pour les différents services d’OpenStack. Fourni un jeton d'autorisation. Ce jeton est utilisé comme un laissé passé pour utiliser les ressources et services tel que le stockage ou le calcul etc Keystone API RESTful Communication via le protocole http ou https via SSL. 36
  • 37. KeyStone : Concepts User : peut-être une personne, un système ou un service Tenant (ou projet) : est un conteneur pour grouper les services ou les utilisateurs. Endpoint : Une adresse réseau, généralement décrite par une URL, où un service peut être accessible. Keystone Role : Un rôle comprend un ensemble de droits et privilèges. Les Credentials : les données qui permettent d’authentifier un utilisateur ou un service : 1. Login et Mot de passe 2. Login et une clé 3. Token qui vous a été délivré. 37
  • 38. KeyStone : Architecture KeyStone API Rule management interface and rule based authorization Policy Backend User, role and tenant data Token Backend Temporary tokens Catalogue Backend Identity Backend Endpoint catalogue 38
  • 39. KeyStone : Validation 1. Horizon envoi une requête HTTP à KeyStone 2. Keystone de son côté parse cette demande et vérifie les éléments suivants : • Authentification : la validité des credentials • Control d'accès : la validité du mapping User-Tenant-Role • Autorisation (droit d’accès) : La requête demandé est accessible pour l'utilisateur en question 39
  • 41. Connexion à Horizon KeyStone envoi à Horizon un Token temporaire. UI : Horizon /CLI Nova Keystone Server Compute Node Hypervisor Nova API Keystone DB Queue Scheduler Conductor Keystone Nova-compute Quantum VM Quantum Server Nova DB Network Plugin/Agent Cinder Cinder API Block Storage Node Queue Scheduler Cinder Vol Glance Storage Glance API Network Node GlanceRegistery Quantum DB Swift Proxy Server DHCP/IPAM Cinder DB Router/GW Cinder DB Object Store 41
  • 42. Interaction avec Nova Requête de création d'une VM à partir d'Horizon : 1. Nom de la VM 2. Image 3. Flavor (CPU, Mémoire, disque) 4. Réseau 5. Options : SSH Keys, volume, commentaires, personnalites, etc 42
  • 43. Nova API Horizon envoi un http Post à Nova API. Token récupérer auparavant est envoyé également. Nova Keystone Keystone Server Compute Node Hypervisor Nova API Keystone DB Queue Scheduler Conductor UI : Horizon /CLI Nova-compute Quantum VM Quantum Server Nova DB Network Plugin/Agent Cinder Cinder API Block Storage Node Queue Scheduler Cinder Vol Glance Storage Glance API Network Node GlanceRegistery Quantum DB Swift Proxy Server DHCP/IPAM Cinder DB Router/GW Cinder DB Object Store 43
  • 44. Nova permet l'exécution de plusieurs instances de machines virtuelles sur un nombre illimité d'hôtes exécutant nova-compute Le composant de calcul du système d'exploitation Cloud Nova permet de créer un environnement Cloud Computing hautement évolutif et redondant Composé principalement de : 1. Nova API 2. Scheduler 3. Conductor 4. Nova-Compute 44
  • 45. Nova API Horizon (UI) Nova (CLI) Compute API Euca-tools(CLI) EC2-API Nova-Api 45
  • 46. Nova API Nova API envoi le token à KeyStone pour validation. UI : Horizon /CLI Nova Keystone Server Compute Node Hypervisor Nova API Keystone DB Queue Scheduler Conductor Keystone Nova-compute Quantum VM Quantum Server Nova DB Network Plugin/Agent Cinder Cinder API Block Storage Node Queue Scheduler Glance Storage Glance API Network Node GlanceRegistery Quantum DB Swift Proxy Server Cinder Vol DHCP/IPAM Cinder DB Router/GW Cinder DB Object Store 46
  • 47. Nova API KeyStone valide le token. Il envoi à Nova API une réponse http contenant les infos d’acceptation ou de rejet UI : Horizon /CLI Nova Keystone Server Compute Node Hypervisor Nova API Keystone DB Queue Scheduler Conductor Keystone Nova-compute Quantum VM Quantum Server Nova DB Network Plugin/Agent Cinder Cinder API Block Storage Node Queue Scheduler Cinder Vol Glance Storage Glance API Network Node GlanceRegistery Quantum DB Swift Proxy Server DHCP/IPAM Cinder DB Router/GW Cinder DB Object Store 47
  • 48. Nova API Nova API valide le token en utilisant CA, CERT & CRL récupéré de KeyStone. Nova Keystone Keystone Server Compute Node Hypervisor Nova API Keystone DB Queue Scheduler Conductor UI : Horizon /CLI Nova-compute Quantum VM Quantum Server Nova DB Network Plugin/Agent Cinder Cinder API Block Storage Node Queue Scheduler Cinder Vol Glance Storage Glance API Network Node GlanceRegistery Quantum DB Swift Proxy Server DHCP/IPAM Cinder DB Router/GW Cinder DB 48 Object Store
  • 49. Nova API Nova API parse la requête, crée un objet python et insert l’objet dans Nova DB. L’enregistrement ainsi crée représente le premier état de la VM Nova Keystone Keystone Server Compute Node Hypervisor Nova API Keystone DB Queue Scheduler Conductor UI : Horizon /CLI Nova-compute Quantum VM Quantum Server Nova DB Network Plugin/Agent Cinder Cinder API Block Storage Node Queue Scheduler Cinder Vol Glance Storage Glance API Network Node GlanceRegistery Quantum DB Swift Proxy Server DHCP/IPAM Cinder DB Router/GW Cinder DB 49 Object Store
  • 50. Nova DataBases Stocke l’état des objets répartis sur les différents Compute Nodes Théoriquement n’importe quel SGBD du marché compatible. Les déploiement se font que sur MySQL et PostgreSQL Nova DataBase Nova API communique avec le SGBD via l’ORM SQLAlchemy Le HA se fait via : 1. Master/Master ou Master/Slave 2. TCP/IP RAID1 (PeaceMaker/DRBD) 50
  • 51. Message Queue (Bus de communication) Nova API fait un rpc.call au Scheduler. Le message publié contient des infos sur la VM. Nova Keystone Keystone Server Compute Node Hypervisor Nova API Keystone DB Queue Scheduler Conductor UI : Horizon /CLI Nova-compute Quantum VM Quantum Server Nova DB Network Plugin/Agent Cinder Cinder API Block Storage Node Queue Glance Storage Glance API Scheduler Network Node Cinder Vol GlanceRegistery DHCP/IPAM Quantum DB Swift Proxy Server Cinder DB Router/GW Cinder DB 51 Object Store
  • 52. Message Queue (Bus de communication) Le Bus de communication est un moyen unifié pour faire collaborer les différents composants de NOVA 52
  • 53. Message Queue (Bus de communication) Scheduler récupère le message à partir de la MQ UI : Horizon /CLI Nova Keystone Server Compute Node Hypervisor Nova API Keystone DB Queue Scheduler Conductor Keystone Nova-compute Quantum VM Quantum Server Nova DB Network Plugin/Agent Cinder Cinder API Block Storage Node Queue Scheduler Cinder Vol Glance Storage Glance API Network Node GlanceRegistery Quantum DB Swift Proxy Server DHCP/IPAM Cinder DB Router/GW Cinder DB Object Store 53
  • 54. Nova Scheduler Le demon Nova Scheduler détermine dans quel Compute Node la requête va être exécutée Création de la VM dans un Compute Node particulier Création des VMs d'un tenant particulier dans des Computes Nodes isolés Nova Scheduler Création des VMs dans des Computes Nodes différents 54
  • 56. Nova Scheduler : Filtre 56
  • 57. Nova Scheduler : Filtre 57
  • 58. Nova Scheduler : Filtre 1. Les filtres sont configurés dans le fichier nova.conf 2. Plusieurs filtres peuvent être spécifiés en même temps 3. Il est possible de créer un filtre spécifique : • Par héritage de la Class BaseHostFilter • Surcharger hos_passes(self,host_state,filter_properties) 58
  • 59. Nova Scheduler Scheduler récupère la liste de tous les nœuds computes et les filtres. Il selectionne le nœud et il met à jour la BD avec son ID Nova Keystone Keystone Server Compute Node Hypervisor Nova API Keystone DB Queue Scheduler Conductor UI : Horizon /CLI Nova-compute Quantum VM Quantum Server Nova DB Network Plugin/Agent Cinder Cinder API Block Storage Node Queue Scheduler Cinder Vol Glance Storage Glance API Network Node GlanceRegistery Quantum DB Swift Proxy Server DHCP/IPAM Cinder DB Router/GW Cinder DB Object Store 59
  • 60. Nova Scheduler Scheduler publie un message pour nœud compute (ID) pour la création d’une nouvelle VM Nova Keystone Keystone Server Compute Node Hypervisor Nova API Keystone DB Queue Scheduler Conductor UI : Horizon /CLI Nova-compute Quantum VM Quantum Server Nova DB Network Plugin/Agent Cinder Cinder API Block Storage Node Queue Scheduler Glance Storage Glance API Network Node GlanceRegistery Quantum DB Swift Proxy Server Cinder Vol DHCP/IPAM Cinder DB Router/GW Cinder DB Object Store 60
  • 61. Nova Compute Nova compute récupère le message qu’il lui y destiné à partir de la Queue UI : Horizon /CLI Nova Keystone Server Compute Node Hypervisor Nova API Keystone DB Queue Scheduler Conductor Keystone Nova-compute Quantum VM Quantum Server Nova DB Network Plugin/Agent Cinder Cinder API Block Storage Node Queue Scheduler Glance Storage Glance API Network Node GlanceRegistery Quantum DB Swift Proxy Server Cinder Vol DHCP/IPAM Cinder DB Router/GW Cinder DB Object Store 61
  • 62. Nova Compute 1. nova-compute est un worker demon 2. Crée et met fin aux VM via l’API installer dans l'hyperviseur • • • • XenAPI pour XenServer / XCP libvirt pour KVM ou QEMU VMwareAPI pour VMware … etc. 62
  • 63. Nova Compute Nova compute envoi un message à Conductor via la Queue pour recuperer les infos sur la VM à créée Nova Keystone Keystone Server Compute Node Hypervisor Nova API Keystone DB Queue Scheduler Conductor UI : Horizon /CLI Nova-compute Quantum VM Quantum Server Nova DB Network Plugin/Agent Cinder Cinder API Block Storage Node Queue Glance Storage Glance API Scheduler Network Node Cinder Vol Quantum DB Swift GlanceRegistery DHCP/IPAM Proxy Server Cinder DB Router/GW Cinder DB Object Store 63
  • 64. Nova Conductor Le proxy Base de données de Nova Compute Elimine les connexion à distance vers la BD Nova Conductor Scalabilité Horizontal Schéma de la BD n’est plus visible à Nova Compute 64
  • 65. Nova Compute Nova compute demande à Quantum API de créer les éléments réseaux pour la VM UI : Horizon /CLI Nova Keystone Server Compute Node Hypervisor Nova API Keystone DB Queue Scheduler Conductor Keystone Nova-compute Quantum VM Quantum Server Nova DB Network Plugin/Agent Cinder Cinder API Block Storage Node Queue Scheduler Cinder Vol Glance Storage Glance API Network Node GlanceRegistery Quantum DB Swift Proxy Server DHCP/IPAM Cinder DB Router/GW Cinder DB Object Store 65
  • 66. Quantum Propose la connectivité réseau en tant que service « Network as a service » Expose une API qui permet aux utilisateurs de créer leurs propres réseaux, routeur et rattacher les interfaces réseaux aux ports des équipements réseaux crées Quantum Hautement configurable en raison de son architecture orienté plugin. Séparation de la description du réseau de son implémentation 66
  • 67. Quantum Allocation réseau. d’IPs pour chaque Allocation des adresses MAC Mettre à jour le DHCP avec l’association IP /MAC Quantum Configuration du réseau niveau 2 (L2) via quantum plugin Configuration du réseau L3, Mise en place des GWs (création de routeurs) 67
  • 68. Quantum : Architecture Quantum Server: 1. 2. 3. Metadataagent l3-agent Implémente quantum API et ces extension Impose le modèl network, subnet, portVM Attribution d’adresse IP Plugin agent: 1. 2. S’exécute sur chaque nœud de calcul/Network Connect les VMs aux réseaux Quantum Quantum Server Plugin plugin-agent Dhcp agent: 1. 2. 3. S’exécute sur chaque nœud network Connect les VMs aux réseaux Mettre à jour le DHCP Queue L3 agent: 1. Quantum DB dhcp-agent 2. Implément les floating IP, ainsi que tous les fonctionnalitées L3 (NAT, SNAT, …) Un agent par réseau Metatdata agent: Médiation entre l3-agent, dhcp-agent et novametadata API Server 68
  • 69. Quantum Quantum configure l’IP, GW, la connectivité L2, Security Group, etc UI : Horizon /CLI Nova Keystone Server Compute Node Hypervisor Nova API Keystone DB Queue Scheduler Conductor Keystone Nova-compute Quantum VM Quantum Server Nova DB Network Plugin/Agent Cinder Cinder API Block Storage Node Queue Scheduler Cinder Vol Glance Storage Glance API Network Node GlanceRegistery Quantum DB Swift Proxy Server DHCP/IPAM Cinder DB Router/GW Cinder DB Object Store 69
  • 71. Quantum : Compute Node 71
  • 72. Quantum : Network Node 72
  • 73. Quantum : Network vue d’ensemble 73
  • 74. Haute disponibilité du réseau 1. Chaque Agent de la stack réseau envoi des Heartbeat à la Queue 1. DHCP Agent support le HA 2. L3 Agent dans la nouvelle release 2. Les états sont stockés dans la BD HA 74
  • 75. La sécurité dans le Cloud La sécurité est un élément primordial dans le Cloud 75
  • 76. La sécurité dans le Cloud Un Cloud peut être abstrait comme une collection de composants logiques (domaines de sécurité) : 1. 2. 3. Fonction Utilisateurs Les problèmes de sécurité communs 76
  • 77. La sécurité dans le Cloud Management : Public : 1. Un espace entièrement non fiable de l'infrastructure Cloud. Toutes les données qui transitent ce domaine doivent être protégées et répondre aux exigences de la confidentialité et l'intégrité 2. 1. L'endroit où les services (APIs) interagissent. 2. Les réseaux dans ce domaine transportent des données confidentielles telles que les paramètres de configuration, noms d'utilisateur et mots de passe. 3. Le trafic de commandement et de contrôle réside habituellement dans ce domaine 4. Ce domaine doit être isolé et sécurisé Domaine de sécurité Data : 1. 2. 3. Concerne principalement les informations relatives aux services de stockage au sein OpenStack. La plupart des données qui traversent ce réseau nécessitent une grande intégrité et confidentialité. En fonction de type déploiement, il peut y avoir aussi une forte exigence de disponibilité Guest : 1. Utilisé pour le trafic d'instance à instance 77
  • 78. La sécurité dans le Cloud Pontage des domaines de sécurité 1. Un pont est un élément qui existe à l'intérieur d’un ou plusieurs domaines de sécurité. 2. Les ponts sont souvent le point faible dans une architecture réseau. 3. Tout composant construisant un pont entre des domaines de sécurité doit être soigneusement configuré. 4. Un pont doit toujours être configuré pour répondre aux exigences de sécurité et d’un niveau de confiance. 5. Les ponts devraient être une préoccupation majeure en raison de la probabilité d'une attaque. 78
  • 79. La sécurité dans le Cloud La gestion des identités et des accès dans OpenStack 1. Délégation de la gestion des identités au service LDAP 2. Keystone V3 amène plus de granularité Approche Sécurisations des Flux via des protocoles de sécurité tel que SSL/TLS Connaître les failles de sécurité du système et les gérer 79
  • 80. Cinder Nova compute contacte Cinder pour monter un volume qui existe déjà. Nova Keystone Keystone Server Compute Node Hypervisor Nova API Keystone DB Queue Scheduler Conductor UI : Horizon /CLI Nova-compute Quantum VM Quantum Server Nova DB Network Plugin/Agent Cinder Cinder API Block Storage Node Queue Scheduler Cinder Vol Glance Storage Glance API Network Node GlanceRegistery Quantum DB Swift Proxy Server DHCP/IPAM Cinder DB Router/GW Cinder DB Object Store 80
  • 81. Cinder Fournit un stockage POSIX. Bloc Storage as a service Le volume distant est vu comme volume local Compatible avec tous fournisseur iSCSI du marché les Cinder Un volume est attaché à une instance VM à un instant t. L’état du indépendant VMs volume est des instances 81
  • 82. Cinder : Architecture/Workflow Cinder API Scheduler Queue Cinder Volume Cinder DB 82
  • 84. Cinder Nova compute demande à iSCSI Initiator et à l’hyperviseur de monter le volume iSCSI comme un nouveau volume dans la VM. Nova Keystone Keystone Server Compute Node Hypervisor Nova API Keystone DB Queue Scheduler Conductor UI : Horizon /CLI Nova-compute Quantum VM Quantum Server Nova DB Network Plugin/Agent Cinder Cinder API Block Storage Node Queue Scheduler Glance Storage Glance API Network Node GlanceRegistery Quantum DB Swift Proxy Server Cinder Vol DHCP/IPAM Cinder DB Router/GW Cinder DB Object Store 84
  • 85. Montage d’un volume iSCSI Pilote iSCSI TCP/IP Pilote carte réseau Passerelle de stockage 85
  • 86. Glance Nova compute demande à Glance l’image de la VM en précisant son ID. UI : Horizon /CLI Nova Keystone Server Compute Node Hypervisor Nova API Keystone DB Queue Scheduler Conductor Keystone Nova-compute Quantum VM Quantum Server Nova DB Network Plugin/Agent Cinder Cinder API Block Storage Node Queue Scheduler Cinder Vol Glance Storage Glance API Network Node GlanceRegistery Quantum DB Swift Proxy Server DHCP/IPAM Cinder DB Router/GW Cinder DB Object Store 86
  • 87. Glance Fournit un service de catalogue pour le stockage et l'interrogation des images de disques virtuels Support plusieurs types de stockages : 1. File System 2. http 3. Swift 4. Ceph Glance Support plusieurs types de format d’image. API RESTful 87
  • 89. Glance : Fonctionnalités Image CRUD : 1. Create 2. Read 3. Update 4. Delete Recherche d’image par : 1. Nom 2. Conteneur 3. Format d’image 4. Taille min/max, status, etc Glance Image cache 89
  • 90. Glance : Formats d’image supporté 90
  • 91. Glance Glance renvoi un HTTP Get URI (Path) si l’image ID fourni existe. UI : Horizon /CLI Nova Keystone Server Compute Node Hypervisor Nova API Keystone DB Queue Scheduler Conductor Keystone Nova-compute Quantum VM Quantum Server Nova DB Network Plugin/Agent Cinder Cinder API Block Storage Node Queue Scheduler Cinder Vol Glance Storage Glance API Network Node GlanceRegistery Quantum DB Swift Proxy Server DHCP/IPAM Cinder DB Router/GW Cinder DB Object Store 91
  • 92. Nova compute Nova compute recupère les informations sur la VM à partir de la BD. Il crée la commande de création de la VM et demande à l’hyperviseur son exécution. Nova UI : Horizon /CLI Keystone Keystone Server Compute Node Hypervisor Nova API Keystone DB Queue Scheduler Conductor Dans le cas de KVM/libvirtd le fichier de configuration de la VM est XML. Nova-compute Quantum VM Quantum Server Nova DB Network Plugin/Agent Cinder Cinder API Block Storage Node Queue Scheduler Glance Storage Glance API Network Node GlanceRegistery Quantum DB Swift Proxy Server Cinder Vol DHCP/IPAM Cinder DB Router/GW Cinder DB Object Store 92
  • 93. Nova compute Nova compute envoi un message à Nova conductor pour mettre à jour la BD avec le nouveau statut de la VM. Nova UI : Horizon /CLI Keystone Keystone Server Compute Node Hypervisor Nova API Keystone DB Queue Scheduler Conductor La communication iSCSI est initié. Le volume distant est monté et il est vu comme local. Nova-compute Quantum VM Quantum Server Nova DB Network Plugin/Agent Cinder Cinder API Block Storage Node Queue Scheduler Glance Storage Glance API Network Node GlanceRegistery Quantum DB Swift Proxy Server Cinder Vol DHCP/IPAM Cinder DB Router/GW Cinder DB Object Store 93
  • 94. Horizon Horizon demande périodiquement l’état de la VM à l’API Nova. Un état que Nova API récupère à partir de la BD. Nova Keystone Keystone Server Compute Node Hypervisor Nova API Keystone DB Queue Scheduler Conductor UI : Horizon /CLI Nova-compute Quantum VM Quantum Server Nova DB Network Plugin/Agent Cinder Cinder API Block Storage Node Queue Glance Storage Glance API Scheduler Network Node Cinder Vol Quantum DB Swift GlanceRegistery DHCP/IPAM Proxy Server Cinder DB Router/GW Cinder DB Object Store 94
  • 97. Openstack : Les nouveaux de la classe 97