Création d'une route
Vous pouvez contrôler le flux du trafic réseau dans votre VPC en configurant des routes. Utilisez les routes VPC pour spécifier le tronçon suivant pour les paquets, basé sur leurs adresses de destination.
Plusieurs tables de routage peuvent exister pour chaque zone de votre VPC. Pour le trafic sortant, lorsqu'un paquet quitte un sous-réseau, le système compare sa destination à la table de routage de la zone du sous-réseau afin de déterminer où acheminer le paquet ensuite. Chaque VPC possède une table de routage par défaut qui est attachée à chaque sous-réseau, sauf si le sous-réseau a été explicitement attaché à un autre par l'utilisateur.
Une route personnalisée VPC comporte quatre éléments principaux :
-
CIDR de destination : spécifie la plage d'adresses IP de destination à laquelle s'applique la route.
-
Prochain saut : spécifie l'adresse IP vers laquelle le trafic correspondant est redirigé lorsque l'action de la route est «
Deliver».Vous pouvez modifier l'adresse IP du tronçon suivant pour les routes existantes.
-
Zone : indique la zone dans laquelle l'itinéraire est calculé. En ce qui concerne les voies de sortie, la « zone » désigne généralement la zone d'où provient le trafic source. Pour les routes d'entrée, la zone désigne la zone dans laquelle le trafic entrant est traité et où doit se trouver le saut suivant.
-
Action : définit la manière dont le trafic correspondant est traité (par exemple, transfert, délégation ou rejet du trafic).
Tout trafic provenant de la zone spécifiée du VPC, dont l'adresse de destination est située dans le CIDR de destination spécifié, est acheminé vers le tronçon suivant. Si l'adresse de destination se trouve dans le CIDR de destination de routes VPC multiples, la route la plus spécifique est utilisée. Si le VPC a deux ou plusieurs routes tout aussi spécifiques, le trafic est circulaire réparti entre chaque route.
Chaque route possède une propriété de destination, qui inclut une longueur de préfixe (/24 dans 10.2.0.0/24). Le nombre de longueurs de préfixe uniques prises en charge par table de routage personnalisée est 14. Plusieurs
routes ayant le même préfixe comptent pour un seul et unique préfixe.
Les préfixes d'adresse VPC ne sont plus limités aux adresses RFC-1918. Vous devez désormais configurer les VPC qui utilisent à la fois des adresses de type « non-RFC-1918 » et disposent d'une connectivité publique (adresses IP flottantes ou passerelles
publiques) à l'aide d'une route personnalisée intégrant la nouvelle action « Delegate-VPC ». Vous devez spécifier cette action pour les CIDR de destination conformes à la norme « non-RFC-1918 » et situés en dehors du VPC, par exemple
pour les destinations accessibles via « Direct Link », « Transit Gateway » ou l'accès VPC classique. Pour savoir quand utiliser l'action Delegate-VPC, voir Remarques relatives au routage pour les affectations d'adresses IP enregistrées par IANA.
L'action Delegate-VPC est requise si les deux conditions sont vérifiées :
- Le VPC utilise des adresses non RFC-1918
- Le VPC possède une connectivité publique
L'action Delegate-VPC n'est pas requise si :
- Le VPC utilise uniquement des adresses RFC-1918
- Le VPC ne possède pas de connectivité publique
Avant de créer des routes personnalisées, consultez la section « À propos des tables de routage et des routes » afin de comprendre le fonctionnement du routage entrant et sortant.
Vous pouvez créer une route pour un service d' IBM Cloud s à l'aide de la console, de l'interface de ligne de commande (CLI), de l'API ou de Terraform.
Création d'un itinéraire dans la console
Pour créer un itinéraire dans la console, procédez comme suit :
-
Prenez connaissance des limitations et instructions.
-
Depuis la console IBM Cloud, sélectionnez l'
navigation, puis cliquez sur l'icône Infrastructure
> Réseau > Tables de routage. La page des tables de routage pour VPC s'affiche.
-
Sélectionnez le VPC associé à la table de routage que vous souhaitez consulter. Cliquez ensuite sur le nom de la table de routage dont vous souhaitez afficher les détails.
-
Faites défiler l'écran jusqu'à la section Routes, puis cliquez sur Créer.
-
Dans le panneau latéral « Créer une route », saisissez les informations suivantes :
-
Zone-Sélectionnez une zone de disponibilité pour votre route.
-
Nom- Saisissez un nom pour le nouvel itinéraire.
-
CIDR de destination-CIDR de destination de la route (par exemple,
10.0.0.0/16). -
Priorité-Entrez une priorité de
0à4. La valeur par défaut est2. Pour plus d'informations, voir Détermination des préférences de route. -
Action- Action à effectuer sur un paquet correspondant à la route. Les valeurs possibles sont les suivantes :
- Delegate - Permet d'acheminer le paquet à l'aide de la table de routage système.
- Delegate-VPC - Permet de déléguer aux routes intégrées du système, en ignorant les routes Internet. Requis si le VPC utilise des adresses non RFC-1918 et dispose également d'une connectivité publique. Pour plus de détails, voir Remarques relatives au routage pour les affectations d'adresses IP enregistrées par IANA.
- Deliver - Permet d'acheminer le paquet vers la prochaine cible de saut. Vous pouvez ajouter plusieurs routes avec le même préfixe d'adresse. Le routeur virtuel effectue un routage ECMP à l'aide des différentes adresses IP de tronçon suivant.
- Drop - Permet de supprimer le paquet.
Le trafic sortant d'un sous-réseau utilise la table de routage personnalisée qui est associée au sous-réseau. Si aucune route correspondante n'est trouvée dans une table de routage personnalisée, le routage continue à l'aide de la table de routage système du VPC. Vous pouvez éviter ce comportement avec une route par défaut d'une table de routage personnalisée à l'aide d'une action Supprimer.
-
Type- Choisissez entre « Adresse IP » et « Connexion VPN ».
-
Tronçon suivant (adresse IP)-Entrez le tronçon suivant.
Vous pouvez modifier l'adresse IP du tronçon suivant pour les routes existantes.
-
Annoncer-Annonce à une source Ingress. Actuellement, Direct Link et Transit Gateway sont pris en charge. Optionnel.
-
-
Cliquez sur Sauvegarder pour sauvegarder la nouvelle route. La route apparaît sur la page des détails de la table de routage.
Création d'un itinéraire à partir de l'interface de ligne de commande
Avant de commencer, configurez votre environnement d'interface de ligne de commande.
Pour créer une route VPC à partir de l'interface de ligne de commande, exécutez la commande suivante :
ibmcloud is vpc-routing-table-route-create VPC ROUTING_TABLE --zone ZONE_NAME --destination DESTINATION_CIDR [--action delegate_vpc | delegate | deliver | drop] [--priority PRIORITY] [--next-hop NEXT_HOP [--vpngw VPNGW]][--advertise true | false] [--name NAME] [--output JSON] [-q, --quiet]
Où :
VPC- ID ou nom du cloud privé virtuel.
ROUTING_TABLE- L'ID ou le nom de la table de routage du VPC.
--zone- Le nom de la zone.
--destination- CIDR de destination de la route. Au maximum, deux routes par zone d'un tableau peuvent avoir la même destination, et ce uniquement si ces deux routes ont pour action «
deliver». --action- Action à effectuer avec un paquet correspondant à la route. L'une des adresses suivantes :
delegate_vpc,delegate,deliver,drop. Par défaut :deliver --priority- Priorité de la route. L'un d'entre eux :
0,1,2,3,4. Valeur par défaut :2. Les valeurs inférieures ont une priorité plus élevée. Si une table de routage personnalisée contient des itinéraires avec la même destination, l'itinéraire ayant la priorité la plus élevée (valeur la plus basse) est sélectionné. --next-hop- Si l'action est «
deliver», saisissez l'adresse IP ou l'identifiant de connexion VPN du saut suivant vers lequel acheminer les paquets. --vpngw- Le nom de la passerelle VPN.
--advertise- Faites de la publicité auprès d'un lien direct, d'une passerelle de transit ou des deux sources d'entrée. L'un des sites suivants :
true,false. --name- Nom de la table de routage du VPC.
--output- Format de sortie. Un parmi :
json. --q, quiet- Supprimer la sortie prolixe.
Exemples d'interface CLI
-
Créez une route en indiquant le nom de la zone, l'adresse CIDR de destination et le saut suivant sous forme d'adresse IP :
ibmcloud is vpc-routing-table-route-create r134-b754e387-8b06-43be-a5ea-909595a50676 r134-6cfaceb8-99d6-4743-bee8-ebbcbba6a563 --zone us-south-1 --destination 10.2.2.0/24 --action deliver --priority 1 --next-hop 10.0.0.2 --name my-vpc-route -
Créez un itinéraire en indiquant le nom de la zone, l'adresse CIDR de destination et le saut suivant comme identifiant de connexion VPN :
ibmcloud is vpc-routing-table-route-create r134-b754e387-8b06-43be-a5ea-909595a50676 r134-6cfaceb8-99d6-4743-bee8-ebbcbba6a563 --zone us-south-1 --destination 10.2.2.0/24 --action deliver --priority 1 --next-hop 02h7-1cf20e69-e2ce-400b-b070-0897521e2eb6 --name my-vpc-route
Création d'un itinéraire à l'aide de l'API
Pour créer un itinéraire vers une destination à l'aide de l'API, procédez comme suit :
-
Configurez votre environnement d'API.
-
Stockez les valeurs des variables suivantes destinées à être utilisées dans la commande d'API :
export VpcId=<your_vpc_id> export RoutingTableId=<your_routing_table_id> -
Créez un itinéraire en indiquant
next_hopcomme adresse IP ou identifiant de connexion VPN :curl -X POST "$vpc_api_endpoint/v1/vpcs/$VpcId/routing_tables/$RoutingTableId/routes?version=$api_version&generation=2" \ -H "Authorization: Bearer $iam_token" \ -d '{ "name": "my-new-route", "zone": {"name": "us-south-2"}, "action": "deliver", "destination": "10.10.10.0/24", "next_hop": {"address": "10.0.0.3"} }'curl -X POST "$vpc_api_endpoint/v1/vpcs/$VpcId/routing_tables/$RoutingTableId/routes?version=$api_version&generation=2" \ -H "Authorization: Bearer $iam_token" \ -d '{ "name": "my-new-route", "zone": {"name": "us-south-2"}, "action": "deliver", "destination": "10.10.10.0/24", "next_hop": {"id": "02h7-1cf20e69-e2ce-400b-b070-0897521e2eb6"} }'
Pour plus d'informations et les paramètres facultatifs, consultez Créer un itinéraire dans une table de routage VPC dans la référence API VPC.
Création d'une route avec Terraform
Pour créer une route avec Terraform, procédez comme suit:
-
Configurez votre environnement Terraform.
-
Créez une route :
resource "ibm_is_vpc_routing_table_route" "example" { vpc = ibm_is_vpc.example.id routing_table = ibm_is_vpc_routing_table.example.routing_table zone = "us-south-1" name = "custom-route-2" destination = "192.168.4.0/24" action = "deliver" next_hop = ibm_is_vpn_gateway_connection.example.gateway_connection // Example value "10.0.0.4" }
Pour plus d'informations sur cette ibm_is_vpc_routing_table_route ressource, consultez le registre Terraform.