Publicar logs de fluxo no Kinesis Data Firehose - Amazon Virtual Private Cloud

Publicar logs de fluxo no Kinesis Data Firehose

Os logs de fluxo podem publicar dados de logs de fluxo diretamente no Kinesis Data Firehose.

Ao publicar no Kinesis Data Firehose, os dados de logs de fluxo são publicados em um fluxo de entrega do Kinesis Data Firehose, em formato de texto sem formatação.

Preços

São aplicadas as taxas padrão de ingestão e entrega. Para obter mais informações, abra Amazon CloudWatch Pricing (Preços do Amazon CloudWatch), selecione Logs e encontre Vended Logs (Logs fornecidos).

Perfis do IAM para entrega entre contas

Ao publicar no Kinesis Data Firehose, você pode escolher um fluxo de entrega que esteja na mesma conta que o recurso a ser monitorado (a conta de origem) ou em uma conta diferente (a conta de destino). Para permitir a entrega de logs de fluxo entre contas no Kinesis Data Firehose, você deve criar um perfil do IAM na conta de origem e um perfil do IAM na conta de destino.

Função da conta de origem

Na conta de origem, crie uma função que conceda as seguintes permissões. Neste exemplo, o nome da função é mySourceRole, mas você pode escolher um nome diferente para esta função. A última instrução permite que a função na conta de destino assuma esta função. As instruções de condição garantem que essa função seja passada somente para o serviço de entrega de logs e somente ao ser monitorado o recurso especificado. Ao criar sua política, especifique as VPCs, as interfaces de rede ou as sub-redes que você está monitorando com a chave de condição iam:AssociatedResourceARN.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::source-account:role/mySourceRole", "Condition": { "StringEquals": { "iam:PassedToService": "delivery.logs.amazonaws.com" }, "StringLike": { "iam:AssociatedResourceARN": [ "arn:aws:ec2:region:source-account:vpc/vpc-00112233344556677" ] } } }, { "Effect": "Allow", "Action": [ "logs:CreateLogDelivery", "logs:DeleteLogDelivery", "logs:ListLogDeliveries", "logs:GetLogDelivery" ], "Resource": "*" }, { "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::destination-account:role/AWSLogDeliveryFirehoseCrossAccountRole" } ] }

Verifique se a essa função tem a política de confiança a seguir, que permite que o serviço de entrega de logs assuma a função.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Na conta de origem, use o procedimento a seguir para criar a função.

Para criar a função da conta de origem
  1. Abra o console do IAM em https://console.aws.amazon.com/iam/.

  2. No painel de navegação, escolha Policies (Políticas).

  3. Escolha Create policy (Criar política).

  4. Na página Create policy (Criar política) faça o seguinte:

    1. Selecione JSON.

    2. Substitua o conteúdo dessa janela pela política de permissões no início desta seção.

    3. Selecione Next: Tags (Próximo: tags) e Next: Review (Próximo: revisar).

    4. Insira um nome e uma descrição opcional para a política e escolha Create policy (Criar política).

  5. No painel de navegação, escolha Roles.

  6. Selecione Create role.

  7. Em Trusted entity type (Tipo de entidade confiável), escolha Custom trust policy (Política de confiança personalizada). Em Custom trust policy (Política de confiança personalizada), substitua "Principal": {}, pelo seguinte, que especifica o serviço de entrega de logs. Escolha Next (Próximo).

    "Principal": { "Service": "delivery.logs.amazonaws.com" },
  8. Na página Add permissions (Adicionar permissões), marque a caixa de seleção correspondente à política que você criou anteriormente neste procedimento e, em seguida, escolha Next (Próximo).

  9. Insira um nome para a função e, opcionalmente, uma descrição.

  10. Selecione Create role (Criar função).

Função da conta de destino

Na conta de destino, crie uma função com um nome que comece com AWSLogDeliveryFirehoseCrossAccountRole. Essa função deve conceder as seguintes permissões.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole", "firehose:TagDeliveryStream" ], "Resource": "*" } ] }

Certifique-se de que essa função tenha a seguinte política de confiança, que permite que a função que você criou na conta de origem assuma esta função.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::source-account:role/mySourceRole" }, "Action": "sts:AssumeRole" } ] }

Na conta de destino, use o procedimento a seguir para criar a função.

