LoginSignup
1
1

More than 1 year has passed since last update.

Amazon EKSでNGINX Ingress ControllerにAWS Certificate Managerを利用する

Last updated at Posted at 2022-10-28

はじめに

Amazon EKSでNGINX Ingress ControllerにAWS Certificate Managerを設定する方法をまとめます。
Mac環境を想定しています。

実行環境の準備

  1. AWS CLIの設定
    AWS CloudFormationを動かすためのAWS CLIの設定を参考にしてください。

  2. EKSクラスタの構築
    Macでeksctlを利用してAmazon EKSのクラスターを構築するを参考にしてください。

  3. EKSのコンテキストの設定
    MacにてAmazon EKSの設定をするを参考にしてください。

  4. Helmの設定
    Amazon EKSでHelmを利用するを参考にしてください。

  5. NGINX Ingress Controllerの設定
    Amazon EKSでNGINX Ingress Controllerを利用するを参考にしてください。

環境設定

  1. Route53でカスタムドメインを取得します。

  2. AWS Certificate Managerを取得します。

  3. patch.yaml を作成する
    AWS L7 ELB with SSL Terminationを参考にしてください。
    ACMのARNを設定する

    patch.yaml
    controller:
      service:
        targetPorts:
          http: http
          https: http
        annotations:
          service.beta.kubernetes.io/aws-load-balancer-ssl-cert: ${ACMのARN}
          service.beta.kubernetes.io/aws-load-balancer-backend-protocol: "http"
          service.beta.kubernetes.io/aws-load-balancer-ssl-ports: "https"
          service.beta.kubernetes.io/aws-load-balancer-connection-idle-timeout: '3600'
    
    
  4. NGINX Ingress ControllerのチャートをHelmでアップグレードする
    ※事前にKubernetesクラスターのコンテキストの設定をします。

    helm upgrade -i nginx-ingress-controller \
        ingress-nginx/ingress-nginx \
        -n nginx-ingress-controller \
        -f patch.yaml
    

クリーンアップ

  1. クラスターから削除する

  2. NGINX Ingress ControllerをHelmで削除する

    helm delete nginx-ingress-controller -n nginx-ingress-controller
    
  3. Namespaceを削除する

    kubectl delete ns nginx-ingress-controller
    
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1