ALB를 알기위해선 먼저 ELB(Elastic Load Balancing)를 알아야 한다. ELB는 EKS에 배포할 수 있는 로드밸런서를 제공해주는 서비스로 어떤 Layer에서 트래픽을 분산시키는 지에 따라 2가지로 나뉜다.
<aside> 💡 이 튜토리얼에서는 ALB를 이용한다.
</aside>
ALB(Application Load Balancer)란 Application의 incoming traffic을 EC2, 컨테이너들, ip 주소, 가용 영역(Availability Zones) 등과 같은 여러 타겟들에 분산시켜준다. ALB는 advanced traffic routing, automatically scaling, handling of SSL/TLS encryption 등과 같은 기능을 제공한다.
terraform을 이용하여 ALB를 통해 Service 노출시키는 방법은 두 가지이다. 실습을 통해 각각을 비교해보도록 하자. 두 방법 모두 argo workflow라는 서비스를 설치한 후 ingress/alb를 통해 외부로 노출시킬 것이다.
여기서 사용한 provider들은 다음과 같다.
public/private subnet에 아래와 같은 태그가 있어야 한다.