AWS Builder Center: Learn, Build and Connect with builders in the AWS community
AWS Builder Center is the official home for builders on AWS. Share and read what others are working on, follow people who inspire you, explore training and workshops, and find tools to support what you're building.
Como faço para encontrar um endereço IP que está nos meus logs, mas não na Amazon VPC?
Quero encontrar um endereço IP que esteja nos meus logs, mas que não esteja na minha Amazon Virtual Private Cloud (Amazon VPC).
Resolução
Observação: se você receber erros ao executar comandos da AWS Command Line Interface (AWS CLI), consulte Solução de problemas da AWS CLI. Além disso, verifique se você está usando a versão mais recente da AWS CLI.
Analisar os eventos do CloudTrail
Para usar os eventos do AWS CloudTrail para encontrar seu endereço IP, conclua as seguintes etapas:
Para usar o evento AllocateAddress para verificar se você alocou o endereço IP elástico à sua conta da AWS, execute o seguinte comando lookup-events:
aws cloudtrail lookup-events \--region example-region \ --lookup-attributes AttributeKey=EventName,AttributeValue=AllocateAddress \ --start-time example-yyyy-mm-dd \ --query 'Events[].Resources[?ResourceName == 'example-eip-address'].{ResourceType:ResourceType,IP:ResourceName}[]' --output table
Observação: substitua example-eip-address pelo seu endereço IP elástico, example-yyyy-mm-dd pela data de início e example-region pela sua região da AWS. O comando anterior do CloudTrail não lista os endereços IPv4 públicos do Amazon Elastic Compute Cloud (Amazon EC2).
Para usar o evento AssociateAddress e os filtros AllocationID para visualizar o serviço que usa o endereço IP elástico, execute o seguinte comando lookup-events:
aws cloudtrail lookup-events \--region example-region \ --lookup-attributes AttributeKey=ResourceName,AttributeValue=example-allocation-id \ --start-time example-yyyy-mm-dd \
Observação: substitua example-allocation-id pelo ID do seu endereço IP elástico, example-yyyy-mm-dd pela data de início e example-region pela sua região. O comando anterior mostra o histórico completo da alocação de endereços IP elásticos. Ele começa da alocação mais recente para a mais antiga, com base na data selecionada.
Para usar o evento CreateNetworkInterface para verificar se você atribuiu o endereço IP privado à interface de rede elástica, execute o seguinte comando lookup-events:
aws cloudtrail lookup-events \--region example-region \ --lookup-attributes AttributeKey=EventName,AttributeValue=CreateNetworkInterface \ --start-time example-yyyy-mm-dd \ --query 'Events[].CloudTrailEvent' --output text | jq -r "select(.responseElements.networkInterface.privateIpAddressesSet.item[].privateIpAddress == \"example-private-ip-address\")"
Observação: substitua example-private-ip-address pelo seu endereço IP privado, example-yyyy-mm-dd pela data de início e example-region pela sua região. Se o comando anterior não retornar eventos correspondentes, você não receberá uma saída.
Para usar o evento AttachNetworkInterface para verificar se um recurso usou uma interface de rede no passado, execute o seguinte comando lookup-events:
aws cloudtrail lookup-events \--region example-region \ --lookup-attributes AttributeKey=EventName,AttributeValue=AttachNetworkInterface \ --start-time example-yyyy-mm-dd \ --query 'Events[].CloudTrailEvent' --output text | jq -r "select(.requestParameters.networkInterfaceId == \"example-eni-id\")"
Observação: substitua example-eni-id pelo ID da interface de rede, example-yyyy-mm-dd pela data de início e example-region pela sua região.
Para verificar se o CloudTrail pode encontrar os eventos, execute o seguinte comando lookup-events sem o filtro jq:
aws cloudtrail lookup-events \ --region example-region \ --lookup-attributes AttributeKey=EventName,AttributeValue=CreateNetworkInterface \ --start-time example-yyyy-mm-dd
Observação: substitua example-yyyy-mm-dd pela sua data de início e example-region pela sua região.
Para usar o evento RunInstances para verificar se você associou o endereço IP privado à instância na execução da instância, execute o seguinte comando lookup-events:
aws cloudtrail lookup-events \--region example-region \ --lookup-attributes AttributeKey=EventName,AttributeValue=RunInstances \ --start-time example-yyyy-mm-dd \ --query 'Events[].CloudTrailEvent' --output text | jq -r "select(.responseElements.instancesSet.items[].privateIpAddress == \"example-private-ip-address\") | [.responseElements.instancesSet.items[].networkInterfaceSet.items[]] "
Observação: substitua example-private-ip-address pelo seu endereço IP privado, example-yyyy-mm-dd pela data de início e example-region pela sua região.
Para usar o evento AssignPrivateIpAddresses para verificar se você associou o endereço IP privado à interface de rede, execute o seguinte comando lookup-events:
aws cloudtrail lookup-events \--region example-region \ --lookup-attributes AttributeKey=EventName,AttributeValue=AssignPrivateIpAddresses \ --start-time example-yyyy-mm-dd \ --query 'Events[].CloudTrailEvent' --output text | jq -r "select(.responseElements.assignedPrivateIpAddressesSet.assignedPrivateIpAddressSetType[].privateIpAddress == \"example-private-ip-address\" ) | {requestParameters,responseElements}"
Observação: substitua example-private-ip-address pelo seu endereço IP privado, example-yyyy-mm-dd pela data de início e example-region pela sua região.
Para usar o evento AssignIpv6Addresses para verificar se você atribuiu o endereço IPv6 à interface de rede especificada, execute o seguinte comando lookup-events:
aws cloudtrail lookup-events \--region example-region \ --lookup-attributes AttributeKey=EventName,AttributeValue=AssignIpv6Addresses \ --start-time example-yyyy-mm-dd \ --query 'Events[].CloudTrailEvent' --output text | jq -r "select(.responseElements.AssignIpv6AddressesResponse.assignedIpv6Addresses.item == \"example-IPv6-address\") | [.responseElements.AssignIpv6AddressesResponse] "
Observação: substitua example-IPv6-address pelo seu endereço IPv6, example-yyyy-mm-dd pela data de início e example-region pela sua região.
Usar o CloudWatch Logs para analisar dados de log
Observação: para enviar eventos de log para o Amazon CloudWatch Logs, configure sua trilha. Para mais informações, consulte Monitoring CloudTrail log files with Amazon CloudWatch Logs (Monitoramento de arquivos de log do CloudTrail com o Amazon CloudWatch Logs).
Verificar os endereços IPv4 atribuídos à conta
Para visualizar a alocação anterior de endereços IP elásticos e o serviço que usou o endereço IP público, use os seguintes eventos:
fields eventTime as Time, userIdentity.accountId as AccountID, userIdentity.principalId as Principal, awsRegion as Region, eventName as Action, requestParameters.allocationId as AssociateAddress_AllocationID, requestParameters.instanceId as InstanceID, requestParameters.privateIpAddress as PrivateIP, responseElements.allocationId as AllocateAddress_AllocationID, responseElements.publicIp as EIP | filter eventName = "AllocateAddress" or eventName = "AssociateAddress" and # AssociateAddress does not indicate resources outside EC2 instances. ( EIP = "example-public-ip-addresses" or AssociateAddress_AllocationID = "example-allocation-id" ) | sort @timestamp desc
Observação: substitua example-public-ip-addresses por seus endereços IP públicos e example-allocation-id por seu ID de alocação.
Para encontrar as atribuições anteriores de endereços IP privados, use os seguintes eventos:
Evento CreateNetworkInterface:
parse @message '"privateIpAddressesSet":{"item":[{"privateIpAddress":"*"' as PrivateIP| fields eventTime as Time, userIdentity.accountId as AccountID, userIdentity.principalId as Principal, awsRegion as Region, eventName as Action, responseElements.networkInterface.networkInterfaceId as ENI | filter eventName = "CreateNetworkInterface" and ( PrivateIP = "example-private-ip-addresses" ) | sort @timestamp desc
Observação: substitua example-private-ip-addresses pelos seus endereços IP.
Evento RunInstances:
parse @message '{"privateIpAddress":"*"' as PrivateIP|fields eventTime as Time, userIdentity.accountId as AccountID, userIdentity.principalId as Principal, awsRegion as Region, eventName as Action | filter eventName = "RunInstances" and ( PrivateIP = "example-private-ip-addresses" ) | sort @timestamp desc
Observação: substitua example-private-ip-addresses pelos seus endereços IP.
Evento AssignPrivateIpAddress:
parse @message '"assignedPrivateIpAddressSetType":[{*}]' as PrivateIpAddress| fields eventTime as Time, userIdentity.accountId as AccountID, userIdentity.principalId as Principal, awsRegion as Region, eventName as Action | filter eventName = "AssignPrivateIpAddresses" and ( PrivateIpAddress like "example-private-ip-addresses" ) | sort @timestamp desc Note: Replace example-private-ip-addresses with your IP
Observação: substitua example-private-ip-addresses pelos seus endereços IP.
Veja os recursos que usaram a interface de rede:
fields eventTime as Time, userIdentity.accountId as AccountID, userIdentity.principalId as Principal, awsRegion as Region, eventName as Action, requestParameters.instanceId as InstanceID, requestParameters.networkInterfaceId as ENI | filter eventName = "AttachNetworkInterface" and ( ENI = "example-eni-id" ) | sort @timestamp desc
Observação: substitua example-eni-id pelo ID da interface de rede.
Verificar os endereços IPv6 atribuídos à conta
Para encontrar as atribuições de endereço IP privado anteriores, use os seguintes eventos:
Evento AssignIpv6Addresses:
fields eventTime as Time, userIdentity.accountId as AccountID, userIdentity.principalId as Principal, awsRegion as Region, eventName as Action, responseElements.AssignIpv6AddressesResponse.assignedIpv6Addresses.item as IPv6 | filter eventName = "AssignIpv6Addresses" and ( IPv6 = "example-ipv6-addresses" ) | sort @timestamp desc
Observação: substitua example-ipv6-addresses pelos seus endereços IP.
Evento RunInstances:
fields eventTime as Time, userIdentity.accountId as AccountID, userIdentity.principalId as Principal, awsRegion as Region, eventName as Action, responseElements.AssignIpv6AddressesResponse.assignedIpv6Addresses.item as IPv6 | filter eventName = "RunInstances" and ( PrivateIP = "example-private-ip-addresses" ) | sort @timestamp desc
Observação: substitua example-private-ip-addresses pelos seus endereços IP.
Evento CreateNetworkInterface:
parse @message '"ipv6AddressesSet":{"items":[{"ipv6Address":"*"' as IPv6| fields eventTime as Time, userIdentity.accountId as AccountID, userIdentity.principalId as Principal, awsRegion as Region, eventName as Action, responseElements.instancesSet.items.0.instanceId as InstanceID | filter eventName = "CreateNetworkInterface" and ( IPv6 = "example-ipv6-addresses" ) | sort @timestamp desc
Observação: substitua example-ipv6-addresses pelos seus endereços IP.
Veja os recursos que usaram a interface de rede:
fields eventTime as Time, userIdentity.accountId as AccountID, userIdentity.principalId as Principal, awsRegion as Region, eventName as Action, requestParameters.instanceId as InstanceID, requestParameters.networkInterfaceId as ENI | filter eventName = "AttachNetworkInterface" and ( ENI = "example-eni-id" or ) | sort @timestamp desc
Observação: substitua example-eni-id pelo ID da interface de rede.
(Opcional) Para verificar se o prefixo BGP e o ASN do endereço IP público são um endereço IP da AWS, execute o seguinte comando whois:
whois -h whois.cymru.com " -v example-public-ip-address"
Observação: substitua example-public-ip-address pelo seu endereço IP público.
Consultar o histórico de endereços IP
É possível usar um arquivo ip-ranges.json, o Gerenciador de endereços IP (IPAM) da Amazon VPC ou a AWS CLI para encontrar um endereço IP no seu histórico de endereços IP.
ip-ranges.json
Conclua as etapas a seguir:
- Para ver a lista de todos os endereços IP públicos que pertencem a um serviço da AWS, verifique o arquivo ip-ranges.json.
- Para filtrar a lista, use as seguintes variáveis:
"ip_prefix" "region" "service"
IPAM
Para usar o IPAM para rastrear as VPCs ou recursos que usaram um endereço IP específico ao longo do tempo, conclua as seguintes etapas:
- Abra o console do IPAM.
- No painel de navegação, escolha Pesquisar histórico de IP.
- Insira seu endereço IP.
- Escolha Pesquisar.
Os resultados da pesquisa mostram os seguintes itens:
- VPC ou interface de rede associada ao endereço IP
- Intervalo de tempo em que o endereço IP foi atribuído
- Recursos relacionados
AWS CLI
Para usar a AWS CLI para obter as informações do endereço IP, execute o seguinte comando get-ipam-address-history:
aws ec2 get-ipam-address-history \ --ipam-scope-id ipam-scope-###### \ --cidr 10.0.1.5 \ --region us-east-1
Observação: se você usa o AWS Organizations, pode ampliar sua busca por endereços IP no nível organizacional para rastrear centralmente várias contas de membros.
Designar uma conta de administrador IPAM
Conclua as etapas a seguir:
- Em sua organização, escolha uma conta da AWS para ser a conta gerencial.
- Para tornar o ID da sua conta o administrador do IPAM da sua organização, execute o seguinte comando enable-aws-service-access na sua conta gerencial:
aws organizations enable-aws-service-access \ --service-principal ipam.amazonaws.comaws ec2 enable-ipam-organization-admin-account \ --delegated-admin-account-id YOUR_ACCOUNT_ID
Observação: substitua YOUR_ACCOUNT_ID pelo ID da sua conta.
Criar um IPAM na conta do administrador
Conclua as seguintes etapas em sua conta de administrador do IPAM:
-
Para criar um IPAM, execute o seguinte comando create-ipam:
aws ec2 create-ipam \ --description "Org-wide IPAM" \ --operating-regions RegionName=us-east-1 RegionName=us-west-2Observação: substitua us-east-1 e us-west-2 por suas regiões.
Esse IPAM agora pode coletar e gerenciar o uso do CIDR em várias contas.
-
Para criar uma descoberta de recursos, execute o seguinte comando create-ipam-resource-discovery:
aws ec2 create-ipam-resource-discovery \ --description "Org-wide Discovery" \ --operating-regions RegionName=us-east-1 \ --tag-specifications ResourceType=ipam-resource-discovery,Tags=[{Key=Org,Value=Enabled}]Observação: substitua us-east-1 pela sua região.
-
Para associar a descoberta de recursos ao IPAM, execute o seguinte comando associate-ipam-resource-discovery:
aws ec2 associate-ipam-resource-discovery \ --ipam-id ipam-######## \ --ipam-resource-discovery-id ipam-res-disco-####
É possível compartilhar uma descoberta de recursos com outra conta.
Observação: cada conta de membro em sua organização deve compartilhar dados de recursos com o IPAM. Se você estiver usando a mesma organização e sua descoberta centralizada configurada, os dados dos recursos serão compartilhados automaticamente. Use o painel do IPAM para monitorar recursos descobertos, como VPCs e endereços IP.
Importante:
- todos os endereços IP que você aloca em qualquer conta ou VPC na organização aparecem no histórico de endereços IP do IPAM.
- É possível usar o console do IPAM ou a AWS CLI para consultar o uso anterior de um endereço IP.
- Se o endereço IP no histórico do IPAM for da AWS e houver atividade maliciosa, denuncie abusos de recursos da AWS.
- Tags
- Amazon VPC
- Idioma
- Português

Conteúdo relevante
feita há 8 meses
feita há um ano
AWS OFICIALAtualizada há um ano