Configurar a diferenciação de tráfego

O Application Awareness ajuda a usar as conexões do Interconexão entre nuvens de maneira mais eficiente usando o ponto de código do campo de serviços diferenciados (DSCP) para a diferenciação de tráfego.

É possível configurar a diferenciação de tráfego para transferências de dados de saída do Interconexão entre nuvens usando o Application Awareness no Cloud Interconnect.

Quando você ativa o reconhecimento de aplicativos no Cloud Interconnect e marca o DSCP nos cabeçalhos IP das transferências de dados de saída para mapeá-los em classes de tráfego, as transferências de dados de saída recebem tratamento diferenciado no Cloud Interconnect.

Com a detecção de aplicativos, é possível:

  • Escolha um dos dois tipos de política, uma política de prioridade estrita ou uma política de porcentagem de largura de banda, para especificar como o Cloud Interconnect trata suas transferências de dados de saída classificadas em diferentes classes de tráfego.

  • Alocar a largura de banda de transferência de dados de saída do Interconexão entre nuvens entre seis classes de tráfego diferentes.

  • Use controles de modelagem de tráfego além de qualquer tipo de política para definir a largura de banda máxima que cada classe de tráfego pode usar nas transferências de dados de saída do Interconexão entre nuvens.

As seções a seguir descrevem a Application Awareness no Cloud Interconnect e como configurá-la para sua conexão do Interconexão entre nuvens.

Entre em contato com sua equipe de conta para ativar a Application Awareness no seu Interconexão entre nuvens.

Antes de começar

Antes de começar, faça o seguinte:

  • Entenda as práticas recomendadas ao configurar o Cloud Interconnect, principalmente para criar conexões redundantes do Cloud Interconnect com capacidade suficiente.

  • Verifique se não há tráfego de rede na conexão do Interconexão entre nuvens.

  • Considere as seguintes informações sobre a configuração do Application Awareness:

    • O DSCP no cabeçalho IP do tráfego de dados de saída determina a classe de tráfego de reconhecimento do aplicativo para fornecer diferenciação de tráfego. Marque o DSCP nos cabeçalhos de tráfego de dados IP de saída de acordo.

    • Para marcar um DSCP específico nas transferências de dados de saída do Cloud Interconnect originadas das APIs do Google, marque o mesmo DSCP nos pacotes de solicitação da API Google como o DSCP pretendido para o tráfego de resposta da API Google. As APIs do Google repetem (copiam) o DSCP do pacote IP de solicitação do cliente correspondente no tráfego de resposta, o que permite controlar o DSCP do tráfego de resposta da API do Google.

    • Ao usar o Private Service Connect, o comportamento de eco DSCP é compatível com as APIs do Google. É possível controlar o DSCP no tráfego de resposta da API do Google definindo o DSCP da solicitação de acordo. Isso permite controlar o DSCP nas transferências de dados de saída das APIs do Google a que você se conecta com o Private Service Connect.

    • Quando você usa o Private Service Connect, o retorno de eco DSCP não é compatível com serviços publicados hospedados na nuvem privada virtual (VPC). Portanto, o DSCP no tráfego de dados de resposta dos serviços publicados hospedados na VPC não pode ser controlado com o DSCP de tráfego de solicitação. Em vez disso, os back-ends de serviço hospedados na VPC correspondente determinam o DSCP nos pacotes de resposta.

Classes de tráfego

O Application Awareness usa o conceito de uma classe de tráfego, com base em intervalos de DSCP, para diferenciar o tráfego no Interconexão entre nuvens. A tabela a seguir descreve as seis classes de tráfego:

Classe de tráfego Intervalo DSCP interno (binário) Intervalo DSCP interno (decimal) Descrição e exemplos
TC1 000xxx 0-7 Tráfego com melhor esforço
TC2 001xxx 8-15 Tráfego em massa

Exemplo: transferência de arquivo

TC3 010xxx 16-23 Tráfego de operações, administração e gerenciamento

Exemplos: SNMP, SSH, ping, telnet

TC4 011xxx 24-31 Streaming ou vídeo ao vivo
TC5 10xxxx 32-47 Tráfego interativo ou voltado ao usuário
TC6 11xxxx 48-63 Tráfego de controle de rede essencial

Exemplos: controlar o tráfego de protocolos como BGP e BFD

Tipos de políticas disponíveis

A Application Awareness no Cloud Interconnect oferece dois tipos de políticas para determinar como as transferências de dados de saída são diferenciadas no Cloud Interconnect:

Prioridade rígida

Um tipo de política de prioridade estrita atribui um nível de prioridade a cada classe de tráfego para transferências de dados de saída. As transferências de dados de saída de maior prioridade são atribuídas à classe de tráfego TC6, enquanto as de menor prioridade são atribuídas à classe TC1.

