Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/infraspecdev/terraform-aws-athena
This Terraform module automates the setup of AWS Athena to query ALB access and connection logs stored in an S3 bucket.
https://github.com/infraspecdev/terraform-aws-athena
athena glue-catalog terrform-module
Last synced: 3 days ago
JSON representation
This Terraform module automates the setup of AWS Athena to query ALB access and connection logs stored in an S3 bucket.
- Host: GitHub
- URL: https://github.com/infraspecdev/terraform-aws-athena
- Owner: infraspecdev
- License: mit
- Created: 2024-08-17T08:25:00.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2024-10-17T09:04:04.000Z (3 months ago)
- Last Synced: 2024-11-08T09:28:18.186Z (about 2 months ago)
- Topics: athena, glue-catalog, terrform-module
- Language: HCL
- Homepage: https://registry.terraform.io/modules/infraspecdev/athena/aws/latest
- Size: 40 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
README
terraform-aws-athena
## Requirements
| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | >= 1.8.4 |
| [aws](#requirement\_aws) | ~> 5.0 |## Providers
| Name | Version |
|------|---------|
| [aws](#provider\_aws) | ~> 5.0 |## Modules
No modules.
## Resources
| Name | Type |
|------|------|
| [aws_athena_workgroup.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/athena_workgroup) | resource |
| [aws_glue_catalog_database.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/glue_catalog_database) | resource |
| [aws_glue_catalog_table.alb_logs](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/glue_catalog_table) | resource |## Inputs
| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| [alb\_access\_logs\_table\_name](#input\_alb\_access\_logs\_table\_name) | (Optional) The name of the Glue Catalog table that will store the parsed ALB access logs | `string` | `"alb_access_logs"` | no |
| [alb\_connection\_logs\_table\_name](#input\_alb\_connection\_logs\_table\_name) | (Optional) The name of the Glue Catalog table that will store the parsed ALB connection logs | `string` | `"alb_connection_logs"` | no |
| [database\_name](#input\_database\_name) | (Required) The name of the Athena database in the AWS Glue Catalog that will contain the schema definitions for your ALB logs | `string` | n/a | yes |
| [query\_results\_bucket](#input\_query\_results\_bucket) | (Required) The name of the S3 bucket where Athena will store the output of executed queries | `string` | n/a | yes |
| [s3\_bucket\_name](#input\_s3\_bucket\_name) | (Required) The name of the S3 bucket that holds the raw Application Load Balancer (ALB) logs | `string` | n/a | yes |
| [workgroup\_name](#input\_workgroup\_name) | (Required) The name of the Athena workgroup that will manage and isolate query execution and resource usage | `string` | n/a | yes |## Outputs
| Name | Description |
|------|-------------|
| [alb\_access\_logs\_location](#output\_alb\_access\_logs\_location) | Location in S3 where ALB access logs are stored |
| [alb\_connection\_logs\_location](#output\_alb\_connection\_logs\_location) | Location in S3 where ALB connection logs are stored |
| [alb\_logs\_bucket\_name](#output\_alb\_logs\_bucket\_name) | S3 bucket name where ALB logs are retrieved |
| [athena\_workgroup\_name](#output\_athena\_workgroup\_name) | Name of the Athena Workgroup |
| [glue\_catalog\_database\_name](#output\_glue\_catalog\_database\_name) | Name of the Glue catalog database |
| [glue\_table\_names](#output\_glue\_table\_names) | Names of the Glue tables under the database |
| [query\_results\_bucket\_name](#output\_query\_results\_bucket\_name) | S3 bucket name where Athena query results are stored |