You are on page 1of 97

Le Cloud IaaS & PaaS

OpenStack rseau et scurit

Cours Master 2 Scurit des systmes informatiques


Universit Paris-Est Crteil Val-de-Marne (Paris12)

Noureddine BOUYAHIAOUI
noureddine@bouyahiaoui.com

1
Plan
A. Cloud
1. Concepts
2. IaaS
3. PaaS
4. SaaS

B. OpenStack Eco-Systme

1. Dfinition
2. Historique
3. Projet

C. OpenStack Architecture

1. Architecture logique
2. Flux de cration dune VM
3. Dtail des composants 2
Cloud ?
Un modle d'accs aux ressources informatiques (rseaux, serveurs, stockage,
applications et services). Des ressources qui peuvent tre rapidement approvisionnes
avec un minimum deffort de la part du fournisseur du service.

IaaS PaaS

?
SaaS
Un type de calcul massivement volutif o les capacits de IT sont livres en service
aux clients en utilisant les technologies internet
3
Cloud ?
Administration
ERP CRM
Analytics
SaaS Applications mtier

M C
S
o h

c PaaS n a
i r
u t g
r o e
i r B
t IaaS i a
n c
g k
Stockage CPU

Network
4
Cloud : Prrequis pour un Cloud oprationnel

Automatisation des dploiements API


Faciliter les dploiements et rduire les
temps dattente
Une interaction simplifie et granulaire

Contrle financier
Rationalisation des cots
Clouds
Clouds
publics
privs

Mise l'chelle et monitoring


Scurit Clouds Connatre les goulots d'tranglement et tre
Evoluer en fonction du contexte Spcialiss 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 donnes, quelle que soit leur taille

Fournit un modles rseaux souples pour rpondre aux besoins


des diffrentes applications et groupes d'utilisateurs

Fournit un accs scuris et granulaire aux diffrents composants


de linfrastructure via des flux scuriss et une gestion centralise
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 Stockage d'objets redondant


Files et volutif supportant jusqu
Files des Peta-octets de donnes.
Files

Hardware agnostique

8
IaaS : Une gestion centralis de l'identit, des rles et
de la scurit des flux

SSL/TLS
LDAP

SSL/TLS Toutes les autorisations


daccs de tous les composant
dOpenStack passe par un
Clouds LDAP.
APIs privs

SSL/TLS

9
Le PaaS : gestion granulaire du cycle de vie
Un dploiement automatis et reproductible :
Pas de saisie manuelle
procdures de contrle automatise
Injection dynamique des paramtres systmes
Sur plusieurs serveurs
Au sein dun mme serveur

Installation d'un service et toutes ses Mise jour d'un service


dpendances
Le PaaS : gestion granulaire du cycle de vie

Minimisation du risque derreur Processus de dploiement


lors des dploiements pilotable par un systme externe
Le PaaS : La haute disponibilit des services

Self-Healing (Rsilience) : Reconstitution d'un service l'identique suite une


dfaillance
Machine physique ou virtuelle dfaillante
Service dfaillant
Le PaaS : La haute disponibilit des services

Elasticit : Mise l'chelle automatique des services et des applications en


fonction des exigences mtiers
Scale-in : rpondre la crue de demandes par l'instanciation de nouvelles
instances.
Scale-out : suivre la dcrue par la mise hors service des instances
OpenSource Software to building private or public clouds -- OpenStack Fondation

IaaS

Openstack is a framework to control various virtual items and associated storage


elements -- Ma vision

14
OpenStack : les possibilits

1. VM la demande :
Provisionning
Snapshotting

2. Volumes

2. Rseaux

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

Quantum
Nova Swift (Object Storage)

Cinder (Block storage)

Glance Keystone
(VM Image Service) (Identity Service)

17
OpenStack : Grizzly Release

Les projets cores


Nova : Service compute
Glance : Service image
Quantum : service rseaux
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 dun projet

1. Chaque projet a un Lead Technique lu (PTL)

2. Sparation entre les quipes de devellopements et d'architectures

3. Chaque projet possde une API RESTfull (JSON/HTTP) sauf Horizon

