-
Notifications
You must be signed in to change notification settings - Fork 418
Replace classic ELB with ALB #101
Replace classic ELB with ALB #101
Conversation
I'm just an outside observer to this repo, but +1'd #100 because I want to use stack with an ALB instead of ELB and was happy to see someone beat me to implementing it! That said, wouldn't it be preferable to make the ALB an addition instead of a replacement? I suspect existing users with ELB's in their stack won't be too happy to see that option disappear and new users like myself won't mind having the option of ALB and ELB when spinning up new stacks. |
This is a particular challenge in Terraform. The same problem exists if you want to use the |
@micahlmartin I'm gonna test this out right now and see how it works for me since I've been banging my head against the wall all night trying to get the web-service ELB to connect to my containers. I'll report back. IMO, the approach you are mentioning for |
doesn't seem to be working for me, but that could definitely be on me - i'm new to this... provider "aws" {
region = "us-east-1"
}
module "stack" {
source = "./ops/stack"
name = "hc"
environment = "staging"
key_name = "stack"
availability_zones = ["us-east-1a","us-east-1b","us-east-1c"]
region = "us-east-1"
}
module "domain" {
source = "./ops/stack/dns"
name = "hc.ai"
}
module "nginx_test" {
source = "./ops/stack/web-service"
name = "nginx-test"
image = "nginx"
port = 80
container_port = 80
desired_count = 3
ssl_certificate_id = ""
environment = "${module.stack.environment}"
cluster = "${module.stack.cluster}"
iam_role = "${module.stack.iam_role}"
security_groups = "${module.stack.internal_elb}"
log_bucket = "${module.stack.log_bucket_id}"
internal_zone_id = "${module.stack.zone_id}"
external_zone_id = "${module.domain.zone_id}"
subnet_ids = "${join(",", module.stack.external_subnets)}"
}
|
Replacing is not possible as it is since it could alter everyone's infrastructure in unexpected ways. I'd be open to accept a PR that adds the option to use an ALB instead of an ELB, but the default behavior has to remain unchanged. |
I've been thinking on how to add this one, should the web-service/service offer an additional parameter for ALB/ELB or is it another type of service (module)? |
On my work (we use CloudFormation templates) while migrating to elb->alb we did both elb types attached to get transition without downtime for critical services, and later disable the elb. +1 to provide as an option (extra module parameter or two elb=true, alb=false ) rather than changing existing deployment method. |
Replaces the classic ELB in the web-service module with the new ALB. This provides much better controls and has built-in support for websockets.
#100