멀티캐스트 그룹 범위 만들기

이 페이지에서는 멀티캐스트 관리자가 멀티캐스트 그룹 범위를 만들려면 따라야 하는 단계를 설명합니다.

멀티캐스트 구성 프로세스에 관한 개요는 멀티캐스트 구성 개요를 참조하세요.

시작하기 전에

멀티캐스트 그룹 범위는 특정 멀티캐스트 도메인과 연결되어야 합니다. 멀티캐스트 그룹 범위를 만들기 전에 멀티캐스트 도메인을 만드는 단계를 따르세요.

멀티캐스트 그룹 범위 만들기

이 섹션에서는 도메인에서 멀티캐스트 그룹 범위를 만드는 방법을 설명합니다. 이 단계를 반복하여 지정된 도메인에 여러 그룹 범위를 만들 수 있습니다.

그룹 범위 만들기

멀티캐스트 그룹 IP 주소 범위를 멀티캐스트 도메인과 연결합니다.

gcloud

  1. 사용할 멀티캐스트 그룹 IP 주소가 포함된 멀티캐스트 관리자 VPC 네트워크에서 내부 범위를 예약합니다. 내부 범위를 예약하려면 network-connectivity internal-ranges create 명령어를 사용합니다.

    gcloud network-connectivity internal-ranges create INTERNAL_RANGE_NAME \
       --network=ADMIN_NETWORK \
       --ip-cidr-range=CIDR_RANGE
    

    다음 값을 바꿉니다.

    • INTERNAL_RANGE_NAME: 예약할 내부 범위의 이름
    • ADMIN_NETWORK: 멀티캐스트 관리자 네트워크의 이름
    • CIDR_RANGE: 예약할 CIDR 범위

      지정하는 CIDR 범위는 클래스 D 주소(예: 224.0.0.0~239.255.255.255)여야 하며 /23보다 크거나 같은 프리픽스가 있어야 합니다. 예를 들어 224.1.60.0/24는 유효한 범위입니다. 프리픽스 길이가 /22 이하인 범위는 유효하지 않습니다.

    내부 범위 만들기에 관한 자세한 내용은 내부 범위 만들기 및 사용을 참조하세요.

  2. 예약한 내부 범위를 사용하여 멀티캐스트 그룹 범위를 만듭니다. 멀티캐스트 그룹 범위를 만들려면 network-services multicast-group-ranges create 명령어를 사용합니다.

    gcloud network-services multicast-group-ranges create GROUP_RANGE_NAME \
       --multicast-domain="projects/ADMIN_PROJECT/locations/global/multicastDomains/DOMAIN_NAME" \
       --reserved-internal-range="projects/ADMIN_PROJECT/locations/global/internalRanges/INTERNAL_RANGE_NAME" \
       --location=global \
       [--require-explicit-accept ] \
       [--consumer-accept-list=CONSUMER_ACCEPT_LIST] \
       [--distribution-scope=DISTRIBUTION_SCOPE] \
       [--enable-logging | --no-enable-logging]
    

    다음 값을 바꿉니다.

    • GROUP_RANGE_NAME: 멀티캐스트 그룹 범위의 이름
    • DOMAIN_NAME: 이전에 만든 멀티캐스트 도메인의 이름
    • ADMIN_PROJECT: 멀티캐스트 관리자 프로젝트의 ID
    • INTERNAL_RANGE_NAME: 이전에 예약한 내부 범위의 이름
    • 멀티캐스트 트래픽, 그룹 구성원십, 로깅에 대해 다음 속성을 지정합니다.

      트래픽 분산 범위를 제외하고 나중에 필요에 따라 각 속성을 업데이트할 수 있습니다.

      • --require-explicit-accept: 멀티캐스트 소비자 수락 목록이 비어 있는 경우 멀티캐스트 그룹 범위를 사용할 수 있는 프로젝트를 결정합니다. 이 구성은 멀티캐스트 소비자 프로젝트가 그룹 범위의 멀티캐스트 소비자 VPC 네트워크를 활성화할 수 있는지 여부를 결정합니다.
        • 모든 프로젝트를 거부하려면 이 플래그를 포함합니다. 프로젝트에서는 그룹 범위를 멀티캐스트 소비자 수락 목록에 추가한 경우에만 사용할 수 있습니다.
        • (기본값) 모든 프로젝트를 허용하려면 이 플래그를 제외합니다. 멀티캐스트 도메인에 액세스할 수 있는 프로젝트는 그룹 범위를 사용할 수 있습니다. Network Connectivity Center 스타 토폴로지에서 허브에 도메인을 수락하여 프로젝트에 도메인 액세스 권한을 부여합니다.
      • CONSUMER_ACCEPT_LIST: --require-explicit-accept를 지정한 경우 이 멀티캐스트 그룹 범위를 사용할 수 있는 멀티캐스트 소비자 프로젝트 목록을 입력할 수 있습니다. 멀티캐스트 소비자 프로젝트가 수락 목록에 없으면 프로젝트에서 이 그룹 범위를 사용하여 멀티캐스트 소비자 구성을 만들 수 없습니다.

        프로젝트 ID 또는 이름으로 최대 100개의 프로젝트를 지정할 수 있습니다.

      • DISTRIBUTION_SCOPE: 멀티캐스트 트래픽의 위치 범위를 결정합니다. 이 속성은 나중에 업데이트할 수 없습니다.

        • 이 범위가 한 영역 내에서만 멀티캐스트 트래픽을 전송하도록 허용하려면 이 플래그를 intra-zone으로 설정합니다.
        • (기본값) 이 범위에서 영역 전반에 멀티캐스트 트래픽을 전송하도록 허용하려면 이 플래그를 intra-region으로 설정합니다.
      • --[no-]enable-logging: 그룹 멤버십 이벤트 로깅이 사용 설정되어 있는지 여부를 결정합니다.

        • 로깅을 사용 설정하려면 --enable-logging을 사용합니다.
        • (기본값) 로깅을 중지하려면 --no-enable-logging을 사용합니다.