4. Base de donnes spare

19
OpenStack : Vue Conceptuelle

20
OpenStack : Architecture

21
OpenStack : Implmentation

22
OpenStack

UI : Horizon /CLI
Keystone
Keystone Server
Nova Compute Node
Hypervisor Keystone DB
Nova API Queue

Scheduler Nova-compute Quantum


VM
Conductor Quantum Server
Nova DB
Network
Plugin/Agent
Cinder Block Storage Glance
Node Quantum DB

Cinder API Storage Glance API


Queue
GlanceRegistery
Swift
Scheduler Network Node
Proxy Server
Cinder Vol DHCP/IPAM
Cinder DB
Router/GW Cinder DB 23
Object Store
Http : Chaque composant expose une API RESTful
AMQP :
SQL :
Native API :
iSCSI :

UI : Horizon /CLI
Keystone
Keystone Server
Nova Compute Node
Hypervisor Keystone DB
Nova API Queue

Scheduler Nova-compute Quantum


VM
Conductor Quantum Server
Nova DB
Network
Plugin/Agent
Cinder Block Storage Glance
Node Quantum DB

Cinder API Storage Glance API


Queue
GlanceRegistery
Swift
Scheduler Network Node
Proxy Server
Cinder Vol DHCP/IPAM
Cinder DB
Router/GW Cinder DB Object Store
24
http : Chaque composant expose une API RESTful
AMQP : Les actions distribues passent par la Queue
SQL :
Native API :
iSCSI :

UI : Horizon /CLI
Keystone
Keystone Server
Nova Compute Node
Hypervisor Keystone DB
Nova API Queue

Scheduler Nova-compute Quantum


VM
Conductor Quantum Server
Nova DB
Network
Plugin/Agent
Cinder Block Storage Glance
Node Quantum DB

Cinder API Storage Glance API


Queue
GlanceRegistery
Swift
Scheduler Network Node
Proxy Server
Cinder Vol DHCP/IPAM
Cinder DB
Router/GW Cinder DB Object Store
25
Http: Chaque composant expose une API RESTful
AMQP : Les actions distribues passent par la Queue
SQL : chaque service gre sa propre base de donnes
Native API :
iSCSI :

UI : Horizon /CLI
Keystone
Keystone Server
Nova Compute Node
Hypervisor Keystone DB
Nova API Queue

Scheduler Nova-compute Quantum


VM
Conductor Quantum Server
Nova DB
Network
Plugin/Agent
Cinder Block Storage Glance
Node Quantum DB

Cinder API Storage Glance API


Queue
GlanceRegistery
Swift
Scheduler Network Node
Proxy Server
Cinder Vol DHCP/IPAM
Cinder DB
Router/GW Cinder DB Object Store
26
Http: Chaque composant expose une API RESTful
AMQP : Les actions distribues passent par la Queue
SQL : chaque service gre sa propre base de donnes
Native API : Accs direct via un protocole propre
iSCSI :

UI : Horizon /CLI
Keystone
Keystone Server
Nova Compute Node
Hypervisor Keystone DB
Nova API Queue

Scheduler Nova-compute Quantum


VM
Conductor Quantum Server
Nova DB
Network
Plugin/Agent
Cinder Block Storage Glance
Node Quantum DB

Cinder API Storage Glance API


Queue
GlanceRegistery
Swift
Scheduler Network Node
Proxy Server
Cinder Vol DHCP/IPAM
Cinder DB
Router/GW Cinder DB Object Store
27
Http: Chaque composant expose une API RESTful
AMQP : Les actions distribues passent par la Queue
SQL : chaque service gre sa propre base de donnes
Native API : Accs direct via un protocole propre
iSCSI : Le montage des volumes avec le protocole iSCSI (block storage)

UI : Horizon /CLI
Keystone
Keystone Server
Nova Compute Node
Hypervisor Keystone DB
Nova API Queue

Scheduler Nova-compute Quantum


VM
Conductor Quantum Server
Nova DB
Network
Plugin/Agent
Cinder Block Storage Glance
Node Quantum DB

