21.7. TLS Termination の追加

AWS Load Balancer に TLS Termination を追加できます。

21.7.1. AWS Load Balancer への TLS Termination の追加

ドメインのトラフィックをサービスの Pod にルーティングし、AWS Load Balancer に TLS Termination を追加できます。

前提条件

  • OpenShift CLI (oc) にアクセスできる。

手順

  1. Operator をインストールし、aws-load-balancer-controller リソースのインスタンスを作成します。

    apiVersion: networking.olm.openshift.io/v1
    kind: AWSLoadBalancerController
    metadata:
      name: cluster 1
    spec:
      subnetTagging: auto
      ingressClass: tls-termination 2
    1
    aws-load-balancer-controller インスタンスを定義します。
    2
    AWS Load Balancer コントローラーによって調整される ingressClass リソースの名前を定義します。この ingressClass リソースは、存在しない場合に作成されます。さらに ingressClass 値を追加できます。spec.controller ingress.k8s.aws/alb に設定されている場合、コントローラーは ingressClass の値を調整します。
  2. Ingress リソースを作成します。

    apiVersion: networking.k8s.io/v1
    kind: Ingress
    metadata:
      name: <example> 1
      annotations:
        alb.ingress.kubernetes.io/scheme: internet-facing 2
        alb.ingress.kubernetes.io/certificate-arn: arn:aws:acm:us-west-2:xxxxx 3
    spec:
      ingressClassName: tls-termination 4
      rules:
      - host: <example.com> 5
        http:
            paths:
              - path: /
                pathType: Exact
                backend:
                  service:
                    name: <example-service> 6
                    port:
                      number: 80
    1
    Ingress の名前を指定します。
    2
    コントローラーは、パブリックサブネット内のこの Ingress リソースのロードバランサーをプロビジョニングして、インターネット経由でロードバランサーに到達できるようにします。
    3
    ロードバランサーに添付する証明書の Amazon Resource Name です。
    4
    Ingress クラス名を定義します。
    5
    トラフィックルーティングのドメインを定義します。
    6
    トラフィックルーティングのサービスを定義します。