From 65c4b6521d069b9ac57d1a2d5d99fc95e3cae8c9 Mon Sep 17 00:00:00 2001 From: Jackson Willian Carbonera Date: Sat, 23 Nov 2024 16:07:01 -0300 Subject: [PATCH] api gateway - rota clientes --- infra/apigateway.tf | 63 ++++++++++++++++++++------------------------- infra/variaveis.tf | 2 +- main.tf | 4 +-- 3 files changed, 31 insertions(+), 38 deletions(-) diff --git a/infra/apigateway.tf b/infra/apigateway.tf index 0934158..ac40554 100644 --- a/infra/apigateway.tf +++ b/infra/apigateway.tf @@ -1,45 +1,38 @@ -# # VPC Link para integração do load balancer interno com api gateway -# resource "aws_apigatewayv2_vpc_link" "fiap_vpc_link" { -# name = "FiapVpcLink" -# security_group_ids = [aws_security_group.eks_security_group.id] -# subnet_ids = concat(module.vpc.private_subnets, module.vpc.public_subnets) -# } - -# # API Gateway para acesso a aplicação -# resource "aws_apigatewayv2_api" "fiap_api" { -# name = "Fiap Self Service API" -# protocol_type = "HTTP" -# } - -# # Integracao com load balance do EKS -# resource "aws_apigatewayv2_integration" "fiap_api" { -# api_id = aws_apigatewayv2_api.fiap_api.id -# integration_type = "HTTP_PROXY" - -# integration_method = "ANY" -# integration_uri = var.url_load_balance -# } - -# # Rota default que serve como proxy, redirecionando a chamada do API Gateway para os endpoints expostos pelo load balance -# resource "aws_apigatewayv2_route" "fiap_api" { -# api_id = aws_apigatewayv2_api.fiap_api.id -# route_key = "$default" +# API Gateway para acesso a aplicação +resource "aws_apigatewayv2_api" "fiap_api" { + name = "Fiap Self Service API" + protocol_type = "HTTP" +} + +# Integracao com load balance do EKS +resource "aws_apigatewayv2_integration" "fiap_api_clientes" { + api_id = aws_apigatewayv2_api.fiap_api.id + integration_type = "HTTP_PROXY" + + integration_method = "ANY" + integration_uri = var.url_load_balance_clientes +} + +# Rota default que serve como proxy, redirecionando a chamada do API Gateway para os endpoints expostos pelo load balance +resource "aws_apigatewayv2_route" "fiap_api_clientes" { + api_id = aws_apigatewayv2_api.fiap_api.id + route_key = "/clientes/$default" # # Vinculando o Authorizer à Rota # authorization_type = "JWT" # authorizer_id = aws_apigatewayv2_authorizer.cognito_authorizer.id -# target = "integrations/${aws_apigatewayv2_integration.fiap_api.id}" -# } + target = "integrations/${aws_apigatewayv2_integration.fiap_api_clientes.id}" +} -# # Stage (prefixo, anterior ao path/endpoint que será acionado pelo load balance ) -# resource "aws_apigatewayv2_stage" "fiap_api" { -# api_id = aws_apigatewayv2_api.fiap_api.id -# name = "v1" -# auto_deploy = true -# } +# Stage (prefixo, anterior ao path/endpoint que será acionado pelo load balance ) +resource "aws_apigatewayv2_stage" "fiap_api" { + api_id = aws_apigatewayv2_api.fiap_api.id + name = "v1" + auto_deploy = true +} -# # Criação do Authorizer +# Criação do Authorizer # resource "aws_apigatewayv2_authorizer" "cognito_authorizer" { # api_id = aws_apigatewayv2_api.fiap_api.id # name = "CognitoAuthorizer" diff --git a/infra/variaveis.tf b/infra/variaveis.tf index 9eb14a6..1901048 100644 --- a/infra/variaveis.tf +++ b/infra/variaveis.tf @@ -22,6 +22,6 @@ variable "iam_role_arn" { type = string } -variable "url_load_balance" { +variable "url_load_balance_clientes" { type = string } \ No newline at end of file diff --git a/main.tf b/main.tf index cafaaf3..9ef9e94 100644 --- a/main.tf +++ b/main.tf @@ -6,5 +6,5 @@ module "k8s" { zone_az1 = "us-east-1a" zone_az2 = "us-east-1b" iam_role_arn = "arn:aws:iam::629468475927:role/LabRole" - url_load_balance = "http://aadfa33dba232459c953a70b3381a909-617e9a439eaa8419.elb.us-east-1.amazonaws.com:3000" -} \ No newline at end of file + url_load_balance_clientes = "http://ab2d76323dda749e2a825b9d7eb44e5e-95224636.us-east-1.elb.amazonaws.com:3000" +}