Cinder API Storage Glance API


Queue
GlanceRegistery
Swift
Scheduler Network Node
Proxy Server
Cinder Vol DHCP/IPAM
Cinder DB
Router/GW Cinder DB Object Store
28
Cas dutilisation cration dune VM

1. Une opration courante, mais complexe

2. Elle ncessite linteraction avec tous les composants


dOpenStack

3. Dans ce qui suit on admet que :

Lutilisateur existe dj
Le tenant est cre
Lutilisateur le droit daccs Horizon
Les quotas sont dfinit

29
Quotas
Limitation :
Mcanisme utilis dans les diffrentes API 1. Network, Subnet, Port, Router,
dOpenStack pour limiter le nombre de Floatingip et security group.
ressources quun tenant peut crer ou 2. VMs, Volumes
utiliser 3. etc

Quotas

quantum.quota.ConfDriver : quantum.db.quota_db.DbQuotaDriver
1. Tous les projets auront les mmes
quotas 1. chaque projet a ses propres Quotas
2. Quotas dfinis dans le fichier de 2. Les quotas sont stocks dans la BD
conf
30
Connexion Horizon

UI : Horizon /CLI
Keystone
Keystone Server
Nova Compute Node
Hypervisor Keystone DB
Nova API Queue

Scheduler Nova-compute Quantum


VM
Conductor Quantum Server
Nova DB
Network
Plugin/Agent
Cinder Block Storage Glance
Node Quantum DB

Cinder API Storage Glance API


Queue
GlanceRegistery
Swift
Scheduler Network Node
Proxy Server
Cinder Vol 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 lAPI Nova

4. Chaque composant OpenStack possde son propre module


dans Horizon

33
Connexion Horizon
Les paramtre transmis sont
transforms en une requette HTTP
Post destination de KeyStone
UI : Horizon /CLI
Keystone
Keystone Server
Nova Compute Node
Hypervisor Keystone DB
Nova API Queue

Scheduler Nova-compute Quantum


VM
Conductor Quantum Server
Nova DB
Network
Plugin/Agent
Cinder Block Storage Glance
Node Quantum DB

Cinder API Storage Glance API


Queue
GlanceRegistery
Swift
Scheduler Network Node
Proxy Server
Cinder Vol DHCP/IPAM
Cinder DB
Router/GW Cinder DB Object Store
34
KeyStone

1. Keystone est un projet Openstack, il offre une gestion de


lidentit et des autorisations daccs pour les diffrents
services dOpenStack.

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 Fourni un jeton d'autorisation. Ce


de lidentit et des autorisations daccs jeton est utilis comme un laiss pass
pour les diffrents services dOpenStack. pour utiliser les ressources et services
tel que le stockage ou le calcul etc

Keystone

Communication via le protocole http


API RESTful
ou https via SSL.

36
KeyStone : Concepts

Endpoint : Une adresse


User : peut-tre une Tenant (ou projet) : est un
rseau, gnralement dcrite
personne, un systme ou conteneur pour grouper les
par une URL, o un service peut
un service services ou les utilisateurs.
tre accessible.

Keystone

Les Credentials : les donnes qui permettent


dauthentifier un utilisateur ou un service :
Role : Un rle comprend un ensemble de 1. Login et Mot de passe
droits et privilges. 2. Login et une cl
3. Token qui vous a t dlivr.

37
KeyStone : Architecture

KeyStone API
Rule management
User, role and
interface and rule
tenant data
based authorization

Policy Token Catalogue Identity


Backend Backend Backend Backend

Temporary Endpoint
tokens catalogue

38
KeyStone : Validation

1. Horizon envoi une requte HTTP KeyStone

2. Keystone de son ct parse cette demande et vrifie les lments suivants :

Authentification : la validit des credentials

Control d'accs : la validit du mapping User-Tenant-Role

Autorisation (droit daccs) : La requte demand est accessible pour l'utilisateur en question

39
KeyStone : Validation

40
Connexion Horizon
KeyStone envoi Horizon un Token
temporaire.