A diferenciação estrita de prioridade não exige que você especifique configurações específicas da classe, porque a prioridade de cada classe de tráfego é predefinida. No entanto, para evitar a falta de recursos em classes de tráfego de baixa prioridade durante eventos de congestionamento, recomendamos que você especifique um perfil de modelagem de tráfego para limitar a largura de banda máxima usada por cada uma das suas classes de tráfego de alta prioridade.

Porcentagem de largura de banda

Com uma política de porcentagem de largura de banda, é possível especificar a participação de largura de banda de destino que cada classe de tráfego pode usar durante eventos de congestionamento no Cloud Interconnect. A atribuição de porcentagens a cada classe de tráfego ajuda a garantir que cada uma possa usar a parte especificada da largura de banda do Cloud Interconnect durante eventos de congestionamento.

Se houver largura de banda disponível porque uma classe de tráfego não está usando totalmente a cota atribuída, a largura de banda restante será compartilhada igualmente entre todas as outras classes de tráfego.

Controle de ajuste da programação

Além dos dois tipos de políticas, a detecção de aplicativos também oferece controles de modelagem de tráfego que permitem especificar a largura de banda máxima que cada classe de tráfego pode usar. É possível usar controles de modelagem de tráfego com políticas de prioridade estrita e com políticas de porcentagem de largura de banda.

Configurar um tipo de política de prioridade estrita

Siga estas etapas para configurar um tipo de política de prioridade estrita.

gcloud

Use o comando a seguir:

gcloud beta compute interconnects application-awareness \
    configure-strict-priority-policy INTERCONNECT_NAME \
    --profile-description=DESCRIPTION \
    --enabled

Substitua:

  • INTERCONNECT_NAME: o nome da interconexão a ser corrigida
  • DESCRIPTION: uma descrição de perfil para reconhecimento de aplicativos

API

Envie o seguinte objeto JSON para o endpoint interconnects.patch:

{
  "aaiEnabled":true,
  "applicationAwareInterconnect":
    {
      "profileDescription": "DESCRIPTION",
      "strictPriorityPolicy":{}
  },
}

Substitua DESCRIPTION por uma descrição para este perfil.

Configurar um tipo de política de prioridade estrita com um perfil de controle de tráfego

Se quiser, configure um tipo de política de prioridade estrita com um perfil de limitação de tráfego. Recomendamos que você use um perfil de modelagem de tráfego para ajudar a garantir que as classes de tráfego de prioridade mais baixa não sejam prejudicadas devido às classes de tráfego de prioridade mais alta durante eventos de congestionamento.

Siga estas etapas para configurar um tipo de política de prioridade estrita com um perfil de controle de tráfego. Especifique um valor numérico que represente a porcentagem máxima de largura de banda para cada classe de tráfego incluída. É possível definir o perfil de modelagem de tráfego para um subconjunto ou todas as seis classes de tráfego, de TC1 a TC6.

gcloud

  1. Use o comando a seguir para configurar a política de prioridade estrita:

    gcloud beta compute interconnects application-awareness \
        configure-strict-priority-policy INTERCONNECT_NAME \
        --profile-description=DESCRIPTION \
        --enabled
    

    Substitua:

    • INTERCONNECT_NAME: o nome da interconexão a ser corrigida
    • DESCRIPTION: uma descrição de perfil para reconhecimento de aplicativos
  2. Use o comando a seguir para configurar o perfil de modelagem de tráfego:

    gcloud beta compute interconnects application-awareness \
        configure-shaper-average-percentage INTERCONNECT_NAME \
        --profile-description=DESCRIPTION \
        --bandwidth-percentages="TC1=TC1_SHAPE_PERCENTAGE,TC2=TC2_SHAPE_PERCENTAGE,TC3=TC3_SHAPE_PERCENTAGE,TC4=TC4_SHAPE_PERCENTAGE,TC5=TC5_SHAPE_PERCENTAGE,TC6=TC6_SHAPE_PERCENTAGE" \
        --enabled
    

    Substitua:

    • INTERCONNECT_NAME: o nome da interconexão a ser corrigida
    • DESCRIPTION: uma descrição de perfil para reconhecimento de aplicativos
    • TC1_SHAPE_PERCENTAGE ... TC6_SHAPE_PERCENTAGE: um valor numérico que representa a porcentagem média de forma para cada classe de tráfego. Cada valor precisa ser menor ou igual a 100. É possível definir o perfil de controle de tráfego para um subconjunto ou todas as seis classes de tráfego, de TC1 a TC6.

API

Envie o seguinte objeto JSON para o endpoint interconnects.patch:

