Giter Site home page Giter Site logo

neroblack4life / terraform-aws-global-accelerator Goto Github PK

View Code? Open in Web Editor NEW

This project forked from terraform-aws-modules/terraform-aws-global-accelerator

0.0 1.0 0.0 38 KB

Terraform module to create AWS Global Accelerator resources πŸ‡ΊπŸ‡¦

Home Page: https://registry.terraform.io/modules/terraform-aws-modules/global-accelerator/aws

License: Apache License 2.0

HCL 100.00%

terraform-aws-global-accelerator's Introduction

AWS Global Accelerator Terraform module

Terraform module which creates AWS Global Accelerator resources.

Usage

See examples directory for working examples to reference:

module "global_accelerator" {
  source = "terraform-aws-modules/global-accelerator/aws"

  name = "example"

  flow_logs_enabled   = true
  flow_logs_s3_bucket = "example-global-accelerator-flow-logs"
  flow_logs_s3_prefix = "example"

  listeners = {
    listener_1 = {
      client_affinity = "SOURCE_IP"

      endpoint_group = {
        health_check_port             = 80
        health_check_protocol         = "HTTP"
        health_check_path             = "/"
        health_check_interval_seconds = 10
        health_check_timeout_seconds  = 5
        healthy_threshold_count       = 2
        unhealthy_threshold_count     = 2
        traffic_dial_percentage       = 100

        endpoint_configuration = [{
          client_ip_preservation_enabled = true
          endpoint_id                    = "arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/app/blue/1234567890123456"
          weight                         = 50
          }, {
          client_ip_preservation_enabled = false
          endpoint_id                    = "arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/app/green/1234567890123456"
          weight                         = 50
        }]

        port_override = [{
          endpoint_port = 82
          listener_port = 80
          }, {
          endpoint_port = 8082
          listener_port = 8080
          }, {
          endpoint_port = 8083
          listener_port = 8081
        }]
      }

      port_ranges = [
        {
          from_port = 80
          to_port   = 81
        },
        {
          from_port = 8080
          to_port   = 8081
        }
      ]
      protocol = "TCP"
    }

    listener_2 = {
      port_ranges = [
        {
          from_port = 443
          to_port   = 443
        },
        {
          from_port = 8443
          to_port   = 8443
        }
      ]
      protocol = "TCP"
    }

    listener_3 = {
      port_ranges = [
        {
          from_port = 53
          to_port   = 53
        }
      ]
      protocol = "UDP"
    }
  }

  tags = {
    Terraform   = "true"
    Environment = "dev"
  }
}

Examples

Examples codified under the examples are intended to give users references for how to use the module(s) as well as testing/validating changes to the source code of the module. If contributing to the project, please be sure to make any appropriate updates to the relevant examples to allow maintainers to test your changes and to keep the examples up to date for users. Thank you!

Requirements

Name Version
terraform >= 1.0
aws >= 4.61

Providers

Name Version
aws >= 4.61

Modules

No modules.

Resources

Name Type
aws_globalaccelerator_accelerator.this resource
aws_globalaccelerator_endpoint_group.this resource
aws_globalaccelerator_listener.this resource

Inputs

Name Description Type Default Required
create Controls if resources should be created (affects nearly all resources) bool true no
create_listeners Controls if listeners should be created (affects only listeners) bool true no
enabled Indicates whether the accelerator is enabled. Defaults to true. Valid values: true, false bool true no
endpoint_groups_timeouts Create, update, and delete timeout configurations for the endpoint groups map(string) {} no
flow_logs_enabled Indicates whether flow logs are enabled. Defaults to false bool false no
flow_logs_s3_bucket The name of the Amazon S3 bucket for the flow logs. Required if flow_logs_enabled is true string null no
flow_logs_s3_prefix The prefix for the location in the Amazon S3 bucket for the flow logs. Required if flow_logs_enabled is true string null no
ip_address_type The value for the address type. Defaults to IPV4. Valid values: IPV4, DUAL_STACK string "IPV4" no
ip_addresses The IP addresses to use for BYOIP accelerators. If not specified, the service assigns IP addresses. Valid values: 1 or 2 IPv4 addresses list(string) [] no
listeners A map of listener defintions to create any {} no
listeners_timeouts Create, update, and delete timeout configurations for the listeners map(string) {} no
name The name of the accelerator string "" no
tags A map of tags to add to all resources map(string) {} no

Outputs

Name Description
dns_name The DNS name of the accelerator
dual_stack_dns_name The DNS name that Global Accelerator creates that points to a dual-stack accelerator's four static IP addresses: two IPv4 addresses and two IPv6 addresses
endpoint_groups Map of endpoints created and their associated attributes
hosted_zone_id The Global Accelerator Route 53 zone ID that can be used to route an Alias Resource Record Set to the Global Accelerator
id The Amazon Resource Name (ARN) of the accelerator
ip_sets IP address set associated with the accelerator
listeners Map of listeners created and their associated attributes

License

Apache-2.0 Licensed. See LICENSE.

terraform-aws-global-accelerator's People

Contributors

bryantbiggs avatar semantic-release-bot avatar antonbabenko avatar mshiriv avatar dev-slatto avatar benjohnson-dev avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.