aws 환경에 구축되어있는 서비스를 azure로 변경하는 과정에서, aws에선 alb를 ingress로 사용했을때 아무 문제 없던 websocket이 문제가 있었다.
테라폼으로 테스트 할 시간은 없어서 azure doc에서 cli를 확인하고 진행했다.
az group create --name <rg 이름> --location koreacentral
az network public-ip create -n <ip 이름> -g <rg 이름> --allocation-method Static --sku Standard
az network vnet create -n <vnet 이름> -g <rg 이름> --address-prefix <10.0.0.0/16> --subnet-name <subnet 이름> --subnet-prefix 10.0.0.0/24
az network application-gateway create -n <agw 이름> -g <rg 이름> --sku Standard_v2 --public-ip-address <2번 결과값> --vnet-name <vnet 이름> --subnet <subnet 이름> --priority 100
# agw의 id를 변수로 저장
appgwId=$(az network application-gateway show -n <agw 이름> -g <rg 이름> -o tsv --query "id")
# aks에 agw를 수신컨트롤러로 사용(ingress-appgw)
az aks enable-addons -n <배포할 aks 이름> -g <aks rg 이름> -a ingress-appgw --appgw-id $appgwId
aksVnetId=$(az network vnet show -n <aks vnet 이름> -g <aks vnet rg 이름> -o tsv --query "id")
az network vnet peering create -n AGWtoAKSVnetPeering -g <agw-rg 이름> --vnet-name <agw-vnet 이름> --remote-vnet $aksVnetId --allow-vnet-access
appGWVnetId=$(az network vnet show -n <agw-vnet 이름> -g <agw-rg 이름> -o tsv --query "id")
az network vnet peering create -n AKStoAGWVnetPeering -g <aks vnet rg 이름> --vnet-name <aks vnet 이름> --remote-vnet $appGWVnetId --allow-vnet-access
ingress controller를 사용하기 위해선 아래와 같이 추가
port를 여러개 사용하기 위해선 아래와 같은 annotation이 필요
azure doc 보다는 github에 자세히 나와있다.