Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Prise en charge des API Amazon VPC sur Contrail OpenStack

Présentation d’Amazon Virtual Private Cloud

La version actuelle de Grizzly d’OpenStack prend en charge la traduction de l’API Elastic Compute Cloud (EC2) en appels OpenStack Nova, Quantum et Keystone. Les API EC2 sont utilisées dans Amazon Web Services (AWS) et les clouds privés virtuels (VPC) pour lancer des machines virtuelles, attribuer des adresses IP à des machines virtuelles, etc. Un VPC est un conteneur dans lequel les applications peuvent être lancées et où les ressources sont accessibles via les services réseau fournis par le VPC.

Contrail améliore son utilisation des API EC2 pour prendre en charge les API VPC d’Amazon.

Amazon VPC prend en charge des structures de mise en réseau telles que : les sous-réseaux, les options DHCP, les adresses IP élastiques, les ACL réseau, les groupes de sécurité et les tables de routage. Les API Amazon VPC sont désormais prises en charge sur la distribution Openstack Contrail, de sorte que les utilisateurs des API Amazon EC2 pour leur VPC peuvent utiliser les mêmes scripts pour passer à une solution Openstack Contrail.

Euca2ools sont des outils en ligne de commande permettant d’interagir avec Amazon Web Services (AWS) et d’autres services Web compatibles AWS, tels qu’OpenStack. Euca2ools a été étendu dans OpenStack Contrail pour ajouter la prise en charge d’Amazon VPC, similaire à la prise en charge qui existe déjà pour la CLI Amazon EC2.

Pour plus d’informations sur Amazon VPC et AWS EC2, consultez :

Mappage des fonctionnalités d’Amazon VPC aux fonctionnalités OpenStack Contrail

Le tableau suivant compare les fonctionnalités Amazon VPC à leurs fonctionnalités équivalentes dans OpenStack Contrail.

Tableau 1 : comparaison des fonctionnalités Amazon VPC et OpenStack Contrail

Fonctionnalité Amazon VPC

Fonctionnalité OpenStack Contrail

VPC

Projet

Sous-réseaux

Réseaux (réseaux virtuels)

Options DHCP

IPAM

IP élastique

IP flottant

Listes de contrôle d’accès réseau

Listes de contrôle d’accès réseau

Groupes de sécurité

Groupes de sécurité

Table de routage

Table de routage

Exemple de VPC et de sous-réseaux

Lors de la création d’un VPC, l’utilisateur doit fournir un bloc CIDR (Inter-Domain Routing) sans classe dont tous les sous-réseaux de ce VPC feront partie.

Dans l’exemple suivant, un VPC est créé avec un bloc CIDR de 10.1.0.0/16. Un sous-réseau est créé dans le bloc CIDR VPC, avec un bloc CIDR 10.1.1.0/24. Le VPC dispose d’une liste de contrôle d’accès réseau par défaut nommée acl-default.

Tous les sous-réseaux créés dans le VPC sont automatiquement associés à la liste de contrôle d’accès réseau par défaut. Cette association peut être modifiée lors de la création d’une nouvelle liste de contrôle d’accès réseau. La dernière commande de la liste ci-dessous crée une machine virtuelle à l’aide de l’image ami-00000003 et se lance avec une interface en subnet-5eb34ed2.

CLI Euca2ools pour VPC et sous-réseaux

Les commandes CLI suivantes euca2ools permettent de créer, définir et supprimer des VPC et des sous-réseaux :

  • euca-create-vpc

  • euca-delete-vpc

  • euca-describe-vpcs

  • euca-create-subnet

  • euca-delete-subnet

  • euca-describe-subnets

Sécurité dans les VPC : exemple de listes de contrôle d’accès réseau

Les listes de contrôle d’accès réseau prennent en charge les règles d’entrée et de sortie pour la classification et le filtrage du trafic. Les listes de contrôle d’accès réseau sont appliquées au niveau du sous-réseau.

Dans l’exemple suivant, une nouvelle liste de contrôle d’accès, acl-ba7158, est créée et un sous-réseau existant est associé à la nouvelle liste de contrôle d’accès.

Euca2ools CLI pour les ACLs réseau

Les commandes CLI suivantes euca2ools permettent de créer, définir et supprimer des VPC et des sous-réseaux :

  • euca-create-network-acl

  • euca-delete-network-acl

  • euca-replace-network-acl-association

  • euca-describe-network-acls

  • euca-create-network-acl-entry

  • euca-delete-network-acl-entry

  • euca-replace-network-acl-entry