UI : Horizon /CLI
Keystone
Keystone Server
Nova Compute Node
Hypervisor Keystone DB
Nova API Queue

Scheduler Nova-compute Quantum


VM
Conductor Quantum Server
Nova DB
Network
Plugin/Agent
Cinder Block Storage Glance
Node Quantum DB

Cinder API Storage Glance API


Queue
GlanceRegistery
Swift
Scheduler Network Node
Proxy Server
Cinder Vol DHCP/IPAM
Cinder DB
Router/GW Cinder DB Object Store
41
Interaction avec Nova

Requte de cration d'une VM partir d'Horizon :

1. Nom de la VM

2. Image

3. Flavor (CPU, Mmoire, disque)

4. Rseau

5. Options : SSH Keys, volume, commentaires, personnalites, etc

42
Nova API

Horizon envoi un http Post Nova


API. Token rcuprer auparavant est
UI : Horizon /CLI
envoy galement. Keystone
Keystone Server
Nova Compute Node
Hypervisor Keystone DB
Nova API Queue

Scheduler Nova-compute Quantum


VM
Conductor Quantum Server
Nova DB
Network
Plugin/Agent
Cinder Block Storage Glance
Node Quantum DB

Cinder API Storage Glance API


Queue
Swift
Scheduler GlanceRegistery
Network Node
Proxy Server
Cinder Vol DHCP/IPAM
Cinder DB
Router/GW Cinder DB Object Store
43
Nova

permet l'excution de
plusieurs instances de
Le composant de calcul du
machines virtuelles sur un
systme d'exploitation Cloud
nombre illimit d'htes
excutant nova-compute

Nova

permet de crer un Compos principalement de :


environnement Cloud 1. Nova API
Computing hautement 2. Scheduler
volutif et redondant 3. Conductor
4. Nova-Compute

44
Nova API

Horizon (UI) Nova (CLI) Euca-tools(CLI)

Compute API EC2-API

Nova-Api

45
Nova API
Nova API envoi le token KeyStone
pour validation.
UI : Horizon /CLI
Keystone
Keystone Server
Nova Compute Node
Hypervisor Keystone DB
Nova API Queue

Scheduler Nova-compute Quantum


VM
Conductor Quantum Server
Nova DB
Network
Plugin/Agent
Cinder Block Storage Glance
Node Quantum DB

Cinder API Storage Glance API


Queue
GlanceRegistery
Swift
Scheduler Network Node
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 rponse http
contenant les infos dacceptation
ou de rejet
UI : Horizon /CLI
Keystone
Keystone Server
Nova Compute Node
Hypervisor Keystone DB
Nova API Queue

Scheduler Nova-compute Quantum


VM
Conductor Quantum Server
Nova DB
Network
Plugin/Agent
Cinder Block Storage Glance
Node Quantum DB

Cinder API Storage Glance API


Queue
GlanceRegistery
Swift
Scheduler Network Node
Proxy Server
Cinder Vol DHCP/IPAM
Cinder DB
Router/GW Cinder DB Object Store
47
Nova API

Nova API valide le token en


utilisant CA, CERT & CRL rcupr
UI : Horizon /CLI
de KeyStone.
Keystone
Keystone Server
Nova Compute Node
Hypervisor Keystone DB
Nova API Queue

Scheduler Nova-compute Quantum


VM
Conductor Quantum Server
Nova DB
Network
Plugin/Agent
Cinder Block Storage Glance
Node Quantum DB

Cinder API Storage Glance API


Queue
GlanceRegistery
Swift
Scheduler Network Node
Proxy Server
Cinder Vol DHCP/IPAM
Cinder DB
Router/GW Cinder DB 48
Object Store
Nova API
Nova API parse la requte, cre un
objet python et insert lobjet dans
Nova DB. Lenregistrement ainsi cre UI : Horizon /CLI
reprsente le premier tat de la VM Keystone
Keystone Server
Nova Compute Node
Hypervisor Keystone DB
Nova API Queue

Scheduler Nova-compute Quantum


