AWS Fargate와 Docker를 활용한 Auto Scale Serverless 개발하기: 도메인 생성 및 HTTPS 연결
안녕하세요, 트남 Jake 입니다.
이전 강좌에서 ALB의 도메인을 통해 Fargate 웹서버를 호출 해 보았는데요, “http://ALB-HelloNode-xxxxxxxx.ap-northeast-2.elb.amazonaws.com” 이런 엄청 긴 도메인을 서비스에서 쓸 순 없겠죠?
이번 강좌에서는
- 도메인을 만들고
- 이 도메인에 인증서를 발급받아
- HTTPS로
이전 강좌에서 만든 Fargate 서비스로 통신하도록 하는 작업을 해보겠습니다.
도메인 생성하기
도메인을 생성하기위해 AWS Route53 으로 이동합니다. (https://console.aws.amazon.com/route53/home?region=ap-northeast-2#)
#1 도메인 생성
사용을 원하는 도메인을 위와같이 입력한 후 “Check” 로 이미 생성되어 있는지 확인합니다.
(.com은 이미 누군가 사용중이군요..) 저는 (강좌용이니까…가장 싼) hellonode.net 선택하였습니다.
그리고 원하시는 날짜만큼 선택 후 구매합니다. 등록 처리가 완료될 때 까지 잠시동안 Pending…(저는 15분 정도 걸린 거 같네요)
완료가 되면 친절하게도 이메일이 옵니다. 완료가 되었다면 왼쪽 “Hosted zones” 메뉴로 가서 추가된 도메인을 선택합니다.
#2 www 추가
누군가 www.hellonode.net으로 접속할수도 있겠지요? “www.” 를 추가 해 보겠습니다.
- “Create Record Set” 을 클릭합니다.
- Name에는 www, Type은 CNAME을, Value는 생성한 도메인을 입력 후 “Create” 합니다.
이러면 www.hellonode.net → hellonode.net 으로 바라봅니다.
#3 ALB에 연결하기
이제 이전 강의에서 만든 ALB에 연결해 보도록 하겠습니다.
- “Create Recode Set” 을 클릭합니다.
- Name은 빈칸으로 두고, Type은 A — IPv4 address, Alias는 Yes를 선택합니다.
- Alias Target에서 우리가 이전에 추가한 ALB를 선택한 후 “Create” 클릭합니다.
이제 http://hellonode.net으로 연결이 가능합니다!
(간혹 공유기 캐쉬등 중간 쓰레기 캐쉬에 의해 접속이 안될 수 있습니다. 아래 스샷 처럼. 보통 하루면 캐쉬가 리셋되는 거 같은데, 바로 테스트를 원하시면 다른 공유기에 접속 또는 3G/4G로 확인 해 보시길 바랍니다)
인증서 구매
HTTPS를 사용하기 위해선 인증서가 필요합니다. 인증서를 발급해 보겠습니다.
- https://ap-northeast-2.console.aws.amazon.com/acm/home?region=ap-northeast-2#/ 로 이동합니다.
- “인증서 요청"을 클릭합니다.
- “공인 인증서 요청” 선택 후 “인증서 요청"을 클릭합니다.
1단계: 도메인 이름 추가
도메인 이름을 추가합니다. 첫번째는 기본 도메인을, www와 * 를 추가로 입력합니다. 이 때 순서가 중요합니다. 귀찮다고 *.도메인 만 넣고 생성하면 브라우저에서 경고를 냅니다.
“*.” 은 api.hellonode.net 과 같이 서브도메인을 통틀어 가르킵니다.
2단계: 검증 방법 선택
원하는 검증 방법을 선택합니다. 우리는 AWS에서 생성을 했으므로 “DNS 검증"을 선택 합니다. 선택하였다면 “검토"를 클릭합니다.
3단계: 검토 및 요청
입력한 값을 확인 후 “확인 및 요청" 클릭합니다.
4단계: 검증
이 단계까지 왔다면 모두 “검증 보류"가 나오는 것을 확인하실 수 있습니다.
아래그림처럼 각 도메인을 클릭하시어 확장 후 “Route 53에서 레코드 생성"을 모두 해 주세요.
모두 완료하셨다면 “계속"을 클릭합니다.
약간의 시간 후 발급이 완료되었습니다.
만약 발급이 완료되지 않는다면, 이 화면에서 도메인을 선택 후 “Route 53에서 레코드 생성" 버튼이 활성화 되어있는 항목을 클릭하시길 바랍니다.
ALB에 HTTPS 연결하기
이제 인증서가 준비되었으니 HTTPS를 사용할 수 있게 세팅해 보도록 하겠습니다.
리스너 추가
- 이전에 생성했던 ALB를 선택 후 아래 리스너 탭을 선택합니다.
2. “리스너 추가" 버튼을 클릭합니다.
- HTTPS를 선택합니다.
- 작업 추가 → 다음으로 전달 → 전에 추가했던 대상그룹을 선택합니다.
- 새로 발급한 인증서를 선택합니다.
“저장" 클릭합니다.
자 이제 https://hellonode.net 으로 접속이 가능합니다! 짝짝짝!
지금까지 Docker, AWS Fargate, ALB를 활용한 Auto Scale Serverless 구성방법을 살펴보았습니다. 이제 여러분은 Micro-service 를 Docker를 사용하여 개발 후 AWS Fargate를 활용하여 자동 확장 가능한 서비스를 만들 수 있습니다!
처음 세팅할때 너무 개고생을 해서…다른 사람은 같은 고생을 하지 않게 하기 위해…글로 남겨봅니다.
정말 Docker와 Fargate 안 쓸 이유가 없습니다. 씁시다 여러분!
다음엔 부록 강좌로 찾아 뵙겠습니다. 그럼 안녕히~