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

Publicar logs de fluxo no Amazon Data Firehose

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

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

Definição de preço

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 Amazon 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 para o Amazon 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 IAM em https://console.aws.amazon.com/iam/.

  2. No painel de navegação, escolha Policies.

  3. Escolha Create policy.

  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. Escolha Próximo.

    4. Insira um nome e uma descrição e tags opcionais para a política e escolha Criar política.

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

  6. Escolha Criar Perfil.

  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 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 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 IAM em https://console.aws.amazon.com/iam/.

  2. No painel de navegação, escolha Policies.

  3. Escolha Create policy.

  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. Escolha Próximo.

    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. Escolha Criar Perfil.

  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 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 Criar função.

Criar um log de fluxo para publicação no Amazon 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 que publique no Amazon Data Firehose
  1. Execute um destes 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:

    • Enviar para o Amazon Data Firehose na mesma conta: o fluxo de entrega e o recurso a serem monitorados estão na mesma conta.

    • Enviar para o Amazon Data Firehose em uma conta diferente: o fluxo de entrega e o recurso a serem monitorados estão em contas diferentes.

  6. No nome do fluxo do Amazon Data 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 Adicionar tag para aplicar tags ao log de fluxo.

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

Para criar um log de fluxo que publique no Amazon 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 Amazon 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 Amazon 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 Amazon Data Firehose

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