VM
Conductor Quantum Server
Nova DB
Network
Plugin/Agent
Cinder Block Storage Glance
Node Quantum DB

Cinder API Storage Glance API


Queue
GlanceRegistery
Swift
Scheduler Network Node
Proxy Server
Cinder Vol DHCP/IPAM
Cinder DB
Router/GW Cinder DB 49
Object Store
Nova DataBases

Thoriquement nimporte
Stocke ltat des objets quel SGBD du march
rpartis sur les diffrents compatible. Les
Compute Nodes dploiement se font que sur
MySQL et PostgreSQL

Nova DataBase

Nova API communique avec


Le HA se fait via :
le SGBD via lORM 1. Master/Master ou Master/Slave
SQLAlchemy 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. UI : Horizon /CLI
Keystone
Keystone Server
Nova Compute Node
Hypervisor Keystone DB
Nova API Queue

Scheduler Nova-compute Quantum


VM
Conductor Quantum Server
Nova DB
Network
Plugin/Agent
Cinder Block Storage Glance
Node Quantum DB

Cinder API Storage Glance API


Queue
GlanceRegistery
Swift
Scheduler Network Node
Proxy Server
Cinder Vol DHCP/IPAM
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 diffrents composants de NOVA

52
Message Queue (Bus de communication)
Scheduler rcupre le message
partir de la MQ
UI : Horizon /CLI
Keystone
Keystone Server
Nova Compute Node
Hypervisor Keystone DB
Nova API Queue

Scheduler Nova-compute Quantum


VM
Conductor Quantum Server
Nova DB
Network
Plugin/Agent
Cinder Block Storage Glance
Node Quantum DB

Cinder API Storage Glance API


Queue
GlanceRegistery
Swift
Scheduler Network Node
Proxy Server
Cinder Vol DHCP/IPAM
Cinder DB
Router/GW Cinder DB Object Store
53
Nova Scheduler
Le demon Nova Scheduler dtermine dans quel
Compute Node la requte va tre excute

Cration des VMs d'un


Cration de la VM dans un tenant particulier dans des
Compute Node particulier Computes Nodes isols

Nova Scheduler

Cration des VMs dans des


Computes Nodes diffrents
54
Nova Scheduler

55
Nova Scheduler : Filtre

56
Nova Scheduler : Filtre

57
Nova Scheduler : Filtre

1. Les filtres sont configurs dans le fichier nova.conf

2. Plusieurs filtres peuvent tre spcifis en mme temps

3. Il est possible de crer un filtre spcifique :

Par hritage de la Class BaseHostFilter


Surcharger hos_passes(self,host_state,filter_properties)

58
Nova Scheduler
Scheduler rcupre la liste de tous
les nuds computes et les filtres. Il
selectionne le nud et il met jour UI : Horizon /CLI
la BD avec son ID Keystone
Keystone Server
Nova Compute Node
Hypervisor Keystone DB
Nova API Queue

Scheduler Nova-compute Quantum


VM
Conductor Quantum Server
Nova DB
Network
Plugin/Agent
Cinder Block Storage Glance
Node Quantum DB

Cinder API Storage Glance API


Queue
GlanceRegistery
Swift
Scheduler Network Node
Proxy Server
Cinder Vol DHCP/IPAM
Cinder DB
Router/GW Cinder DB Object Store
59
Nova Scheduler

Scheduler publie un message pour


nud compute (ID) pour la cration
dune nouvelle VM UI : Horizon /CLI
Keystone
Keystone Server
Nova Compute Node
Hypervisor Keystone DB
Nova API Queue

Scheduler Nova-compute Quantum


VM
Conductor Quantum Server
Nova DB
Network
Plugin/Agent
Cinder Block Storage Glance
Node Quantum DB

Cinder API Storage Glance API


Queue
GlanceRegistery
Swift
Scheduler Network Node
Proxy Server
Cinder Vol DHCP/IPAM
Cinder DB
Router/GW Cinder DB Object Store
60
Nova Compute
Nova compute rcupre le message
quil lui y destin partir de la Queue
UI : Horizon /CLI
Keystone
Keystone Server
Nova Compute Node
Hypervisor Keystone DB
Nova API Queue