API

  1. 사용할 멀티캐스트 그룹 IP 주소가 포함된 멀티캐스트 관리자 VPC 네트워크에서 내부 범위를 예약합니다. 내부 범위를 예약하려면 internalRanges.create 메서드를 사용합니다.

    POST https://networkconnectivity.googleapis.com/v1/projects/ADMIN_PROJECT/locations/global/internalRanges?internalRangeId=INTERNAL_RANGE_NAME
    {
      "network": "projects/ADMIN_PROJECT/global/networks/ADMIN_NETWORK",
      "ipCidrRange": "CIDR_RANGE"
    }
    

    다음 값을 바꿉니다.

    • INTERNAL_RANGE_NAME: 예약할 내부 범위의 이름
    • ADMIN_PROJECT: 멀티캐스트 관리자 프로젝트의 ID
    • ADMIN_NETWORK: 멀티캐스트 관리자 네트워크의 이름
    • CIDR_RANGE: 예약할 CIDR 범위

      지정하는 CIDR 범위는 클래스 D 주소(예: 224.0.0.0~239.255.255.255)여야 하며 /23보다 크거나 같은 프리픽스가 있어야 합니다. 예를 들어 224.1.60.0/24는 유효한 범위입니다. 프리픽스 길이가 /22 이하인 범위는 유효하지 않습니다.

    내부 범위 만들기에 관한 자세한 내용은 내부 범위 만들기 및 사용을 참조하세요.

  2. 예약한 내부 범위를 사용하여 멀티캐스트 그룹 범위를 만듭니다. 멀티캐스트 그룹 범위를 만들려면 multicastGroupRanges.create 메서드를 사용합니다.

    POST https://networkservices.googleapis.com/v1/projects/ADMIN_PROJECT/locations/global/multicastGroupRanges?multicastGroupRangeId=GROUP_RANGE_NAME
    {
      "multicastDomain": "projects/ADMIN_PROJECT/locations/global/multicastDomains/DOMAIN_NAME",
      "reservedInternalRange": "projects/ADMIN_PROJECT/locations/global/internalRanges/INTERNAL_RANGE_NAME",
      "requireExplicitAccept": "REQUIRE_EXPLICIT_ACCEPT",
      "consumerAcceptList": [
          "CONSUMER_ACCEPT_LIST"
      ],
      "distributionScope": "DISTRIBUTION_SCOPE",
      "logConfig": {
          "enabled": "LOGGING_ENABLED"
     }
    }
    

    다음 값을 바꿉니다.

    • GROUP_RANGE_NAME: 멀티캐스트 그룹 범위의 이름
    • ADMIN_PROJECT: 멀티캐스트 관리자 프로젝트의 ID
    • DOMAIN_NAME: 이전에 만든 멀티캐스트 도메인의 이름
    • INTERNAL_RANGE_NAME: 이전에 예약한 내부 범위의 이름

    멀티캐스트 트래픽, 그룹 멤버십, 로깅의 속성을 지정하려면 요청 본문에 다음 필드를 포함합니다. 트래픽 분산 범위를 제외하고 나중에 필요에 따라 각 속성을 업데이트할 수 있습니다.

    • REQUIRE_EXPLICIT_ACCEPT: consumerAcceptList이 비어 있는 경우 멀티캐스트 그룹 범위를 사용할 수 있는 프로젝트를 결정합니다. 이 구성은 멀티캐스트 소비자 프로젝트가 그룹 범위의 멀티캐스트 소비자 VPC 네트워크를 활성화할 수 있는지 여부를 결정합니다.
      • 모든 프로젝트를 거부하려면 true로 설정합니다. 프로젝트에서는 그룹 범위를 consumerAcceptList에 추가한 경우에만 사용할 수 있습니다.
      • (기본값) 모든 프로젝트를 허용하려면 false로 설정합니다. 멀티캐스트 도메인에 액세스할 수 있는 프로젝트는 그룹 범위를 사용할 수 있습니다. Network Connectivity Center 스타 토폴로지에서 허브에 도메인을 수락하여 프로젝트에 도메인 액세스 권한을 부여합니다.
    • CONSUMER_ACCEPT_LIST: requireExplicitAccepttrue로 설정하면 이 멀티캐스트 그룹 범위를 사용할 수 있는 멀티캐스트 소비자 프로젝트 목록을 입력할 수 있습니다.

      멀티캐스트 소비자 프로젝트가 수락 목록에 없으면 프로젝트에서 이 그룹 범위를 사용하여 멀티캐스트 소비자 구성을 만들 수 없습니다.

      프로젝트 ID 또는 이름으로 최대 100개의 프로젝트를 지정할 수 있습니다. "consumerAcceptList": ["project-1", "project-2"] 형식을 사용하세요.

    • DISTRIBUTION_SCOPE: 멀티캐스트 트래픽의 위치 범위를 결정합니다. 이 속성은 나중에 업데이트할 수 없습니다.

      • 이 범위가 한 영역 내에서만 멀티캐스트 트래픽을 전송하도록 허용하려면 INTRA_ZONE으로 설정합니다.
      • (기본값) 이 범위에서 영역 전반에 멀티캐스트 트래픽을 전송하도록 허용하려면 INTRA_REGION으로 설정합니다.
    • LOGGING_ENABLED: 그룹 멤버십 이벤트 로깅이 사용 설정되어 있는지 여부를 결정합니다.

      • 로깅을 사용 설정하려면 true로 설정합니다.
      • (기본값) 로깅을 사용 중지하려면 false로 설정합니다.

