Créer des ensembles nommés

Ce guide explique comment créer un ensemble nommé dans Cloud Router.

Les exemples de cette page créent deux ensembles nommés de types différents : un ensemble de préfixes et un ensemble de communautés.

L'ensemble de préfixes est nommé allowed-prefixes et contient les éléments suivants :

  • '192.168.0.0/16'
  • 'fd00::/8'
  • prefix('10.0.0.0/20').orLonger()

L'ensemble de la communauté nommé allowed-communities contient les éléments suivants :

  • '64500:100'
  • '64500:200'

Vous pouvez créer des ensembles nommés pour Cloud Router de deux manières :

Créer des ensembles nommés

Les noms des ensembles nommés doivent être uniques dans le routeur. Cette section explique comment créer des ensembles nommés à l'aide de la gcloud CLI.

Créer un ensemble de préfixes

Pour créer un ensemble de préfixes :

  1. Pour créer un ensemble de préfixes vide nommé allowed-prefixes, exécutez la commande suivante :
    gcloud compute routers add-named-set ROUTER_NAME
        --set-name=allowed-prefixes
        --set-type=prefix
    
    Remplacez ROUTER_NAME par le nom du routeur Cloud Router.
  2. Pour ajouter chacun des éléments à l'ensemble nommé allowed-prefixes, exécutez la commande add-named-set-element pour chaque élément :

    gcloud compute routers add-named-set-element ROUTER_NAME
        --set-name=allowed-prefixes
        --new-set-element="'192.168.0.0/16'"

    gcloud compute routers add-named-set-element ROUTER_NAME --set-name=allowed-prefixes --new-set-element="'fd00::/8'"

    gcloud compute routers add-named-set-element ROUTER_NAME --set-name=allowed-prefixes --new-set-element="prefix('10.0.0.0/20').orLonger()"

Créer un ensemble de ressources pour la communauté

Pour créer un ensemble de communautés :

  1. Pour créer un ensemble de communautés vide appelé allowed-communities, exécutez la commande suivante :
    gcloud compute routers add-named-set ROUTER_NAME
        --set-name=allowed-communities
        --set-type=community
    
  2. Pour ajouter chacun des éléments à l'ensemble nommé allowed-communities, exécutez la commande add-named-set-element pour chaque élément :

    gcloud compute routers add-named-set-element ROUTER_NAME
        --set-name=allowed-communities
        --new-set-element="'64500:100'"

    gcloud compute routers add-named-set-element ROUTER_NAME --set-name=allowed-communities --new-set-element="'64500:200'"

Importer des ensembles nommés

Lorsque vous créez un fichier JSON ou YAML, utilisez l'un des types d'ensemble nommé suivants :

  • NAMED_SET_TYPE_COMMUNITY
  • NAMED_SET_TYPE_PREFIX

La commande upload-named-set écrase tout ensemble nommé portant le même nom.

  1. Pour créer des ensembles nommés allowed-prefixes et allowed-communities, créez-les dans l'éditeur de texte de votre choix. Vous pouvez les créer au format YAML ou JSON.

    allowed-prefixes.yaml :

    # Prefix set
    resource:
      elements:
      - expression: "'192.168.0.0/16'"
      - expression: "'fd00::/8'"
      - expression: "prefix('10.0.0.0/20').orLonger()"
      name: allowed-prefixes
      type: NAMED_SET_TYPE_PREFIX
    

    allowed-communities.yaml :

    # Community set
    resource:
      elements:
      - expression: "'64500:100'"
      - expression: "'64500:200'"
      name: allowed-communities
      type: NAMED_SET_TYPE_COMMUNITY
    
  2. Pour importer les ensembles nommés, exécutez les commandes suivantes :

    gcloud compute routers upload-named-set ROUTER_NAME
        --set-name=allowed-prefixes
        --file-name=allowed-prefixes.yaml
        --file-format=json
    

    gcloud compute routers upload-named-set ROUTER_NAME
        --set-name=allowed-communities
        --file-name=allowed-communities.json
        --file-format=json
    

    Remplacez ROUTER_NAME par le nom du routeur Cloud Router.

Éléments de l'ensemble de préfixes

Les éléments des ensembles de préfixes doivent être un littéral de préfixe (chaîne) ou un objet de plage de préfixes. Il s'agit des mêmes littéraux de préfixe et plages de préfixes définis pour une utilisation dans les règles de routage.

Le tableau suivant décrit chaque élément d'un ensemble de préfixes.

Expression Description

'192.168.0.0/24'

Littéral de préfixe.

prefix('192.168.0.0/24')

Objet de correspondance de préfixe.

p.longer()

Objet de plage de préfixes qui est une copie de p, dont la fin de la plage est définie sur la valeur maximale par famille d'adresses du préfixe d'entrée (/32 ou /128), et le début de la plage définie sur la longueur du préfixe d'entrée plus un.

p.orLonger()

Objet de plage de préfixes qui est une copie de p, dont la fin de la plage est définie sur la valeur maximale par famille d'adresses du préfixe d'entrée (/32 ou /128).

p.lengthRange(20, 30)

Objet de plage de préfixes qui est une copie de p, dont le début de la plage est défini sur /20 et la fin sur /30.

p.upTo(30)

Objet de plage de préfixes qui est une copie de p dont la fin de la plage est définie sur le préfixe d'entrée /30.

Éléments d'un ensemble de la communauté

Les éléments des ensembles de communautés doivent être des chaînes de communautés au format A:B lisible par l'utilisateur.

Le tableau suivant décrit les éléments d'un ensemble de communautés.

Expression Description

'A:B'

Littéral de la communauté.

Étapes suivantes