오늘 배운 것

어제 작업 중이던 이슈를 오늘은 마쳐 보려고 한다. Route53이나 EC2 로드밸런서 설정에서 문제가 있을 것이라고 생각해서, 여러 블로그들을 보면서 설정을 비교하고 조금씩 바꿔보던 작업을 하고 있었다. 멘토님께서는 AWS에서 HTTPS 인증서를 받을 수 있고, 로드밸런서(ALB)에 그렇게 받은 HTTPS 인증서를 추가하면 될 것이라고 말씀해 주셔서 이 부분을 참고해보면 좋겠다. 찾아보니 비슷한 경우의 블로그도 또 발견했다. 

 

내가 궁금했던 부분은, 왜 구매한 도메인 자체는 HTTP 연결만 가능하고, 그 앞에 서브도메인으로 dev나 test를 붙인 개발 서버나 테스트 서버는 HTTPS로 접근이 가능한지였다. 추측으로는 개발과 테스트 서버는 Route53에서 CNAME 타입으로 레코드를 생성하기 때문에 A 타입으로 레코드를 생성하는 프로덕션 서버와는 IP 주소로 연결되는 방식이 다르다고 생각했다. 

 

블로그에서 시도한 방법을 보았을 때, 단계는 크게 6단계로 나뉘는 것으로 보였고 나는 1-5단계는 다 적용이 되었다고 생각했다. 

1. ACM 인증서 생성하기

2. Route53에서 새 호스팅 영역 생성하기

3. 도메인을 구매한 사이트에서 설정한 DNS 레코드 값을 Route53에 설정해 주기

4. ELB 생성하기

5. ELB 로드밸런서의 DNS 주소를 Route53에서 새로 생성한 레코드에 적용하여 ELB와 Route53 연결하기

6. ELB 리스너에서 HTTP 리스너를 HTTPS로 리다이렉션 시키기

 

6단계의 경우, 4단계에서 만든 로드밸런서의 상세 정보를 보면 리스너가 2개 있다. HTTPS 리스너와 HTTP이 리스너이다. 여기서는 HTTPS를 통해서만 로드밸런서에 접근하고 싶기 때문에, HTTP로 접근했을 경우 이를 리디렉션 시켜 주어야겠다. 

 

HTTP 리스너의 편집 버튼을 누르고, 다음과 같이 'URL로 리디렉션'을 클릭해 주자. 

 

이렇게 하고 검색창에 도메인 이름을 그대로 입력해 주었다. 원래는 HTTP로 연결되어서 경고로 안전하지 않은 연결이라고 떴었다. 이번에는 자동으로 HTTPS로 리디렉션이 된다. 문제는 여전히 HTTPS 연결이 허용되지 않는 것으로 보였다. 즉 URL 앞에 HTTP나 HTTPS를 명시하지 않거나, HTTP로 명시해도 HTTPS로 리디렉션은 잘 되는데, 그냥 Route53 호스팅 영역 자체에서 HTTPS 연결을 허용하지 않는 것 같았다. 이 부분이 빠진 것 같았다. 

 

그런데 정확히 내가 어떤 부분을 놓치고 있는 것인지 헷갈려서 정리가 필요했다. 

 

정리하자면 총 네 단계가 있었다. 

1. ACM에서 SSL/TLS 인증서 발급받기

2. ALB에 인증서 적용하기

3. 보안 그룹에 인바운드, 아웃바운드 트래픽이 허용되는지 확인하기

4. Route53에서 도메인 설정하기

 

참고로 이미 ACM에 인증서도 있고, ALB에 인증서도 적용되어 있고, 보안 그룹을 확인해보니 인바운드와 아웃바운드 트래픽도 허용된 상태였다. Route53에서 A 레코드도 ALB의 DNS 주소로 연결되어 있었다. 그래서 이 중에서 뭔가 예상과 다르게 된 부분이 있을 것이라고 추측했다. 

 

2번 과정을 자세히 보니 ALB에 ACM에서 발급받은 인증서를 추가하는 것은 맞는데, 리스너 규칙을 적용해 줘야 한다는 말이 있었다. 찾아보니 'SNI용 SSL 인증서 추가'라는 버튼이 보였다. SNI는 뭔지 몰랐는데 SSL 인증서 추가라는 말이 있어서 눌러주었다. 그리고 ACM에 기존에 등록되어 있는 인증서를 추가해주었다. 

 

그런데 여전히 되지 않는다..! 

 

궁금한 점

1. 왜 문제 해결 전 상황에서 도메인은 HTTP 연결만 되고, 서브도메인은 HTTPS도 가능했을까?

2. Route53에서 CNAME과 A타입 레코드의 차이는 무엇일까?

3. 도메인을 발급받은 사이트(내 경우에는 porkbun)와 Route53 서비스의 역할은 각각 무엇인가?

4. 로드밸런서의 정확한 정의가 뭘까

5. ACM 서비스는 왜 필요하고 무엇인가

6. 로드밸런서에 리스너를 추가한다는 것이 무슨 의미인가?

 

 오늘의 러닝 인증

 

+ Recent posts