도메인 구입

Domains > Registered domains에서 도메인을 구입하거나 외부 도메인을 사용한다. 구매 후 등록까지 시간이 좀 걸린다.

Untitled

ACM 생성

AWS Certificate ManagerCertificates 에서 Request를 클릭하여 ssl인증을 받을 도메인을 입력한다.

Untitled

생성 완료후 Domains에 자동으로 CNAME이 생성되며 Pending 상태가 된다.

Untitled

Create records in Route 53 버튼을 클릭하여 Record를 만들어 준다.

Untitled

별다른 설정 없이 바로 Create하면 됨.

Untitled

Route 53 > Hosted zones에서 record가 잘 만들어졌는지 확인.

Untitled

셸에서 CNAME 주소를 검증. (Hosted zones에서 record가 만들어 진후 1분 후 시도)

dig CNAME <cname address> +short

그리고 ACM이 Active 상태가 되기까지는 30분에서 1시간 까지 소요된다. 그 이상 안되면 뭔가 문제가 있는 것이다. 완료되면 arn을 복사하여 ingress에 사용할 수 있다.

Untitled

ingress 예시: 배포시 alb(AWS Load Balancer)가 자동으로 생성된다.

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  annotations:
    alb.ingress.kubernetes.io/backend-protocol: HTTP
    alb.ingress.kubernetes.io/certificate-arn: <위에서 생성한 certificate의 arn 이름>
    alb.ingress.kubernetes.io/listen-ports: '[{"HTTP":80},{"HTTPS":443}]'
    alb.ingress.kubernetes.io/scheme: internet-facing
    alb.ingress.kubernetes.io/ssl-redirect: "443"
    kubernetes.io/ingress.class: alb
  name: managed-cert-ingress
  namespace: argo
spec:
  rules:
  - host: argo.example.com
    http:
      paths:
      - backend:
          service:
            name: argo-workflows-server
            port:
              number: 80
        path: /*
        pathType: ImplementationSpecific