Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for Route 53 Resolver Query Logging #14875

Closed
reedloden opened this issue Aug 27, 2020 · 2 comments
Closed

Support for Route 53 Resolver Query Logging #14875

reedloden opened this issue Aug 27, 2020 · 2 comments
Labels
enhancement Requests to existing resources that expand the functionality or scope. service/route53resolver Issues and PRs that pertain to the route53resolver service.

Comments

@reedloden
Copy link
Contributor

reedloden commented Aug 27, 2020

Community Note

  • Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
  • Please do not leave "+1" or other comments that do not add relevant new information or questions, they generate extra noise for issue followers and do not help prioritize the request
  • If you are interested in working on this issue or have submitted a pull request, please leave a comment

Description

Today, we are announcing the availability of Route 53 Resolver Query Logging, which lets you log the DNS queries that originate in your Amazon Virtual Private Clouds (VPCs). With query logging enabled, you can see which domain names have been queried, the AWS resources from which the queries originated—including source IP and instance ID—and the responses that were received.

Route 53 Resolver is the Amazon DNS server (also sometimes referred to as “AmazonProvidedDNS” or the “.2 resolver”) that is available by default in all Amazon VPCs. Route 53 Resolver responds to DNS queries from AWS resources within a VPC for public DNS records, Amazon VPC-specific DNS names, and Amazon Route 53 private hosted zones. Customers concerned about security, or those under compliance mandates, may need the ability to monitor, debug, search, and archive a record of the DNS lookups originating from inside of their Amazon VPCs. With today’s release, Route 53 Resolver now supports the logging of DNS queries and responses for DNS queries originating from within customer VPCs, whether those queries are answered locally by Route 53 Resolver, resolved over the public internet, or are forwarded to on-premises DNS servers via Resolver Endpoints. The DNS queries forwarded by on-premises DNS servers to VPCs via inbound endpoints are also logged. Even the DNS queries made by your AWS Lambda functions, Amazon EKS clusters, and Amazon WorkSpaces instances can be logged. With today’s release, you no longer need to manage your own infrastructure in order to log the DNS activity within your VPC.

You can enable and configure query logging for specific VPCs, by using the Route 53 Resolver API or the Route 53 Resolver Console. If you need to log queries across multiple accounts, you can share your query logging configurations by using AWS Resource Access Manager (RAM). You can choose to send your query logs to Amazon S3, Amazon CloudWatch Logs, or Amazon Kinesis Data Firehose. If you send logs to CloudWatch, you can configure CloudWatch to process the logs automatically to distill log data into more actionable information. For example, with CloudWatch Contributor Insights you can create rules to generate high cardinality data, such as instances making the most DNS queries over time (“top talkers”) or the most frequently queried domain names.

New or Affected Resource(s)

  • aws_route53_resolver_query_log
  • aws_route53_resolver_query_log_association

Potential Terraform Configuration

Didn't put a ton of thought into this, so treat this as very much an example / WIP

resource "aws_route53_resolver_query_log" "example" {
  name = "example"

  s3_destination {
    bucket_arn = aws_s3_bucket.example.arn
    role_arn   = aws_iam_role.example.arn
  }

  cloudwatch_destination {
     log_group_name  = aws_cloudwatch_log_group.example.name
     log_stream_name = aws_cloudwatch_log_stream.example.name
  }

  kinesis_destination {
    stream_arn = aws_kinesis_firehose_delivery_stream.example.arn
    role_arn   = aws_iam_role.example.arn
  }

  tags = {
    Environment = "Prod"
  }
}

resource "aws_route53_resolver_query_log_association" "example" {
  resolver_query_log_arn = aws_route53_resolver_query_log.example.arn
  vpc_id                 = aws_vpc.example.id
}

References

@reedloden reedloden added the enhancement Requests to existing resources that expand the functionality or scope. label Aug 27, 2020
@ghost ghost added service/route53 Issues and PRs that pertain to the route53 service. service/route53resolver Issues and PRs that pertain to the route53resolver service. labels Aug 27, 2020
@github-actions github-actions bot added the needs-triage Waiting for first response or review from a maintainer. label Aug 27, 2020
@ewbankkit
Copy link
Contributor

@reedloden Thanks for raising this issue.
It has already been noticed in #14877. I'm going to close this one as a duplicate so that we can concentrate discussion in the linked issue.
Please add any additional comments there.

@ewbankkit ewbankkit removed needs-triage Waiting for first response or review from a maintainer. service/route53 Issues and PRs that pertain to the route53 service. labels Aug 27, 2020
@ghost
Copy link

ghost commented Sep 27, 2020

I'm going to lock this issue because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues.

If you feel this issue should be reopened, we encourage creating a new issue linking back to this one for added context. Thanks!

@ghost ghost locked and limited conversation to collaborators Sep 27, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement Requests to existing resources that expand the functionality or scope. service/route53resolver Issues and PRs that pertain to the route53resolver service.
Projects
None yet
Development

No branches or pull requests

2 participants