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
Índice
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
Abra o console do IAM em https://console.aws.amazon.com/iam/
. -
No painel de navegação, escolha Policies (Políticas).
-
Escolha Create policy (Criar política).
-
Na página Create policy (Criar política) faça o seguinte:
-
Selecione JSON.
-
Substitua o conteúdo dessa janela pela política de permissões no início desta seção.
-
Selecione Next: Tags (Próximo: tags) e Next: Review (Próximo: revisar).
-
Insira um nome e uma descrição opcional para a política e escolha Create policy (Criar política).
-
-
No painel de navegação, escolha Roles.
-
Selecione Create role.
-
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" },
-
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).
-
Insira um nome para a função e, opcionalmente, uma descrição.
-
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
Abra o console do IAM em https://console.aws.amazon.com/iam/
. -
No painel de navegação, escolha Policies (Políticas).
-
Escolha Create policy (Criar política).
-
Na página Create policy (Criar política) faça o seguinte:
-
Selecione JSON.
-
Substitua o conteúdo dessa janela pela política de permissões no início desta seção.
-
Selecione Next: Tags (Próximo: tags) e Next: Review (Próximo: revisar).
-
Insira um nome para a política que comece com AWSLogDeliveryFirehoseCrossAccountRole e, em seguida, escolha Create policy (Criar política).
-
-
No painel de navegação, escolha Roles.
-
Selecione Create role.
-
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
" }, -
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).
-
Insira um nome para a função e, opcionalmente, uma descrição.
-
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
-
Crie o fluxo de entrega de destino do Kinesis Data Firehose. Usar Direct Put (Inserção direta) como origem. Para obter mais informações, consulte Criar um fluxo de entrega do Kinesis Data Firehose.
-
Se você estiver publicando logs de fluxo em uma conta diferente, crie os perfis do IAM necessários, conforme descrito em Perfis do IAM para entrega entre contas.
Para criar um log de fluxo para publicação no Kinesis Data Firehose
-
Faça um dos seguintes procedimentos:
-
Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/
. No painel de navegação, selecione Network Interfaces. Marque a caixa de seleção para a interface de rede. -
Abra o console da Amazon VPC em https://console.aws.amazon.com/vpc/
. No painel de navegação, escolha Your VPCs (Suas VPCs). Marque a caixa de seleção da VPC. -
Abra o console da Amazon VPC em https://console.aws.amazon.com/vpc/
. No painel de navegação, escolha Sub-redes. Marque a caixa de seleção da sub-rede.
-
-
Escolha Actions (Ações), Create flow log (Criar log de fluxo).
-
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
-
-
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.
-
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.
-
-
Em Kinesis Firehose delivery stream (Fluxo de entrega do Kinesis Firehose), selecione o fluxo de entrega que você criou.
-
[Somente entrega entre contas] Em IAM Roles (Perfis do IAM), especifique as funções necessárias (consulte Perfis do IAM para entrega entre contas).
-
(Opcional) Escolha Add new tag (Adicionar nova tag) para aplicar tags ao log de fluxo.
-
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:
-
create-flow-logs (AWS CLI)
-
New-EC2FlowLogs (AWS Tools for Windows PowerShell)
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-idsvpc-00112233344556677
\ --log-destination-typekinesis-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-idsvpc-00112233344556677
\ --log-destination-typekinesis-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.