{
  "aaiEnabled": true,
  "applicationAwareInterconnect":
    {
      "profileDescription": "DESCRIPTION",
      "strictPriorityPolicy": {},
      "shapeAveragePercentages": [
          {
            "trafficClass": "TC1",
            "percentage": TC1_SHAPE_PERCENTAGE
          },
          {
            "trafficClass": "TC2",
            "percentage": TC2_SHAPE_PERCENTAGE
          },
          {
            "trafficClass": "TC3",
            "percentage": TC3_SHAPE_PERCENTAGE
          },
          {
            "trafficClass": "TC4",
            "percentage": TC4_SHAPE_PERCENTAGE
          },
          {
            "trafficClass": "TC5",
            "percentage": TC5_SHAPE_PERCENTAGE
          },
          {
            "trafficClass": "TC6",
            "percentage": TC6_SHAPE_PERCENTAGE
          }
        ]
    }
}

Substitua TC1_SHAPE_PERCENTAGE ... TC6__SHAPE_PERCENTAGE por um valor numérico que represente a porcentagem máxima de largura de banda para cada classe de tráfego. É possível definir o perfil de controle de tráfego para um subconjunto ou todas as seis classes de tráfego, de TC1 a TC6.

Para evitar falhas de rede, inclua o tráfego de controle de rede, como BGP e BFD, na classe de prioridade strict_policy mais alta.

Configurar a porcentagem de largura de banda

Siga as etapas abaixo para configurar a política de porcentagem de largura de banda.

gcloud

Use o comando a seguir:

gcloud beta compute interconnects application-awareness \
    configure-bandwidth-percentage-policy INTERCONNECT_NAME \
    --profile-description=DESCRIPTION \
    --bandwidth-percentages="TC1=TC1_PERCENTAGE,TC2=TC2_PERCENTAGE,TC3=TC3_PERCENTAGE,TC4=TC4_PERCENTAGE,TC5=TC5_PERCENTAGE,TC6=TC6_PERCENTAGE" \
    --enabled

Substitua:

  • INTERCONNECT_NAME: o nome da interconexão a ser corrigida
  • DESCRIPTION: uma descrição de perfil para reconhecimento de aplicativos
  • TC1_PERCENTAGE ... TC6_PERCENTAGE: um valor numérico que representa a porcentagem de largura de banda para cada classe de tráfego. Cada valor precisa ser menor ou igual a 100.

API

Envie o seguinte objeto JSON para o endpoint interconnects.patch:

{
  "aaiEnabled": true,
  "applicationAwareInterconnect":
    {
      "profileDescription": "DESCRIPTION",
      "bandwidthPercentagePolicy": {
        "bandwidthPercentages": [
          {
            "trafficClass": "TC1",
            "percentage": TC1_PERCENTAGE
          },
          {
            "trafficClass": "TC2",
            "percentage": TC2_PERCENTAGE
          },
          {
            "trafficClass": "TC3",
            "percentage": TC3_PERCENTAGE
          },
          {
            "trafficClass": "TC4",
            "percentage": TC4_PERCENTAGE
          },
          {
            "trafficClass": "TC5",
            "percentage": TC5_PERCENTAGE
          },
          {
            "trafficClass": "TC6",
            "percentage": TC6_PERCENTAGE
          }
        ]
    }
  }
}

Substitua:

  • DESCRIPTION: uma descrição para este perfil.
  • TC1_PERCENTAGE ... TC6_PERCENTAGE: um valor numérico diferente de zero que representa a porcentagem de cada classe de tráfego. As porcentagens de largura de banda de todas as classes de tráfego precisam somar 100.

Configurar a porcentagem de largura de banda com um perfil de controle de tráfego

Também é possível configurar uma política de porcentagem de largura de banda com um perfil de limitação de tráfego. Um perfil de modelagem de tráfego ajuda a definir a largura de banda máxima que cada classe de tráfego pode consumir.

Siga estas etapas para configurar uma política de porcentagem de largura de banda com um perfil de controle de tráfego. Um valor diferente de zero precisa ser especificado para cada classe de tráfego, e as porcentagens de largura de banda de todas as classes de tráfego precisam somar 100.

