[AWS] SSL인증서 신청하기

YoungBin·2023년 5월 31일
0

aws

목록 보기
4/4
post-thumbnail

💡 SSL란?

웹사이트와 브라우저 사이(또는 두 서버 사이)에 전송되는 데이터를 암호화하여 인터넷 연결을 보호하기 위한 표준 기술이다. 이 기술은 해커가 개인 데이터나 금융 데이터 등의 전송되는 정보를 보거나 훔치는 것을 방지 해준다.

1. 💻 SSL인증서 요청

상단의 검색창에 SSL을 검색하면 AWS Certificate Manager라고 나오는 탭이 있을 것이다. 해당 부분을 클릭후 인증서 요청 버튼을 클릭해준다.
main

다은과 같은 화면이 나오게 되는데 퍼블릭 인증서 요청을 선택하고 다음을 눌러준다.
인증서 유형

상단에 도메인 이름에 구메한 도메인을 입력해주고 나머지는 그냥 둔 상태로 요청을 클릭 한다.
퍼블릭인증서 요청

요청을 누르면 다음과 같은 화면으로 넘어가게 되는데 인증서 ID을 클릭하여
검증중

도메인 탭으로 이동해준다. 만약 필자처럼 등록한 도메인이 보이지 않는다면 여기를 클릭하여 Route 53작업을 진행해줘야 한다.
도메인 탭

🔔SSL인증서 부분이 계속 검토 대기 중 이라면?

걱정할 필요 없다. 그냥 느린거다 안된다고 겁먹지 말고 그냥 커피라도 한잔 마시고 오면 인증 상태가 완료로 변경 되어 있을 것이다.

2. 💻 EC2 대상 그룹 및 로드밸런서 설정

✅ 대상 그룹 설정

EC2로 돌아와 오른쪽 메뉴 하단에 대상그룹을 선택해주면 다음과 같은 화면이 나온다. 해화면에서 Create target group을 클릭해준다.

해당부분을 보면 하단에 기본으로 80포트가 자리 잡고 있다.
만약 배포를 80포트를 하면 그 대로 두어도 괜찮은데 필자는 Spring boot 배포를 8080 포트로 하였다. 그렇기에 8080포트로 작업을 진행 해주 었다.

그룹생성

하단의 Next버튼을 눌러주면 다음과 같은 화면을 볼 수 있는데 상단의 체크박스를 체크 해주고 Incloud as pending below을 클릭후 하단에 Review targets에 방금 추가 한 값이 들어 갔는지 확인후 대상그룹을 만들어 준다.
Next

✅ 로드밸런서 설정

EC2로 돌아와 왼쪽 메뉴 하단에 로드밸런서탭이 있을 것이다. 해당 부분으로 들어가서 로드밸런서을 생성해주자
로드벨런서

버튼을 클릭하면 다음 3가지 중에 한가지를 선택하라고 나오는데 우리는 HTTP로 들어온 요청을 HTTP로변경해주는 작업을 진행 할 예정임으로 첫번째를 선택해준다.
만들기

로드밸런서를 설정하기 전에 알아둬야 하는 것이 몇 가지 있다.

  • EC2의 가용영역
  • EC2의 VPC ID
  • EC2의 보안그룹

다음과 같은 것을 메모장에 적어둬야 진행하기 쉽다.

Create을 클릭하고 들어가면 다음과 같은 화면이 상단에 다음과 같은 화면이 나오는데,
해당 부분은 Load balancer name을 제외한 나머지는 안들지 않는다.
Name

다음으로는 맵핑인데, 해당부분이 중요하다. 아까 위에서 메모장에 적어두고 진행하라고 했던 부분은 해당 부분 때문이다. VPC는 사용할 인스턴스의 VPC랑 마춰줘야 한다.

Mappings사용하는 EC2인스턴스의 가용영역을 선택해줘야 한다.
그리고 Mappings는 최소 2개 이상 선택하지 않으면 사용이 불가 함으로 가용영역 및 다른 것 하나를 추가 적으로 선택해준다.

필자는 해당 부분을 몰라 1주일 동안 아무것도 못 한 적이 있다.
네트워크

보안그룹도 사용할 인스턴스가 들어가 있는 보안그룹을 넣어주면 된다.
해당부분은 보안그룹을 따로 만들어서 사용해도 상관이 없는데, 필자는 그냥 인스턴스 만들때 만든 보안그룹에 진행 하였다.
보안그룹