Scheduler Nova-compute Quantum


VM
Conductor Quantum Server
Nova DB
Network
Plugin/Agent
Cinder Block Storage Glance
Node Quantum DB

Cinder API Storage Glance API


Queue
Swift
Scheduler Network Node GlanceRegistery
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. Cre et met fin aux VM via lAPI 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 cre
UI : Horizon /CLI
Keystone
Keystone Server
Nova Compute Node
Hypervisor Keystone DB
Nova API Queue

Scheduler Nova-compute Quantum


VM
Conductor Quantum Server
Nova DB
Network
Plugin/Agent
Cinder Block Storage Glance
Node Quantum DB

Cinder API Storage Glance API


Queue
Swift
Scheduler Network Node GlanceRegistery
Proxy Server
Cinder Vol DHCP/IPAM
Cinder DB
Object Store
Router/GW Cinder DB 63
Nova Conductor

Le proxy Base de donnes Elimine les connexion


de Nova Compute distance vers la BD

Nova Conductor

Scalabilit Horizontal Schma de la BD nest plus visible


Nova Compute

64
Nova Compute
Nova compute demande Quantum
API de crer les lments rseaux
pour la VM
UI : Horizon /CLI
Keystone
Keystone Server
Nova Compute Node
Hypervisor Keystone DB
Nova API Queue

Scheduler Nova-compute Quantum


VM
Conductor Quantum Server
Nova DB
Network
Plugin/Agent
Cinder Block Storage Glance
Node Quantum DB

Cinder API Storage Glance API


Queue
GlanceRegistery
Swift
Scheduler Network Node
Proxy Server
Cinder Vol DHCP/IPAM
Cinder DB
Cinder DB Object Store
65
Router/GW
Quantum

Expose une API qui permet aux


Propose la connectivit utilisateurs de crer leurs propres
rseau en tant que service rseaux, routeur et rattacher les
Network as a service interfaces rseaux aux ports des
quipements rseaux cres

Quantum

Hautement configurable en Sparation de la description


raison de son architecture du rseau de son
orient plugin. implmentation

66
Quantum

Allocation dIPs pour chaque


rseau.
Allocation des adresses MAC
Mettre jour le DHCP avec
lassociation IP /MAC

Quantum

Configuration du rseau Configuration du rseau L3,


niveau 2 (L2) via quantum Mise en place des GWs
plugin (cration de routeurs)

67
Quantum : Architecture
Quantum Server:
1. Implmente quantum API et ces extension
Metadata- 2. Impose le modl network, subnet, portVM
agent 3. Attribution dadresse IP

l3-agent Plugin agent:


1. Sexcute sur chaque nud de calcul/Network
2. Connect les VMs aux rseaux
Quantum
Quantum Server Dhcp agent:
plugin-agent
Plugin 1. Sexcute sur chaque nud network
2. Connect les VMs aux rseaux
3. Mettre jour le DHCP
Queue
L3 agent:
1. Implment les floating IP, ainsi que tous les
fonctionnalites L3 (NAT, SNAT, )
dhcp-agent 2. Un agent par rseau
Quantum DB

Metatdata agent:
Mdiation entre l3-agent, dhcp-agent et nova-
metadata API Server 68
Quantum
Quantum configure lIP, GW, la
connectivit L2, Security Group, etc

UI : Horizon /CLI
Keystone
Keystone Server
Nova Compute Node
Hypervisor Keystone DB
Nova API Queue

Scheduler Nova-compute Quantum


VM
Conductor Quantum Server
Nova DB
Network
Plugin/Agent
Cinder Block Storage Glance
Node Quantum DB

Cinder API Storage Glance API


Queue
Swift
Scheduler GlanceRegistery
Network Node
Proxy Server
Cinder Vol DHCP/IPAM
Cinder DB
Cinder DB Object Store
69
Router/GW
Quantum : Workflow

70
Quantum : Compute Node

71
Quantum : Network Node

72
Quantum : Network vue densemble

