AWSのKubernetesでサービスを公開する最高の方法~ALB,ACM,Route53の自動作成~
AWSのKubernetesでサービスを公開する最高の方法~ALB,ACM,Route53の自動作成~ : Kubernetesが流行っているので、これからEKSを使ってサービスを公開していこうと考えている方の参考になれば嬉しいです。 AWSのEKSを使って構築しています。 はじめに EKSでサービスを公開したいけど、ロードバランサとか証明書とかの設定面倒くさいと考えている方が多いと思います。 今回の記事のゴールはymlファイルをKubernetesにデプロイするだけで、ALB作成、Route53にレコードセット追加、ACMの証明書をALBに割当の作業を自動でできるようにします。 EKSのGetting StartではCLB(Classic Load Balancer)を使用していますが、L7ロードバランサがいいのでALBで作成します。ホストベースでもパスベースでもどちらでもルーティングしてくれるので。。 本記事丁寧に説明するのですごく長くなりそうです。。。 アーキテクト AWS ALB Ingress Controller ALBの自動デプロイをするいい感じのツール AWS ALB Ingress Controller をpodで起動しておくことで特定のannotationがついた Ingress リソースをみつけるとそのannotationの情報に応じて ALB を作成してくれます。 https://kubernetes-sigs.github.io/aws-alb-ingress-controller/guide/controller/config/ kube2iam PodからAWSリソースを操作するためのIAM権限の管理をするいい感じのツール https://github.com/jtblin/kube2iam external-dns KubernetesのServiceやIngressをDNSプロバイダに対して同期するいい感じのツール 条件にあったIngressやServiceリソースが作成された時に AWSであればRoute53でDNSレコードを作成してくれます。 https://github.com/kubernetes-incubator/external-dns やっていく IAMロ...