그룹 범위 활성화

멀티캐스트 프로듀서 또는 소비자가 연결된 그룹 IP 주소를 사용해야 하는 각 영역에서 그룹 범위를 활성화합니다.

특정 영역에서 그룹 범위를 활성화하지 않으면 연결된 그룹 IP 주소를 사용하여 해당 영역에서 멀티캐스트 트래픽을 보내거나 받을 수 없습니다.

gcloud

멀티캐스트 그룹 범위를 활성화하려면 network-services multicast-group-range-activations create 명령어를 사용합니다.

  gcloud network-services multicast-group-range-activations create GROUP_RANGE_ACTIVATION_NAME \
     --multicast-domain-activation="projects/ADMIN_PROJECT/locations/ZONE/multicastDomainActivations/DOMAIN_ACTIVATION_NAME" \
     --multicast-group-range="projects/ADMIN_PROJECT/locations/global/multicastGroupRanges/GROUP_RANGE_NAME" \
     --location=ZONE \
     [--enable-logging | --no-enable-logging]

다음 값을 바꿉니다.

  • GROUP_RANGE_ACTIVATION_NAME: 멀티캐스트 그룹 범위 활성화의 이름
  • ADMIN_PROJECT: 멀티캐스트 관리자의 프로젝트 ID
  • ZONE: 그룹 범위를 활성화할 영역. 이전에 도메인을 활성화한 영역이어야 합니다.
  • DOMAIN_ACTIVATION_NAME: 이 영역에서 이전에 만든 도메인 활성화의 이름
  • GROUP_RANGE_NAME: 이전에 만든 그룹 범위의 이름
  • --[no-]enable-logging: (선택사항) 그룹 멤버십 이벤트 로깅이 사용 설정되어 있는지 여부를 결정합니다. 영역 그룹 범위 활성화에서 이 플래그를 구성하면 전역 그룹 범위의 설정이 재정의됩니다.
    • 로깅을 사용 설정하려면 --enable-logging을 사용합니다.
    • (기본값) 로깅을 중지하려면 --no-enable-logging을 사용합니다.

API

멀티캐스트 그룹 범위를 활성화하려면 multicastGroupRangeActivations.create 메서드를 사용합니다.

POST https://networkservices.googleapis.com/v1/projects/ADMIN_PROJECT/locations/ZONE/multicastGroupRangeActivations?multicastGroupRangeActivationId=GROUP_RANGE_ACTIVATION_NAME
{
    "multicastDomainActivation": "projects/ADMIN_PROJECT/locations/ZONE/multicastDomainActivations/DOMAIN_ACTIVATION_NAME",
    "multicastGroupRange": "projects/ADMIN_PROJECT/locations/global/multicastGroupRanges/GROUP_RANGE_NAME",
    "logConfig": {
          "enabled": "LOGGING_ENABLED"
    }
}

다음 값을 바꿉니다.

  • GROUP_RANGE_ACTIVATION_NAME: 멀티캐스트 그룹 범위 활성화의 이름
  • ADMIN_PROJECT: 멀티캐스트 관리자의 프로젝트 ID
  • ZONE: 그룹 범위를 활성화할 영역. 이전에 도메인을 활성화한 영역이어야 합니다.
  • DOMAIN_ACTIVATION_NAME: 이 영역에서 이전에 만든 도메인 활성화의 이름
  • GROUP_RANGE_NAME: 이전에 만든 그룹 범위의 이름
  • LOGGING_ENABLED: 그룹 멤버십 이벤트 로깅이 사용 설정되어 있는지 여부를 결정합니다. 영역 그룹 범위 활성화에서 로깅을 구성하면 전역 그룹 범위의 설정이 재정의됩니다.
    • 로깅을 사용 설정하려면 true로 설정합니다.
    • (기본값) 로깅을 사용 중지하려면 false로 설정합니다.

다음 단계