Para criar a função da conta de destino
  1. Abra o console do IAM em https://console.aws.amazon.com/iam/.

  2. No painel de navegação, escolha Policies (Políticas).

  3. Escolha Create policy (Criar política).

  4. Na página Create policy (Criar política) faça o seguinte:

    1. Selecione JSON.

    2. Substitua o conteúdo dessa janela pela política de permissões no início desta seção.

    3. Selecione Next: Tags (Próximo: tags) e Next: Review (Próximo: revisar).

    4. Insira um nome para a política que comece com AWSLogDeliveryFirehoseCrossAccountRole e, em seguida, escolha Create policy (Criar política).

  5. No painel de navegação, escolha Roles.

  6. Selecione Create role.

  7. Em Trusted entity type (Tipo de entidade confiável), escolha Custom trust policy (Política de confiança personalizada). Em Custom trust policy (Política de confiança personalizada), substitua "Principal": {}, pelo seguinte, que especifica a função da conta de origem. Escolha Next (Próximo).

    "Principal": { "AWS": "arn:aws:iam::source-account:role/mySourceRole" },
  8. Na página Add permissions (Adicionar permissões), marque a caixa de seleção correspondente à política que você criou anteriormente neste procedimento e, em seguida, escolha Next (Próximo).

  9. Insira um nome para a função e, opcionalmente, uma descrição.

  10. Selecione Create role (Criar função).

Criar um log de fluxo para publicação no Kinesis Data Firehose

É possível criar logs de fluxos para suas VPCs, sub-redes ou interfaces de rede.

Pré-requisitos
Para criar um log de fluxo para publicação no Kinesis Data Firehose
  1. Faça um dos seguintes procedimentos:

  2. Escolha Actions (Ações), Create flow log (Criar log de fluxo).

  3. Em Filter (Filtrar), especifique o tipo de tráfego a ser registado.

    • Accept (Aceitar): registre somente o tráfego aceito

    • Reject (Rejeitar): registre somente o tráfego rejeitado

    • All (Todos): registre tráfego aceito e rejeitado

  4. Em Maximum aggregation interval (Intervalo máximo de agregação), escolha o período máximo durante o qual um fluxo é capturado e agregado em um registro de log de fluxo.

  5. Em Destination (Destino), escolha uma das seguintes opções:

    • Send to Kinesis Data Firehose in the same account (Enviar para o Kinesis Data Firehose na mesma conta): o fluxo de entrega e o recurso a serem monitorados estão na mesma conta.

    • Send to Kinesis Data Firehose in a different account (Enviar para o Kinesis Data Firehose em uma conta diferente): o fluxo de entrega e o recurso a serem monitorados estão em contas diferentes.

  6. Em Kinesis Firehose delivery stream (Fluxo de entrega do Kinesis Firehose), selecione o fluxo de entrega que você criou.

  7. [Somente entrega entre contas] Em IAM Roles (Perfis do IAM), especifique as funções necessárias (consulte Perfis do IAM para entrega entre contas).

  8. (Opcional) Escolha Add new tag (Adicionar nova tag) para aplicar tags ao log de fluxo.

  9. Selecione Create flow log (Criar log de fluxo).

Para criar um log de fluxo publicado no Kinesis Data Firehose usando uma ferramenta de linha de comando

Use um dos seguintes comandos:

O exemplo de AWS CLI a seguir cria um log de fluxo que captura todo o tráfego da VPC especificada e entrega os logs de fluxo ao fluxo de entrega do Kinesis Data Firehose na mesma conta.

aws ec2 create-flow-logs --traffic-type ALL \ --resource-type VPC \ --resource-ids vpc-00112233344556677 \ --log-destination-type kinesis-data-firehose \ --log-destination arn:aws:firehose:us-east-1:123456789012:deliverystream:flowlogs_stream

O exemplo de AWS CLI a seguir cria um log de fluxo que captura todo o tráfego da VPC especificada e entrega os logs de fluxo ao fluxo de entrega do Kinesis Data Firehose em uma conta diferente.

aws ec2 create-flow-logs --traffic-type ALL \ --resource-type VPC \ --resource-ids vpc-00112233344556677 \ --log-destination-type kinesis-data-firehose \ --log-destination arn:aws:firehose:us-east-1:123456789012:deliverystream:flowlogs_stream \ --deliver-logs-permission-arn arn:aws:iam::source-account:role/mySourceRole \ --deliver-cross-account-role arn:aws:iam::destination-account:role/AWSLogDeliveryFirehoseCrossAccountRole

Processar registros de log de fluxo no Kinesis Data Firehose

Você pode obter os dados de log de fluxo no destino que você configurou para o fluxo de entrega.