gcloud

  1. Use o comando a seguir para configurar a política de porcentagem de largura de banda:

    gcloud beta compute interconnects application-awareness \
        configure-bandwidth-percentage-policy INTERCONNECT_NAME \
        --profile-description=DESCRIPTION \
        --bandwidth-percentages="TC1=TC1_PERCENTAGE,TC2=TC2_PERCENTAGE,TC3=TC3_PERCENTAGE,TC4=TC4_PERCENTAGE,TC5=TC5_PERCENTAGE,TC6=TC6_PERCENTAGE" \
        --enabled
    

    Substitua:

    • INTERCONNECT_NAME: o nome da interconexão a ser corrigida
    • DESCRIPTION: uma descrição de perfil para reconhecimento de aplicativos
    • TC1_PERCENTAGE ... TC6_PERCENTAGE: um valor numérico que representa a porcentagem de largura de banda para cada classe de tráfego. Cada valor precisa ser menor ou igual a 100.
  2. Use o comando a seguir para configurar o perfil de modelagem de tráfego:

    gcloud beta compute interconnects application-awareness \
        configure-shaper-average-percentage INTERCONNECT_NAME \
        --profile-description=DESCRIPTION \
        --bandwidth-percentages="TC1=TC1_SHAPE_PERCENTAGE,TC2=TC2_SHAPE_PERCENTAGE,TC3=TC3_SHAPE_PERCENTAGE,TC4=TC4_SHAPE_PERCENTAGE,TC5=TC5_SHAPE_PERCENTAGE,TC6=TC6_SHAPE_PERCENTAGE" \
        --enabled
    

    Substitua:

    • INTERCONNECT_NAME: o nome da interconexão a ser corrigida
    • DESCRIPTION: uma descrição de perfil para reconhecimento de aplicativos
    • TC1_SHAPE_PERCENTAGE ... TC6_SHAPE_PERCENTAGE: um valor numérico que representa a porcentagem média de forma para cada classe de tráfego. Cada valor precisa ser menor ou igual a 100. É possível definir o perfil de controle de tráfego para um subconjunto ou todas as seis classes de tráfego, de TC1 a TC6.

API

Envie o seguinte objeto JSON para o endpoint interconnects.patch:

{
  "aaiEnabled": true,
  "applicationAwareInterconnect":
    {
      "profileDescription": "DESCRIPTION",
      "bandwidthPercentagePolicy": {
        "bandwidthPercentages": [
          {
            "trafficClass": "TC1",
            "percentage": TC1_PERCENTAGE
          },
          {
            "trafficClass": "TC2",
            "percentage": TC2_PERCENTAGE
          },
          {
            "trafficClass": "TC3",
            "percentage": TC3_PERCENTAGE
          },
          {
            "trafficClass": "TC4",
            "percentage": TC4_PERCENTAGE
          },
          {
            "trafficClass": "TC5",
            "percentage": TC5_PERCENTAGE
          },
          {
            "trafficClass": "TC6",
            "percentage": TC6_PERCENTAGE
          }
        ]
    },
      "shapeAveragePercentages": [
          {
            "trafficClass": "TC1",
            "percentage": TC1_SHAPE_PERCENTAGE
          },
          {
            "trafficClass": "TC2",
            "percentage": TC2_SHAPE_PERCENTAGE
          },
          {
            "trafficClass": "TC3",
            "percentage": TC3_SHAPE_PERCENTAGE
          },
          {
            "trafficClass": "TC4",
            "percentage": TC4_SHAPE_PERCENTAGE
          },
          {
            "trafficClass": "TC5",
            "percentage": TC5_SHAPE_PERCENTAGE
          },
          {
            "trafficClass": "TC6",
            "percentage": TC6_SHAPE_PERCENTAGE
          }
        ]
    }
}

Substitua:

  • DESCRIPTION: uma descrição para este perfil
  • TC1_PERCENTAGE ... TC6_PERCENTAGE: um valor numérico que representa a porcentagem de cada classe de tráfego.
  • TC1_SHAPE_PERCENTAGE ... TC6_SHAPE_PERCENTAGE: um valor numérico que representa a porcentagem média de forma para cada classe de tráfego. Cada valor precisa ser menor ou igual a 100. É possível definir o perfil de controle de tráfego para um subconjunto ou todas as seis classes de tráfego, de TC1 a TC6.

Para evitar falhas de rede, inclua o tráfego de controle de rede, como BGP e BFD, na configuração de porcentagem de largura de banda adequada.

Excluir políticas de diferenciação de tráfego

Para excluir políticas de diferenciação de tráfego, siga estas etapas.

gcloud

Use o comando a seguir:

gcloud beta compute interconnects application-awareness delete INTERCONNECT_NAME

Substitua INTERCONNECT_NAME pelo nome da interconexão em que você configurou uma política de diferenciação de tráfego.

API

Envie o seguinte objeto JSON para o endpoint interconnects.patch:

{
  "applicationAwareInterconnect":
  {
    "profileDescription": null,
    "strictPriorityPolicy": null,
    "bandwidthPercentagePolicy": null,
    "shapeAveragePercentages": null
  }
}

Desativar a diferenciação de tráfego

Para desativar a diferenciação de tráfego, siga estas etapas:

gcloud

Use o comando a seguir:

gcloud beta compute interconnects application-awareness update INTERCONNECT_NAME \
    --no-enabled

Substitua INTERCONNECT_NAME pelo nome do interconexão a ser atualizada.

API

Envie o seguinte objeto JSON para o endpoint interconnects.patch:

{
  "aaiEnabled": false
}

A seguir