보안그룹을 설정 했으면 하단에 Listeners and routing부분이 있다.
해당 부분은 대상 그룹 설정에서 만들었던 대상을 넣어주면 된다.

필자는 아까 위에서도 말 했듯이 배포 포트를 8080으로 하였다.
그렇기에 배포 포트인 HTTP 8080, HTTPS 443을 리스너에 추가 해주었다.
참고로 둘다 같은 대상으로 잡아준다.
리스너 설정

하단의 인증서 부분은 처음에 받았던 SSL 인증서를 선택해준다.
그 외의 것들은 건들지 않고 바로 Create load balancer을 클릭 후 생성해준다.
인증서

다음과 같이 Active가 뜨면 완료 된 것이다.
하지만 이것도 시간이 좀 걸려서 안된다고 걱정 할 필요 없다.
완료

완료가 되었다면 대상그룹에 들어가 생성해준 것을 클릭하여 들어가보면 Unused 또는 Unhealthy에 표시가 되어있을 것이다. 상태는 다음과 같다고 볼 수 있다.

  • Unused : EC2랑 연결이 안됨 (해당부분은 위에서 로드밸런서 생성할때 사용할 EC2 인스턴스랑 무언가가 맞지 않을 때 일어난다.)
  • Unhealthy : 서버가 안켜짐 (필자는 이때 8080서버를 꺼둔 상태 였다.)

체크

🔑 도메인 연결

이제 도메인과 우리가 지금 까지 설정한 로드밸런서를 연결 할 차례이다.
해당 부분은 Route53에서의 설정 값을 그대로 이용하는 부분이다.

검색창에 Route53을 검후 들어가서 호스팅영역을 들어가준다.
호스팅영역

위에서 언급한 포스트르 보았다면 다음과 같이 4개의 레코드가 존제 할 것 이다.
우리는 여기서 유형A의 레코드를 삭제 또는 수정을 해줄 것이다.
레코드

수정

가장위의 A타입 레코드를 선택후 수정을 눌러준후 다음과 같이 진행해준다.
선택

별칭을 클릭하여 키고, Application/Classic Load Balncer을 선택한다.
그 후 만든 로드밸런서의 위치를 잡아주고 로드 밸런서를 선택해주고 저장을 해준다.
레코드 수정

등록

등록도 수정이랑 똑같다.

3. 💻 HTTP요청을 HTTPS로 리다이렉트

만약에 우리가 구글에 접속하다고 치자 우리는 주소창에 google.co.kr이라고 치면 자동으로
https://google.co.kr 이런식으로 https로 자동으로 리다이렉트가 된다.

우리는 요청을 HTTP로 했는데 HTTPS로 넘어간다는 의미 이다. 보통 사용자들은 주소창에 주소를 입력 할때 https://~ 라고 적지 않는다 그렇기에 우리가 HTTP로넘어온 데이터와 쿼리를 https로 리다이렉트 해주는 작업이 필요 한 것 이다.

로드밸런서을 들어가서 신규리스너를 만들어준다.
필자는 배포포트를 8080을 하였다고 했는데, 왜 리스너를 새로 만드냐 라고 의문을 같는 사람들이 있을 수도 있어 설명하겠다.

우리가 일반 적으로 URL을 호출 할때 포트번호를 적나? 아니 적지 않는다. 그 이유는 바로 일반 사용자들은 포트번호를 모르기 때문이다.

우리가 일반적으로 naver.com을 주소창에 치고 들어가면 기본적으로 80포트가 붙는다.
여기서 SSL인증을 받았으면 443포트으로 넘어가게된다.

이때 80포트나 443포트는 뒤에 따라 붙지 않는다. 그렇기에 사용자는 당연하드는 듯이 naver.com을 치고 들어올태고 뒤에 어떠한 포트도 붙지 않는다면 80포트 임으로 80포트에 대한 리스너를 만들어 준다.

리다이렉트

리스너 추가버튼을 누르면 다음과 같은 화면이 나오는데 우리는 80포트로 들어오는 것들을 443포트
즉 HTTPS포트로 리다이랙트 시켜줄 예정으로 다음과 같이 설정을 해주고 저장을 한다.
리스터 추가

리스너 추가

추가를 완료 하면 다음과 같이 3개의 리스너가 등록이 되는 것을 볼 수 있다.
각 리스너를 설명 하면 다음과 같다

추가 리스너

이로서 AWS SSL인증을 끝내겠다.

0개의 댓글