반응형

 

현재 내상황

 

http://testDomain.com -> https://testDomain.com 

https://testDomain.com -> https://www.testDomain.com 

http://www.testDomain.com -> https://www.testDomain.com 

http://api.testDomain.com -> https://api.testDomain.com 

 

위와 같이 리다이렉션과 SSL 인증서 적용이 필요했다.

 

목차

1. ACM 설정

2. 로드밸런스 설정

3. 대상 그룹 설정 

4. route53 설정 

 

 

1. ACM 설정

aws의 AWS Certificate Manager(ACM)에 접속한다. 

ACM -> 인증서 요청 화면

인증서 요청화면에 접속하여 "퍼블릭 인증서 요청"을 선택하여 다음을 누른다.

 

도메인 이름은 testDomain.com 과 *.testDomain.com 2가지를 입력했다.

 

인증서 나열 > 인증서 ID 클릭 화면

도메인의 상태가 "성공"이어야 한다.

레코드를 생성하기를 누르면 AWS의 Route53에 등록된 도메인에 자동으로 레코드를 등록해준다.

(목차에서 4번의 Route53은 서브도메인 설정이므로, 목차1번을 실행하기에 앞서 Route53에 도메인이 등록되어 있어야 한다.)

 

도메인 상태를 "성공"으로 변경한것으로 가정하고 다음으로 넘어간다.

 

 

2. 로드밸런스 설정

EC2 > 로드밸런스 > 로드밸런스 생성 화면

ALB create 버튼을 눌러서 다음을 진행한다.

 

로드밸런스의 이름을 기재하고, 스키마는 Inter-facing, IP address type은 IPv4 로 선택한다.

 

네트워크 맵핑에서 가용역은 2개 이상 임의로 선택한다.

 

보안그룹은 http 포트와 https 포트가 포함되어 있는 그룹으로 선택한다.

 

리스너는 80포트는 443포트로 리다이렉션되도록 설정하고, 443 포트는 연결하려는 인스턴스로 설정한다.

(리다이렉션 설정은 로드밸런스 생성 화면에서 되지 않는것 같다.)

 

이제 로드밸런스를 생성해준다. 

 

 

로드밸런스 > 리스너 화면

로드밸런스의 리스너는 다음과 같이 설정한다.

 

443 포트의 "규칙 보기/편집"을 클릭하여 설정을 별도로 해주어야 한다.

 

443포트로 접속을 했을때 어떤 조치를 취할건지를 정하는 설정이다.

 

가장 첫번째에는 testDomain.com으로 접속시 https://testDomain.com 으로 리다이렉션하도록 만들었다.

두번째에는 api.testDomain.com 으로 접속시 api 인스턴스로 접속하도록 만들었다.

마지막 모든 요청은 web으로 접속하는 인스턴스로 접속하도록 만들었다.

 

따라서 api.testDomain.com을 제외한 모든 요청은 web 인스턴스로 접속하도록 만들었으며, asfasd.testDomain.com과 같이 설정하지 않은 도메인은 route53에서 설정이 되어 있지 않으므로 연결이 되지 않는다.

 

3. 대상 그룹 설정 

목차를 잘못 설정했다. 로드밸런스의 리스너 설정을 하기전에 대상그룹을 먼저 설정해주자.

ec2 > 대상그룹

나는 그룹을 두개 만들었다. 

webGroup에는 web 인스턴스를 넣었고, apiGroup에는 api 인스턴스를 넣었다. (포트는 80번 포트이다)

 

 

4. route53 설정 

이제 도메인으로 접속하면 로드밸런스로 라우팅되도록 설정해주어야 한다.

 

route53 > 호스팅영역 > 특정도메인 > 레코드생성 화면

레코드 생성에서는 레코드이름과 별칭으로 해당 로드밸런스를 선택해준다.

 

나는 testDomain.com , www.testDomain.com, api.testDomain.com 을 설정해주었다.

 

설정은 이것으로 마무리하고 몇분 후 해당 도메인으로 접속하여 ssl이 적용되었는지 확인해보자.

 

 

 

 

 

 

반응형

'AWS' 카테고리의 다른 글

AWS CDN font파일 CORS 문제  (0) 2022.12.04
AWS Client VPN 사용하기  (0) 2022.12.02
젠킨스 github 연동  (0) 2022.08.15
AWS s3 생성 및 CloudFront(cdn) 생성 및 도메인 연결  (0) 2022.05.12
aws php ses 메일 발송하기  (2) 2022.05.11

+ Recent posts