miquido / terraform-alb-ingress

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Miquido

miquido-terraform-alb-ingress

Quickly create ALB rules to newly created Target Group

Terraform Module

Makefile Targets

Available targets:

  help                                Help screen
  help/all                            Display help for all targets
  help/short                          This help short screen
  lint                                Lint Terraform code

Requirements

Name Version
terraform >= 0.13
aws ~> 4.6

Providers

No providers.

Modules

Name Source Version
alb-ingress git::https://github.com/cloudposse/terraform-aws-alb-ingress 0.28.0
alb-target-group-alarms git::https://github.com/cloudposse/terraform-aws-alb-target-group-cloudwatch-sns-alarms.git 0.17.0

Resources

No resources.

Inputs

Name Description Type Default Required
alb_arn_suffix ARN suffix of the ALB for the Target Group. Required for alarms. string "" no
alb_target_group_alarms_3xx_threshold The maximum number of 3XX HTTPCodes in a given period for ECS Service number 25 no
alb_target_group_alarms_4xx_threshold The maximum number of 4XX HTTPCodes in a given period for ECS Service number 25 no
alb_target_group_alarms_5xx_threshold The maximum number of 5XX HTTPCodes in a given period for ECS Service number 25 no
alb_target_group_alarms_alarm_actions A list of ARNs (i.e. SNS Topic ARN) to execute when ALB Target Group alarms transition into an ALARM state from any other state list(string)
[
""
]
no
alb_target_group_alarms_elb_5xx_count_threshold The maximum count of ELB 5XX requests over a period. A negative value will disable the alert number -1 no
alb_target_group_alarms_enabled A boolean to enable/disable CloudWatch Alarms for ALB Target metrics bool false no
alb_target_group_alarms_evaluation_periods The number of periods to analyze for ALB CloudWatch Alarms number 1 no
alb_target_group_alarms_httpcode_alarm_description The string to format and use as the httpcode alarm description string "HTTPCode %v count for %v over %v last %d minute(s) over %v period(s)" no
alb_target_group_alarms_insufficient_data_actions A list of ARNs (i.e. SNS Topic ARN) to execute when ALB Target Group alarms transition into an INSUFFICIENT_DATA state from any other state list(string)
[
""
]
no
alb_target_group_alarms_notify_arns A list of ARNs (i.e. SNS Topic ARN) to execute when this alarm transitions into ANY state from any other state. May be overridden by the value of a more specific {alarm,ok,insufficient_data}_actions variable. list(string)
[
""
]
no
alb_target_group_alarms_ok_actions A list of ARNs (i.e. SNS Topic ARN) to execute when ALB Target Group alarms transition into an OK state from any other state list(string)
[
""
]
no
alb_target_group_alarms_period The period (in seconds) to analyze for ALB CloudWatch Alarms number 300 no
alb_target_group_alarms_response_time_alarm_description The string to format and use as the target response time alarm description string "Target Response Time average for %v over %v last %d minute(s) over %v period(s)" no
alb_target_group_alarms_response_time_threshold The maximum average target response time (in seconds) over a period. A negative value will disable the alert number 0.5 no
alb_target_group_alarms_treat_missing_data Sets how alarms handle missing data points. Values supported: missing, ignore, breaching and notBreaching. string "missing" no
authenticated_hosts Authenticated hosts to match in Hosts header list(string) [] no
authenticated_listener_arns A list of authenticated ALB listener ARNs to attach ALB listener rules to list(string) [] no
authenticated_paths Authenticated path pattern to match (a maximum of 1 can be defined) list(string) [] no
authenticated_priority The priority for the rules with authentication, between 1 and 50000 (1 being highest priority). Must be different from priority since a listener can't have multiple rules with the same priority number 300 no
authentication_cognito_user_pool_arn Cognito User Pool ARN string "" no
authentication_cognito_user_pool_client_id Cognito User Pool Client ID string "" no
authentication_cognito_user_pool_domain Cognito User Pool Domain. The User Pool Domain should be set to the domain prefix (xxx) instead of full domain (https://xxx.auth.us-west-2.amazoncognito.com) string "" no
authentication_oidc_authorization_endpoint OIDC Authorization Endpoint string "" no
authentication_oidc_client_id OIDC Client ID string "" no
authentication_oidc_client_secret OIDC Client Secret string "" no
authentication_oidc_issuer OIDC Issuer string "" no
authentication_oidc_token_endpoint OIDC Token Endpoint string "" no
authentication_oidc_user_info_endpoint OIDC User Info Endpoint string "" no
authentication_type Authentication type. Supported values are COGNITO and OIDC string "" no
default_target_group_enabled Enable/disable creation of the default target group bool true no
deregistration_delay The amount of time to wait in seconds while deregistering target number 15 no
environment Environment name string "" no
health_check_enabled Indicates whether health checks are enabled. Defaults to true bool true no
health_check_healthy_threshold The number of consecutive health checks successes required before healthy number 2 no
health_check_interval The duration in seconds in between health checks number 15 no
health_check_matcher The HTTP response codes to indicate a healthy check string "200-399" no
health_check_path The destination for the health check request string "/" no
health_check_port The port to use to connect with the target. Valid values are either ports 1-65536, or traffic-port. Defaults to traffic-port string "traffic-port" no
health_check_protocol The protocol to use to connect with the target. Defaults to HTTP. Not applicable when target_type is lambda string "HTTP" no
health_check_timeout The amount of time to wait in seconds before failing a health check request number 10 no
health_check_unhealthy_threshold The number of consecutive health check failures required before unhealthy number 2 no
hosts Unauthenticated hosts to match in Hosts header list(string) [] no
listener_arns A list of unauthenticated ALB listener ARNs to attach ALB listener rules to list(string) [] no
name Resource common name string n/a yes
paths Unauthenticated path pattern to match (a maximum of 1 can be defined) list(string) [] no
port The port for generated ALB target group (if target_group_arn not set) number 80 no
priority The priority for the rules without authentication, between 1 and 50000 (1 being highest priority). Must be different from authenticated_priority since a listener can't have multiple rules with the same priority number 100 no
project Account/Project Name string n/a yes
protocol The protocol for generated ALB target group (if target_group_arn not set) string "HTTP" no
slow_start The amount of time for targets to warm up before the load balancer sends them a full share of requests. The range is 30-900 seconds or 0 to disable. The default value is 0 seconds number 0 no
stickiness_cookie_duration The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds) number 86400 no
stickiness_enabled Boolean to enable / disable stickiness. Default is true bool false no
stickiness_type The type of sticky sessions. The only current possible value is lb_cookie string "lb_cookie" no
tags Tags to apply on repository map(string) {} no
target_group_arn Existing ALB target group ARN. If provided, set default_target_group_enabled to false to disable creation of the default target group string "" no
target_type The type (instance, ip or lambda) of targets that can be registered with the target group string "ip" no
vpc_id The VPC ID where resources are created string n/a yes

Outputs

Name Description
target_group_arn ALB Target group ARN
target_group_arn_suffix ALB Target group ARN suffix
target_group_name ALB Target group name

Developing

  1. Make changes in terraform files

  2. Regenerate documentation

    bash <(git archive --remote=git@gitlab.com:miquido/terraform/terraform-readme-update.git master update.sh | tar -xO)
  3. Run lint

    make lint
    

Copyright

Copyright © 2017-2023 Miquido

Contributors

Konrad Obal
Konrad Obal

About


Languages

Language:HCL 97.4%Language:Makefile 2.6%