73
Haute disponibilit du rseau
1. Chaque Agent de la stack rseau
1. DHCP Agent support le HA
envoi des Heartbeat la Queue
2. L3 Agent dans la nouvelle release
2. Les tats sont stocks dans la BD

HA

74
La scurit dans le Cloud

La scurit est un lment primordial dans le Cloud

75
La scurit dans le Cloud
Un Cloud peut tre abstrait comme une collection de composants logiques
(domaines de scurit) :

1. Fonction
2. Utilisateurs
3. Les problmes de scurit communs

76
La scurit dans le Cloud
Management :
Public : 1. L'endroit o les services (APIs) interagissent.
1. Un espace entirement non fiable de
2. Les rseaux dans ce domaine transportent des
l'infrastructure Cloud.
donnes confidentielles telles que les
2. Toutes les donnes qui transitent ce domaine
paramtres de configuration, noms d'utilisateur
doivent tre protges et rpondre aux exigences
et mots de passe.
de la confidentialit et l'intgrit
3. Le trafic de commandement et de contrle
rside habituellement dans ce domaine
4. Ce domaine doit tre isol et scuris

Domaine de
scurit

Data :
1. Concerne principalement les informations relatives
aux services de stockage au sein OpenStack.
Guest :
2. La plupart des donnes qui traversent ce rseau
ncessitent une grande intgrit et confidentialit. 1. Utilis pour le trafic d'instance instance
3. En fonction de type dploiement, il peut y avoir
aussi une forte exigence de disponibilit
77
La scurit dans le Cloud
Pontage des domaines de scurit
1. Un pont est un lment qui existe l'intrieur dun
ou plusieurs domaines de scurit.

2. Les ponts sont souvent le point faible dans une


architecture rseau.

3. Tout composant construisant un pont entre des


domaines de scurit doit tre soigneusement
configur.

4. Un pont doit toujours tre configur pour rpondre


aux exigences de scurit et dun niveau de
confiance.

5. Les ponts devraient tre une proccupation


majeure en raison de la probabilit d'une attaque.

78
La scurit dans le Cloud

1. Dlgation de la gestion des


identits au service LDAP
La gestion des identits et
des accs dans OpenStack
2. Keystone V3 amne plus de
granularit

Approche

Scurisations des Flux via Connatre les failles de


des protocoles de scurit scurit du systme et les
tel que SSL/TLS grer

79
Cinder
Nova compute contacte Cinder pour
monter un volume qui existe dj. UI : Horizon /CLI
Keystone
Keystone Server
Nova Compute Node
Hypervisor Keystone DB
Nova API Queue

Scheduler Nova-compute Quantum


VM
Conductor Quantum Server
Nova DB
Network
Plugin/Agent
Cinder Block Storage Glance
Node Quantum DB

Cinder API Storage Glance API


Queue
GlanceRegistery
Swift
Scheduler Network Node
Proxy Server
Cinder Vol 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 Compatible avec tous les


comme volume local fournisseur iSCSI du march

Cinder

Ltat du volume est


Un volume est attach une
indpendant des instances
instance VM un instant t.
VMs

81
Cinder : Architecture/Workflow
Cinder API

Scheduler Queue
Cinder Volume

Cinder DB

82
Cinder : driver

83
Cinder
Nova compute demande iSCSI
Initiator et lhyperviseur de monter
le volume iSCSI comme un nouveau UI : Horizon /CLI
volume dans la VM. Keystone
Keystone Server
Nova Compute Node
Hypervisor Keystone DB
Nova API Queue

Scheduler Nova-compute Quantum


VM
Conductor Quantum Server
Nova DB
Network
Plugin/Agent
Cinder Block Storage Glance
Node Quantum DB

Cinder API Storage Glance API


Queue
GlanceRegistery
Swift
Scheduler Network Node
Proxy Server
Cinder Vol DHCP/IPAM
Cinder DB
Router/GW Cinder DB Object Store
84
Montage dun volume iSCSI

Pilote iSCSI
TCP/IP
Pilote carte rseau

Passerelle de stockage

85
Glance
Nova compute demande Glance
limage de la VM en prcisant son ID.

