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

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

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

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

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

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

셸에서 CNAME 주소를 검증. (Hosted zones에서 record가 만들어 진후 1분 후 시도)
dig CNAME <cname address> +short
그리고 ACM이 Active 상태가 되기까지는 30분에서 1시간 까지 소요된다. 그 이상 안되면 뭔가 문제가 있는 것이다. 완료되면 arn을 복사하여 ingress에 사용할 수 있다.

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