TL; DR
Redash公式のhelmチャートでデプロイする際、https化に躓いたため備忘として残します
手順
1. AWS Load Balancer Controllerをセットアップする.
https://docs.aws.amazon.com/ja_jp/eks/latest/userguide/aws-load-balancer-controller.html
2. helm install
$ helm repo add redash https://getredash.github.io/contrib-helm-chart/
$ helm install redash/redash --values values.yaml
values.yaml
ingress:
enabled: true
hosts:
- host: "redash.example.com"
paths:
- /*
annotations: {
"kubernetes.io/ingress.class": "alb",
"alb.ingress.kubernetes.io/certificate-arn": "arn:aws:acm:ap-northeast-1:111111111111:certificate/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # ACMのARN
"alb.ingress.kubernetes.io/scheme": "internet-facing",
"alb.ingress.kubernetes.io/target-type": "ip"
}
3. Route53の設定
Load Balancer ControllerによってIngressに対応するALBが作成されているので、Route53で redash.example.com
とこのALBを紐付けるAレコードエイリアスを作成します
以上
当初はService LoadBalancerをTLS終端にしようとしていましたが、SAMLログインのリダイレクトURLが http://~
となってしまう問題に直面しました。
Ingressであればnginx.confをいじる必要もなく、ALBがよしなにしてくれます。