보통 AWS에 도메인을 연결하려면 Route53을 통해 aaa.com, bbb.net 과 같이 전체를 이용해야 합니다.
하지만 원하는 *.abc.helllo.com 만 사용하는 방법을 정리해 보았습니다.
먼저 Certificate Manager 에 접속하여 *.abc.hello.com 이나 원하는 서브 도메인을 입력합니다.
이메일 인증과 cname인증을 지원하며 원하는 방식으로 인증을 할 수 있습니다.
인증에 성공시 인증서 리소스에서 아래와 같은 코드를 복사해둡니다.
arn:aws:elasticloadbalancing:********************
사용하던 Deployment 와 Service를 띄워주고
아래와 같이 인그레스(Ingress)를 작성하여 적용해줍니다.
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: "이름"
namespace: test
annotations:
alb.ingress.kubernetes.io/scheme: internet-facing
kubernetes.io/ingress.class: alb
external-dns.alpha.kubernetes.io/hostname: test.abc.hello.com
# AWS Certificate Manager certificate's ARN
alb.ingress.kubernetes.io/certificate-arn: "arn:aws:acm:*************"
alb.ingress.kubernetes.io/listen-ports: '[{"HTTP": 80}, {"HTTPS":443}]'
# http접속시 https로 리다이렉트
alb.ingress.kubernetes.io/ssl-redirect: "443"
spec:
ingressClassName: alb
rules:
- http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: "서비스명"
port:
number: 80
kubectl apply -f 파일명
현재 인그레스에 보이는 ADDRESS를 사용하는 DNS업체에서 CNAME을 통해 연결하시면 됩니다.
kubectl get ingress --all-namespaces
NAMESPACE NAME CLASS HOSTS ADDRESS PORTS AGE
test test-ingress alb * abcdef.elb.amazonaws.com 80 176m
DNS업체별로 등록방식은 다르지만 CNAME명 *.abc.hello.com CNAME값 abcdef.elb.amazonaws.com 식으로 적어주시면 됩니다.
이제 지정한 도메인 test.abc.hello.com 로 접속하면 https로 잘 나오게 됩니다.
반응형
'IT > Kubernetes' 카테고리의 다른 글
WAS에서 Static 파일 전송하기 (0) | 2022.03.12 |
---|---|
CrashLoopBackOff 로 Pod이 시작되지 않을 때 처리 (0) | 2022.03.11 |
Elastic Cloud on Kubernetes (ECK) 설치 (1) | 2022.03.07 |