AWS Fargate와 Docker를 활용한 Auto Scale Serverless 개발하기: 도메인 생성 및 HTTPS 연결

Jake Yang
6 min readMar 3, 2019

--

안녕하세요, 트남 Jake 입니다.

이전 강좌에서 ALB의 도메인을 통해 Fargate 웹서버를 호출 해 보았는데요, “http://ALB-HelloNode-xxxxxxxx.ap-northeast-2.elb.amazonaws.com” 이런 엄청 긴 도메인을 서비스에서 쓸 순 없겠죠?

이번 강좌에서는

  1. 도메인을 만들고
  2. 이 도메인에 인증서를 발급받아
  3. 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.” 를 추가 해 보겠습니다.

  1. “Create Record Set” 을 클릭합니다.
  2. Name에는 www, Type은 CNAME을, Value는 생성한 도메인을 입력 후 “Create” 합니다.

이러면 www.hellonode.net → hellonode.net 으로 바라봅니다.

#3 ALB에 연결하기

이제 이전 강의에서 만든 ALB에 연결해 보도록 하겠습니다.

  1. “Create Recode Set” 을 클릭합니다.
  2. Name은 빈칸으로 두고, Type은 A — IPv4 address, Alias는 Yes를 선택합니다.
  3. Alias Target에서 우리가 이전에 추가한 ALB를 선택한 후 “Create” 클릭합니다.

이제 http://hellonode.net으로 연결이 가능합니다!

(간혹 공유기 캐쉬등 중간 쓰레기 캐쉬에 의해 접속이 안될 수 있습니다. 아래 스샷 처럼. 보통 하루면 캐쉬가 리셋되는 거 같은데, 바로 테스트를 원하시면 다른 공유기에 접속 또는 3G/4G로 확인 해 보시길 바랍니다)

인증서 구매

HTTPS를 사용하기 위해선 인증서가 필요합니다. 인증서를 발급해 보겠습니다.

  1. https://ap-northeast-2.console.aws.amazon.com/acm/home?region=ap-northeast-2#/ 로 이동합니다.
  2. “인증서 요청"을 클릭합니다.
  3. “공인 인증서 요청” 선택 후 “인증서 요청"을 클릭합니다.

1단계: 도메인 이름 추가

도메인 이름을 추가합니다. 첫번째는 기본 도메인을, www와 * 를 추가로 입력합니다. 이 때 순서가 중요합니다. 귀찮다고 *.도메인 만 넣고 생성하면 브라우저에서 경고를 냅니다.

“*.” 은 api.hellonode.net 과 같이 서브도메인을 통틀어 가르킵니다.

2단계: 검증 방법 선택

원하는 검증 방법을 선택합니다. 우리는 AWS에서 생성을 했으므로 “DNS 검증"을 선택 합니다. 선택하였다면 “검토"를 클릭합니다.

3단계: 검토 및 요청

입력한 값을 확인 후 “확인 및 요청" 클릭합니다.

4단계: 검증

이 단계까지 왔다면 모두 “검증 보류"가 나오는 것을 확인하실 수 있습니다.

아래그림처럼 각 도메인을 클릭하시어 확장 후 “Route 53에서 레코드 생성"을 모두 해 주세요.

모두 완료하셨다면 “계속"을 클릭합니다.

약간의 시간 후 발급이 완료되었습니다.

만약 발급이 완료되지 않는다면, 이 화면에서 도메인을 선택 후 “Route 53에서 레코드 생성" 버튼이 활성화 되어있는 항목을 클릭하시길 바랍니다.

ALB에 HTTPS 연결하기

이제 인증서가 준비되었으니 HTTPS를 사용할 수 있게 세팅해 보도록 하겠습니다.

https://ap-northeast-2.console.aws.amazon.com/ec2/v2/home?region=ap-northeast-2#LoadBalancers:sort=loadBalancerName 로 이동합니다.

리스너 추가

  1. 이전에 생성했던 ALB를 선택 후 아래 리스너 탭을 선택합니다.

2. “리스너 추가" 버튼을 클릭합니다.

  • HTTPS를 선택합니다.
  • 작업 추가 → 다음으로 전달 → 전에 추가했던 대상그룹을 선택합니다.
  • 새로 발급한 인증서를 선택합니다.

“저장" 클릭합니다.

자 이제 https://hellonode.net 으로 접속이 가능합니다! 짝짝짝!

지금까지 Docker, AWS Fargate, ALB를 활용한 Auto Scale Serverless 구성방법을 살펴보았습니다. 이제 여러분은 Micro-service 를 Docker를 사용하여 개발 후 AWS Fargate를 활용하여 자동 확장 가능한 서비스를 만들 수 있습니다!

처음 세팅할때 너무 개고생을 해서…다른 사람은 같은 고생을 하지 않게 하기 위해…글로 남겨봅니다.

정말 Docker와 Fargate 안 쓸 이유가 없습니다. 씁시다 여러분!

다음엔 부록 강좌로 찾아 뵙겠습니다. 그럼 안녕히~

--

--