1. 개요
이번 글에서는 route 53을 중점적으로 사용한다. 이를 이용해서 도메인을 등록하고 https 통신을 구축한다
2. 세팅
2.1 도메인 설정
먼저 도메인이 필요하다. route53에서도 구매가 가능하지만 가비아에서 도메인을 구매해서 사용한다.
route53에 접속해서 구매한 도메인 이름을 입력해서 호스팅 영역을 생성한다. 그러고 리스트로 돌아가게 되면 다음과 같이 NS 유형이 생성되고 값이 4개가 존재한다.
이 4개의 값을 가비아의 도메인 통합 관리툴에 접속한 뒤 네임서버 설정을 통해 입력해 준다.
그리고 10분 정도 기다리게 되면 가비아에서 구매한 도메인을 AWS에서 관리할 수 있게 된다. 설정이 완료된 것을 확인해보고 싶으면 이메일을 통해 가비아의 알림을 확인하거나 다음의 명령어를 입력해 결과가 AWS의 NS와 동일한지 확인하면 된다.
dig {domain} NS +short
2.2 ALB 등록
해당 과정을 진행하기 전에 다중 region 트래픽 배포를 위해 앞선 모든 과정들을 다른 region에서 진행하도록 한다. 그다음 레코드 생성을 선택해 해당 서버에 빠르게 접근할 수 있도록 지연 시간 기반을 선택한 뒤 앞서 생성했던 ALB를 연결해 준다.
해당 도메인으로 연결해 보게 되면 정상적으로 작동하는 것을 알 수 있다. 하지만 주의 요함이라는 경고를 통해 https 통신이 아니기 때문에 위험하다는 알림이 나오게 된다.
2.3 HTTPS
Amazon Certificate Manager(ACM)에 접근해서 인증서를 만든다. 앞서 발급받았던 도메인 이름을 사용해서 요청하게 되면 다음과 같은 화면이 나오게 된다. 여기서 Route 53에서 레코드 생성을 눌러서 앞서 route 53에 등록했던 도메인과 연결하게 되면 AWS 내부적인 과정을 통해 검증을 진행한 뒤 문제가 없으면 인증서가 발급되게 된다.
2.3.1 ALB 변경
앞서 생성했던 ALB로 돌아온 뒤 해당 ALB를 선택한다. 그다음 리스터 및 규칙 바에서 리스너를 추가한다.
그 후에 리스너 프로토콜을 HTTPS로 변경하고 대상 그룹을 기존에 만들었던 대상 그룹으로 설정해 준다.
보안 리스너 설정에서는 앞서 ACM을 통해 만들었던 인증서를 연결 해주게 되면 이제 HTTPS 통신이 가능해진다.
3. 최종 화면
https로 접속했을 때 문제없이 잘 작동하는 것을 볼 수 있고 인스턴스들도 AZ에 따라, region에 따라 잘 변경되는 것을 확인할 수 있다. 또한 요청이 많아짐에 따라 Auto Scale에 의해 인스턴스의 수가 적절하게 변경되어서 증가하는 순간에는 응답시간이 증가하지만 추가되고 나서는 응답시간이 다시 감소하는 것을 볼 수 있다.
3.1 아쉬운 점
하지만 아직 해결하지 못한 문제들이 많다. 예를 들어 DB 같은 경우에는 프리티어 문제로 다중 region DB를 설정하지 못해서 region이 변경되게 되면 DB의 내용이 달라지게 된다. 또한 Elastic Cache를 통해서 응답을 더욱 빠르게 만들 수 있을 거 같고 Auto Scale의 가중치 값들에 대해서도 추가적인 세팅을 하면 성능이 더 좋아질 것 같다. 이 부분에 대해서는 추가적으로 공부해 나중에 작성하도록 하겠다.
'코딩 > aws' 카테고리의 다른 글
AWS monolithic APP 고도화(2) (0) | 2024.11.03 |
---|---|
AWS monolithic APP 고도화(1) (0) | 2024.11.02 |
AWS monolithic APP 고도화 (0) | 2024.11.02 |