Sécurité dans un VPC : exemple de groupes de sécurité

Les groupes de sécurité fournissent des contrôles d’entrée/sortie au niveau des machines virtuelles. Les groupes de sécurité sont appliqués aux interfaces des machines virtuelles.

Dans l’exemple suivant, un nouveau groupe de sécurité est créé. Les règles peuvent être ajoutées ou supprimées pour le groupe de sécurité en fonction des commandes répertoriées pour euca2ools. La dernière ligne lance une machine virtuelle à l’aide du groupe de sécurité nouvellement créé.

Euca2ools CLI pour les groupes de sécurité

Les commandes CLI suivantes euca2ools permettent de créer, définir et supprimer des groupes de sécurité :

  • euca-create-security-group

  • euca-delete-security-group

  • euca-describe-security-groups

  • euca-authorize-security-group-egress

  • euca-authorize-security-group-ingress

  • euca-revoke-security-group-egress

  • euca-revoke-security-group-ingress

IP élastiques dans les VPC

Les adresses IP élastiques des VPC sont équivalentes aux adresses IP flottantes de la solution Contrail Openstack.

Dans l’exemple suivant, une adresse IP flottante est demandée au système et attribuée à une machine virtuelle particulière. La condition préalable est que le fournisseur ou l’administrateur Contrail ait provisionné un réseau nommé « public » et lui ait alloué un pool IP flottant. Ce pool d’adresses IP flottantes « publiques » est ensuite utilisé en interne par les locataires pour demander des adresses IP publiques qu’ils peuvent utiliser et attacher aux machines virtuelles.

CLI Euca2ools pour les adresses IP élastiques

Les commandes CLI suivantes euca2ools sont utilisées pour créer, définir et supprimer des adresses IP élastiques :

  • euca-allocate-address

  • euca-release-address

  • euca-describe-addresses

  • euca-associate-address

  • euca-disassociate-address

Euca2ools CLI pour les tables de routage

Les tables de routage peuvent être créées dans un Amazon VPC et associées à des sous-réseaux. Le trafic sortant d’un sous-réseau est ensuite recherché dans la table de routage et, en fonction du résultat de la recherche d’itinéraire, le saut suivant est choisi.

Les commandes CLI suivantes euca2ools permettent de créer, définir et supprimer des tables de routage :

  • euca-create-route-table

  • euca-delete-route-table

  • euca-describe-route-tables

  • euca-associate-route-table

  • euca-disassociate-route-table

  • euca-replace-route-table-association

  • euca-create-route

  • euca-delete-route

  • euca-replace-route

Sauts Next pris en charge

Les sauts suivants pris en charge pour la version actuelle sont les suivants :

  • Saut suivant local

    La désignation d’un tronçon suivant local indique que tous les sous-réseaux du VPC sont accessibles pour le préfixe de destination.

  • Passerelle Internet saut suivant

    Ce saut suivant est utilisé pour le trafic destiné à Internet. Toutes les machines virtuelles utilisant le saut suivant de la passerelle Internet doivent utiliser une adresse IP élastique pour accéder à Internet, car les adresses IP du sous-réseau sont des adresses IP privées.

  • Instance NAT

    Pour créer ce tronçon suivant, l’utilisateur doit lancer une machine virtuelle qui fournit le service de traduction d’adresses réseau (NAT). La machine virtuelle dispose de deux interfaces : une interne et une externe, toutes deux créées automatiquement. La seule exigence ici est qu’un réseau « public » ait été provisionné par l’administrateur, car la deuxième interface de la machine virtuelle est créée dans le réseau « public ».

Passerelle Internet Next Hop Euca2ools CLI

Les commandes CLI suivantes euca2ools permettent de créer, définir et supprimer le tronçon suivant de la passerelle Internet :

  • euca-attach-internet-gateway

  • euca-create-internet-gateway

  • euca-delete-internet-gateway

  • euca-describe-internet-gateways

  • euca-detach-internet-gateway

Instance NAT tronçon suivant CLI Euca2ools

Les commandes CLI suivantes euca2ools permettent de créer, définir et supprimer des sauts suivants d’instance NAT :

  • euca-run-instances

  • euca-terminate-instances

Exemple : Création d’une instance NAT avec l’interface de ligne de commande Euca2ools

L’exemple suivant crée une instance NAT et crée une route par défaut pointant vers l’instance NAT.