UI : Horizon /CLI
Keystone
Keystone Server
Nova Compute Node
Hypervisor Keystone DB
Nova API Queue

Scheduler Nova-compute Quantum


VM
Conductor Quantum Server
Nova DB
Network
Plugin/Agent
Cinder Block Storage Glance
Node Quantum DB

Cinder API Storage Glance API


Queue
GlanceRegistery
Swift
Scheduler Network Node
Proxy Server
Cinder Vol DHCP/IPAM
Cinder DB
Cinder DB Object Store
86
Router/GW
Glance
Support plusieurs types de stockages :
Fournit un service de
1. File System
catalogue pour le stockage et
2. http
l'interrogation des images de
3. Swift
disques virtuels
4. Ceph

Glance

Support plusieurs types de


API RESTful
format dimage.

87
Glance : Architecture

88
Glance : Fonctionnalits

Image CRUD : Recherche dimage par :


1. Create 1. Nom
2. Read 2. Conteneur
3. Update 3. Format dimage
4. Delete 4. Taille min/max, status, etc

Glance

Image cache

89
Glance : Formats dimage support

90
Glance
Glance renvoi un HTTP Get URI (Path)
si limage ID fourni existe.

UI : Horizon /CLI
Keystone
Keystone Server
Nova Compute Node
Hypervisor Keystone DB
Nova API Queue

Scheduler Nova-compute Quantum


VM
Conductor Quantum Server
Nova DB
Network
Plugin/Agent
Cinder Block Storage Glance
Node Quantum DB

Cinder API Storage Glance API


Queue
GlanceRegistery
Swift
Scheduler Network Node
Proxy Server
Cinder Vol DHCP/IPAM
Cinder DB
Cinder DB Object Store
91
Router/GW
Nova compute
Nova compute recupre les Dans le cas de KVM/libvirtd le
informations sur la VM partir de la fichier de configuration de la VM
BD. Il cre la commande de cration est XML.
de la VM et demande lhyperviseur UI : Horizon /CLI
son excution. Keystone
Keystone Server
Nova Compute Node
Hypervisor Keystone DB
Nova API Queue

Scheduler Nova-compute Quantum


VM
Conductor Quantum Server
Nova DB
Network
Plugin/Agent
Cinder Block Storage Glance
Node Quantum DB

Cinder API Storage Glance API


Queue
GlanceRegistery
Swift
Scheduler Network Node
Proxy Server
Cinder Vol DHCP/IPAM
Cinder DB
Router/GW Cinder DB Object Store
92
Nova compute
La communication iSCSI est initi.
Nova compute envoi un message Le volume distant est mont et il
Nova conductor pour mettre jour la est vu comme local.
BD avec le nouveau statut de la VM. UI : Horizon /CLI
Keystone
Keystone Server
Nova Compute Node
Hypervisor Keystone DB
Nova API Queue

Scheduler Nova-compute Quantum


VM
Conductor Quantum Server
Nova DB
Network
Plugin/Agent
Cinder Block Storage Glance
Node Quantum DB

Cinder API Storage Glance API


Queue
GlanceRegistery
Swift
Scheduler Network Node
Proxy Server
Cinder Vol DHCP/IPAM
Cinder DB
Router/GW Cinder DB Object Store
93
Horizon
Horizon demande priodiquement
ltat de la VM lAPI Nova. Un tat
que Nova API rcupre partir de la
BD.
UI : Horizon /CLI
Keystone
Keystone Server
Nova Compute Node
Hypervisor Keystone DB
Nova API Queue

Scheduler Nova-compute Quantum


VM
Conductor Quantum Server
Nova DB
Network
Plugin/Agent
Cinder Block Storage Glance
Node Quantum DB

Cinder API Storage Glance API


Queue
Swift
Scheduler GlanceRegistery
Network Node Proxy Server
Cinder Vol DHCP/IPAM
Cinder DB
Object Store
Router/GW Cinder DB 94
Synthse

95
OpenStack : Implmentation

96
Openstack : Les nouveaux de la classe

97