Utilisation de sous-réseaux dans VPC
Les sous-réseaux permettent à votre trafic réseau de parcourir des chemins plus efficaces de l'origine à la destination. Vous pouvez utiliser des listes de contrôle d'accès (ACL) avec des sous-réseaux pour protéger vos ressources au sein de chaque sous-réseau.
Avant de commencer
Avant de commencer, vous devez disposer d'un ou de plusieurs rôles d'accès IAM qui incluent les actions suivantes, en fonction des conditions répertoriées. Vous pouvez vérifier votre accès en allant dans Utilisateurs > Utilisateur > Accès.
is.subnet.subnet.create
is.public-gateway.public-gateway.operate
Requis lorsquepublic_gateway
est spécifiéis.network-acl.network-acl.operate
Création d'un sous-réseau dans un VPC
Vous pouvez créer un sous-réseau dans un VPC à l'aide de la console, de la CLI ou de l'API.
Si vous utilisez une plage d'adresses IP en dehors des plages définies par la RFC 1918 ( 10.0.0.0/8, 172.16.0.0/12, ou 192.168.0.0/16 ) pour un sous-réseau, les instances attachées à ce sous-réseau risquent de ne pas pouvoir atteindre certaines parties de l'internet public. Si vous prévoyez de configurer des VPC qui utilisent à la fois des adresses non-RFC-1918 et une connectivité publique (IP flottantes ou passerelles publiques), assurez-vous d'utiliser une route personnalisée qui contient l'action Delegate-VPC.
Création de sous-réseaux dans VPC à l'aide de l'interface utilisateur
Pour créer un sous-réseau dans votre instance VPC, procédez comme suit:
-
Dans votre navigateur, ouvrez la consoleIBM Cloud.
-
Sélectionnez l'
menu de navigation, puis cliquez sur l'icône Infrastructure
> Réseau > Sous-réseaux.
-
Cliquez sur Créer + dans la table de liste Sous-réseaux pour VPC.
-
Dans la section Emplacement, fournissez les informations suivantes :
- Géographie: indiquez la zone générale dans laquelle vous souhaitez créer le sous-réseau.
- Région: indiquez la région dans laquelle vous souhaitez créer le sous-réseau.
- Zone: Indiquez la zone dans laquelle vous souhaitez créer le sous-réseau.
-
Dans la section Détails, fournissez les informations suivantes :
- Nom: entrez un identificateur unique pour le sous-réseau, tel que
my-subnet
. - Groupe de ressources: Sélectionnez un groupe de ressources pour le sous-réseau.
- Balises: Si vous le souhaitez, ajoutez les balises appropriées pour aider à regrouper vos sous-réseaux.
- Balises de gestion des accès: ajoutez éventuellement des balises de gestion des accès aux ressources pour faciliter l'organisation des relations de contrôle d'accès.
key:value
est le seul format pris en charge pour les étiquettes de gestion des accès. Pour plus d'informations, voir Contrôle de l'accès aux ressources à l'aide d'étiquettes. - Cloud privé virtuel: Sélectionnez le VPC dans lequel vous souhaitez créer le sous-réseau.
- Sélection de plage IP: l'emplacement le plus efficace pour votre plage IP est calculé automatiquement. Si vous souhaitez personnaliser la plage d'adresses IP au lieu d'accepter la sélection par défaut, sélectionnez un préfixe d'adresse différent, modifiez le nombre d'adresses ou entrez votre plage d'adresses IP manuellement.
- Table de routage: sélectionnez la table de routage que vous souhaitez que le nouveau sous-réseau utilise.
- Liste de contrôle d'accès au sous-réseau: Sélectionnez la liste de contrôle d'accès que le nouveau sous-réseau doit utiliser.
- Passerelle publique: indiquez si vous souhaitez que le sous-réseau communique avec l'Internet public en basculant le commutateur sur Connecté. L'association d'une passerelle publique crée une adresse IP flottante et entraîne un coût.
- Nom: entrez un identificateur unique pour le sous-réseau, tel que
-
Dans le panneau Récapitulatif, cliquez sur Créer un sous-réseau pour créer le sous-réseau.
Onglet Ressources jointes
L'onglet Ressources connectées répertorie toutes les ressources connectées à votre sous-réseau et fournit une méthode de création et d'association de nouvelles ressources. Vous pouvez créer les ressources suivantes à partir de cet onglet:
- Instances
- Serveurs bare metal
- Modèles d'instance
- Groupes d'instances
- Équilibreurs de charge
- Passerelles VPN
- Passerelles de points d'extrémité virtuels
- Serveurs VPN
Cliquez sur Créer + dans le tableau de la liste des ressources de la ressource que vous souhaitez créer. Vous allez accéder au flux de travaux de création de ressource respectif dans lequel vous pouvez commencer le processus de création de la ressource.
Onglet IP réservées
L'onglet Adresses IP réservées est une liste de toutes les adresses IP réservées associées au sous-réseau. Pour plus d'informations sur les adresses IP réservées, voir Gestion des adresses IP.
Création de sous-réseaux dans VPC à l'aide de l'interface de ligne de commande
Pour créer un sous-réseau à l'aide de la CLI, exécutez la commande suivante :
ibmcloud is subnet-create SUBNET_NAME VPC ((--zone ZONE_NAME --ipv4-address-count ADDR_COUNT) | --ipv4-cidr-block CIDR_BLOCK) [--acl ACL] [--pgw PGW] [--rt RT] [--resource-group-id RESOURCE_GROUP_ID | --resource-group-name RESOURCE_GROUP_NAME] [--output JSON] [-q, --quiet]
Où :
SUBNET_NAME
- Nom du sous-réseau.
VPC
- ID ou nom du cloud privé virtuel.
--ipv4-cidr-block
- Plage IPv4 du sous-réseau. Cette option s'exclut mutuellement avec
--ipv4-address-count
. --ipv4-address-count
- Le nombre total d'adresses IPv4 requises doit être une puissance de 2 et la valeur minimale est de 8. Cette option s'exclut mutuellement avec
--ipv4-cidr-block
. --zone
- Nom de la zone.
--acl
- ID ou nom de la liste de contrôle d'accès réseau.
--pgw
- ID ou nom de la passerelle publique.
--rt
- ID ou nom de la table de routage. Cette option prend également en charge le nom de la ressource en nuage (CRN) de la table de routage.
--resource-group-id
- ID du groupe de ressources. Cet identifiant s'exclut mutuellement avec
--resource-group-name
. --resource-group-name
- Nom du groupe de ressources. Ce nom s'exclut mutuellement avec
--resource-group-id
. --output
- Spécifiez le format de sortie, seul JSON est pris en charge. Un parmi :
JSON
. -q, --quiet
- Supprimer la sortie prolixe.
Création de sous-réseaux dans VPC à l'aide de l'API
Suivez ces instructions pour créer un sous-réseau dans votre VPC à l'aide de l'API:
- Configurez votre environnement d'API.
- Stocke toute variable supplémentaire à utiliser dans les commandes de l'API.
Paramètres de requête | Informations |
---|---|
Version requis string |
Exige la version de l'API en tant que date dans le format YYYY-MM-DD . Any date up to the current date may be provided. Specify the current date to request the latest version.Valeurs possibles: La valeur doit correspondre à l'expression régulière ^[0-9]{4}-[0-9]{2}-[0-9]{2}$ |
generation Obligatoire int32 |
Génération de l'infrastructure. Valeurs possibles: 2 |
Corps de la demande Obligatoire |
Objet prototype du sous-réseau. |
vpc Chaîne requise |
VPC dans lequel réside le sous-réseau. L'un des suivants: VPCIdentityById , VPCIdentityByCRN , VPCIdentityByHref |
ip_version string |
Version (s) IP à prendre en charge pour ce sous-réseau. Valeurs admises: [ipv4] |
name Chaîne requise |
Nom de ce sous-réseau. Le nom ne doit pas être utilisé par un autre sous-réseau dans le VPC. S'il n'est pas spécifié, le nom sera une liste de mots sélectionnés de manière aléatoire. Valeurs possibles: 1 ≤ longueur ≤ 63, la valeur doit correspondre à l'expression régulière ^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$ Exemple: my-subnet |
network_acl string |
Liste de contrôle d'accès au réseau à utiliser pour ce sous-réseau. S'il n'est pas spécifié, la liste de contrôle d'accès au réseau par défaut du VPC est utilisée. L'un des suivants: NetworkACLIdentityById , NetworkACLIdentityByCRN ,
NetworkACLIdentityHref |
public_gateway chaîne |
Passerelle publique à utiliser pour le trafic lié à Internet pour ce sous-réseau. S'il n'est pas spécifié, le sous-réseau ne sera pas connecté à une passerelle publique. L'un des suivants: PublicGatewayIdentityById ,
PublicGatewayIdentityByCRN , PublicGatewayIdentityByHref |
** | resource_group** ResourceGroupIdentityById |
routing_table string |
Table de routage à utiliser pour ce sous-réseau. S'il n'est pas spécifié, la table de routage par défaut du VPC est utilisée. Les propriétés de la table de routage route_direct_link_ingress , route_internet_ingress ,
route_transit_gateway_ingress et route_vpc_zone_ingress doivent être false .L'un des suivants: RoutingTableIdentityById , RoutingTableIdentityByCRN , RoutingTableIdentityByHref |
Sous-réseauByTotalCount entier 64 ou SubnetByCIDR chaîne |
Pour SubnetByTotalCount , précisez le nombre total deIPv4 adresses requises. Pour SubnetByCIDR , spécifie leIPv4 plage du sous-réseau, exprimée au format CIDR. Les deux options requièrent un zone dans lequel le sous-réseau réside. |
Une fois toutes les variables initiées, soumettez la demande.
Exemple :
curl -X POST
"$vpc_api_endpoint/v1/subnets?version=2022-10-31&generation=2"
-H "Authorization: Bearer $iam_token"
-d '{
"name": "my-subnet-1",
"ipv4_cidr_block": "10.0.1.0/24",
"ip_version": "ipv4",
"zone": { "name": "us-south-1" },
"vpc": { "id": "a0819609-0997-4f92-9409-86c95ddf59d3" }
}'
La réponse suivante s'affiche après que vous avez lancé la demande :
Corps de réponse | Détails |
---|---|
available_ipv4_address_count Toujours inclus int64 |
The d'adresses IPv4 dans ce sous-réseau qui ne sont pas utilisées, et n'ont pas été réservés par l'utilisateur ou le fournisseur. Exemple : 15 |
created_at Toujours inclus date-heure |
Date et heure de création du sous-réseau |
crn Toujours inclus chaîne |
CRN pour ce sous-réseau Valeurs possibles: 9 ≤ longueur ≤ 512 Exemple: crn:v1:bluemix:public:is:us-south-1:a/123456::subnet:7ec86020-1c6e-4889-b3f0-a15f2e50f87e |
|
Le URL pour ce sous-réseau Valeurs possibles : 10 ≤ length ≤ 8000, La valeur doit correspondre à l'expression régulière ^http(s)?://([^/?#]*)([^?#]*)(?([^#]*))?(#(.*))?$ Exemple : https://us-south.iaas.cloud.ibm.com/v1/subnets/7ec86020-1c6e-4889-b3f0-a15f2e50f87e |
|
Identificateur unique de ce sous-réseau Valeurs possibles: 1 ≤ longueur ≤ 64, La valeur doit correspondre à l'expression régulière ^[-0-9a-z_]+$ Exemple: 7ec86020-1c6e-4889-b3f0-a15f2e50f87e |
ip_version Chaîne toujours incluse |
Version (s) IP prise (s) en charge par ce sous-réseau. Valeurs possibles: [ipv4] |
** | ** Toujours inclus string |
name Toujours inclus chaîne |
Nom de ce sous-réseau. Le nom est unique dans tous les sous-réseaux du VPC. Valeurs possibles: 1 ≤ longueur ≤ 63, la valeur doit correspondre à l'expression régulière ^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$ Exemple: my-subnet |
** | network_acl |
** | resource_group** Toujours inclus ResourceGroupReference |
resource_type Toujours inclus chaîne |
Type de ressource. Valeurs possibles: 1 ≤ longueur ≤ 128, la valeur doit correspondre à une expression régulière ^[a-z][a-z0-9]*(_[a-z0-9]+)*$ Exemple: subnet |
** | routing_table** Toujours inclus RoutingTableReference |
status Toujours inclus chaîne |
Statut du sous-réseau. Valeurs possibles: available ,deleting ,failed , pending |
Total_ipv4_address_count Toujours inclus int64 |
|
vpc Toujours inclus VPCReference |
VPC dans lequel réside ce sous-réseau. |
Zone Toujours inclus ZoneReference |
The zone dans laquelle ce sous-réseau réside. |
** | public_gateway** PublicGatewayReference |
Code de statut | |
---|---|
Le sous-réseau a été créé avec succès | |
400 | Un objet prototype de sous-réseau non valide a été fourni. |
409 | L'objet prototype de sous-réseau entre en conflit avec un autre sous-réseau dans le VPC ou spécifie un bloc CIDR en dehors des préfixes d'adresse du VPC. |
Pour plus d'informations (y compris les exemples Java, Node, Python et Go), voir "Créer un sous-réseau" dans la référence de l'API VPC.
Affichage des sous-réseaux dans VPC
Vous pouvez afficher les détails d'un sous-réseau dans votre VPC à l'aide de l'interface utilisateur, de l'API ou de l'interface de ligne de commande.
Affichage des sous-réseaux dans VPC à l'aide de l'interface utilisateur
Une fois que vous avez créé un sous-réseau, il apparaît dans la liste Sous-réseaux pour VPC.
Pour afficher les détails d'un sous-réseau de la liste à l'aide de la console, cliquez sur le lien du sous-réseau dans la colonne Nom. L'onglet Présentation affiche les informations que vous avez utilisées lors de la création du sous-réseau.
Affichage des sous-réseaux dans VPC à l'aide de l'interface de ligne de commande
Pour afficher les détails d'un sous-réseau dans VPC à l'aide de l'interface de ligne de commande, exécutez la commande suivante:
ibmcloud is subnet SUBNET [--vpc VPC] [--show-attached] [--output JSON] [-q, --quiet]
Où :
SUBNET
- ID ou nom du sous-réseau.
--vpc
- ID ou nom du cloud privé virtuel. Il est requis uniquement pour spécifier la ressource unique à l'aide de son nom dans ce cloud privé virtuel.
--show-attached
- Voir les détails des ressources (instances, équilibreurs de charge, passerelles VPN) connectées au sous-réseau.
--output
- Spécifiez le format de sortie, seul JSON est pris en charge. Valeur admise : JSON.
-q, --quiet
- Supprimer la sortie prolixe.
Affichage de sous-réseaux dans VPC à l'aide de l'API
Pour appeler cette méthode, vous devez avoir un ou plusieurs rôles d'accès IAM incluant l'action suivante. Vous pouvez vérifier votre accès en allant dans Utilisateurs > Utilisateur > Accès
is.subnet.subnet.read
Suivez ces instructions pour extraire un sous-réseau dans votre VPC à l'aide de l'API:
- Configurez votre environnement d'API.
- Stocke toute variable supplémentaire à utiliser dans les commandes de l'API.
Paramètres de requête | Informations |
---|---|
id Chaîne requise |
Identificateur de sous-réseau. Valeurs possibles : 1 ≤ longueur ≤ 64, La valeur doit correspondre à une expression régulière ^[-0-9a-z_]+$ |
** | version** Required string |
generation Obligatoire int32 |
Génération de l'infrastructure. Valeurs autorisées : 2 |
- Lorsque toutes les variables sont initialisées, exécutez la commande.
Exemple :
curl -X GET "$vpc_api_endpoint/v1/subnets/$subnet_id?version=2022-10-31&generation=2"
-H "Authorization: Bearer $iam_token"
La réponse suivante s'affiche après que vous avez lancé la demande :
Corps de réponse | Détails |
---|---|
available_ipv4_address_count Toujours inclus int64 |
The d'adresses IPv4 dans ce sous-réseau qui ne sont pas utilisées, et n'ont pas été réservés par l'utilisateur ou le fournisseur. Exemple : 15 |
created_at Toujours inclus date-heure |
Date et heure de création du sous-réseau |
crn Toujours inclus chaîne |
CRN pour ce sous-réseau Valeurs possibles: 9 ≤ longueur ≤ 512 Exemple: crn:v1:bluemix:public:is:us-south-1:a/123456::subnet:7ec86020-1c6e-4889-b3f0-a15f2e50f87e |
|
Le URL pour ce sous-réseau Valeurs possibles : 10 ≤ length ≤ 8000, La valeur doit correspondre à l'expression régulière ^http(s)?://([^/?#]*)([^?#]*)(?([^#]*))?(#(.*))?$ Exemple : https://us-south.iaas.cloud.ibm.com/v1/subnets/7ec86020-1c6e-4889-b3f0-a15f2e50f87e |
|
Identificateur unique de ce sous-réseau Valeurs possibles: 1 ≤ longueur ≤ 64, La valeur doit correspondre à l'expression régulière ^[-0-9a-z_]+$ Exemple: 7ec86020-1c6e-4889-b3f0-a15f2e50f87e |
version_ip Toujours inclus string |
Les versions IP prises en charge par ce sous-réseau. Valeurs possibles: [ipv4] |
** | ipv4_cidr_block** Toujours inclus string|La plage IPv4 du sous-réseau, exprimée au format CIDR. Valeurs possibles: 9 ≤ longueur ≤ 18, la valeur doit correspondre à l'expression régulière ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]).){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(/(3[0-2]|[1-2][0-9]|[0-9]))$ Exemple: 10.0.0.0/24 |
name Toujours inclus chaîne |
Nom de ce sous-réseau. Le nom est unique dans tous les sous-réseaux du VPC. Valeurs possibles: 1 ≤ longueur ≤ 63, la valeur doit correspondre à l'expression régulière ^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$ Exemple: my-subnet |
** | network_acl |
** | resource_group** Toujours inclus ResourceGroupReference |
resource_type Toujours inclus chaîne |
Type de ressource. Valeurs possibles: 1 ≤ longueur ≤ 128, la valeur doit correspondre à une expression régulière ^[a-z][a-z0-9]*(_[a-z0-9]+)*$ Exemple: subnet |
** | routing_table** Toujours inclus RoutingTableReference |
status Toujours inclus chaîne |
Statut du sous-réseau. Valeurs possibles: available ,deleting ,failed , pending |
Total_ipv4_address_count Toujours inclus int64 |
|
vpc Toujours inclus VPCReference |
VPC dans lequel réside ce sous-réseau. |
Zone Toujours inclus ZoneReference |
The zone dans laquelle ce sous-réseau réside. |
** | public_gateway** PublicGatewayReference |
Code de statut | |
---|---|
200 | Le sous-réseau a été extrait. |
404 | Un sous-réseau avec l'identifiant spécifié n'a pas pu être trouvé |
Pour plus d'informations (y compris les exemples Java, Node, Python et Go), voir "Extraire un sous-réseau" dans la référence de l'API VPC.