이름이 지정된 세트 관리

이 가이드에서는 Cloud Router BGP 경로 정책의 명명된 집합을 다음과 같이 업데이트하는 방법을 설명합니다.

  • 이름이 지정된 세트 나열
  • 이름이 지정된 세트 삭제
  • 이름이 지정된 세트 업데이트
  • 이름이 지정된 세트 요소 추가
  • 이름이 지정된 세트 요소 삭제

라우터의 이름이 지정된 세트 나열

list-named-sets 명령어를 사용하여 단일 라우터에 정의된 명명된 세트의 이름과 유형을 확인합니다.

gcloud compute routers list-named-sets ROUTER_NAME

ROUTER_NAME을 Cloud Router 이름으로 바꿉니다.

이름이 지정된 세트 삭제

명명된 세트가 라우터의 BGP 경로 정책에서 참조되는 경우 명명된 세트를 삭제할 수 없습니다.

gcloud compute routers remove-named-set ROUTER_NAME
    --set-name=SET_NAME

다음을 바꿉니다.

  • ROUTER_NAME: Cloud Router의 이름
  • SET_NAME: 삭제하려는 명명된 세트의 이름

라우터에서 이름이 지정된 세트 업데이트

기존 명명된 세트를 업데이트할 때는 download-named-set 명령어를 사용하여 라우터에서 YAML 또는 JSON 형식으로 명명된 세트를 다운로드하는 것이 좋습니다. YAML 또는 JSON 파일을 로컬로 편집한 다음 upload-named-set 명령어를 사용하여 업데이트된 파일을 라우터에 업로드합니다. upload-named-set 명령어는 기존 명명된 세트를 덮어씁니다.

라우터에서 다운로드하는 파일에는 Cloud Router가 기존 명명된 세트를 일치시키고 충돌하는 업데이트를 방지하는 데 사용하는 fingerprint 필드가 포함됩니다.

  1. 이름이 지정된 세트를 다운로드하려면 download-named-set 명령어를 실행합니다.

    gcloud compute routers download-named-set ROUTER_NAME
        --set-name=SET_NAME
        --file-name=FILE_NAME
        --file-format=FORMAT
    

    다음을 바꿉니다.

    • ROUTER_NAME을 Cloud Router 이름으로 바꿉니다.
    • SET_NAME을 세트 이름으로 바꿉니다.
    • FILE_NAME을 명명된 세트에 원하는 파일 이름(경로 및 파일 이름 확장자 포함)으로 바꿉니다.
    • FORMAT를 명명된 세트의 형식(JSON 또는 YAML)으로 바꿉니다.
  2. JSON 또는 YAML 형식을 사용하여 원하는 텍스트 편집기에서 다운로드한 명명된 세트를 수정합니다.

    다음 예에서는 두 개의 YAML 파일을 사용하여 allowed-prefixesallowed-communities이라는 명명된 세트를 업데이트합니다.

    allowed-prefixes.yaml:

    # Prefix set
    resource:
      elements:
      - expression: "'192.168.1.0/24'"
      - 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:300'"
      name: allowed-communities
      type: NAMED_SET_TYPE_COMMUNITY
    
  3. 이름이 지정된 세트를 업로드하려면 upload-named-set 명령어를 실행합니다.

    gcloud compute routers upload-named-set ROUTER_NAME
        --set-name=SET
        --file-name=NAME
        --file-format=FORMAT
    

    다음을 바꿉니다.

    • ROUTER_NAME을 Cloud Router 이름으로 바꿉니다.
    • SET을 세트 이름으로 바꿉니다.
    • NAME을 수정된 YAML 또는 JSON 파일의 위치와 파일 이름으로 바꿉니다.
    • FORMAT를 명명된 세트의 형식(JSON 또는 YAML)으로 바꿉니다.

이름이 지정된 집합 요소 추가

다음 명령어를 실행합니다.

gcloud compute routers add-named-set-element ROUTER_NAME
    --set-name=SET_NAME
    --new-set-element=CEL_EXPRESSION

다음을 바꿉니다.

  • ROUTER_NAME: Cloud Router의 이름
  • SET_NAME: 업데이트하려는 명명된 세트의 이름
  • CEL_EXPRESSION: 집합에 추가할 요소로서 Common Expression Language (CEL)로 표현됩니다.

이름이 지정된 세트 요소 삭제

다음 명령어를 실행합니다.

gcloud compute routers remove-named-set-element ROUTER_NAME
    --set-name=SET_NAME
    --set-element=CEL_EXPRESSION

다음을 바꿉니다.

  • ROUTER_NAME: Cloud Router의 이름
  • SET_NAME: 업데이트하려는 명명된 세트의 이름
  • CEL_EXPRESSION: 집합에서 삭제할 요소로서 Common Expression Language (CEL)로 표현됩니다.

다음 단계