[AWS] ELB SSL 인증서 적용하기
- AWS
- 2020. 9. 10.
이번 글에서는 ELB에 SSL 인증서를 적용해보도록 하겠습니다.
0. SSL 인증서란?
SSL 인증서는 클라이언트와 서버간의 통신을 제3자가 보증해주는 전자화된 문서입니다.
https로 시작하는 사이트에 접속한뒤 주소 좌측의 🔏 모양을 클릭하면, 해당 사이트의 SSL 인증서를 확인할 수 있습니다.
저는 이번 글에서 AWS에서 제공해주는 ACM 인증서를 사용하였습니다. 아래 내용을 보면 발급자가 Amazon인 것을 확인할 수 있습니다.
클라이언트가 서버에 접속한 직후에 서버는 클라이언트에게 이 인증서 정보를 전달합니다. 클라이언트는 이 인증서 정보가 신뢰할 수 있는 것인지를 검증 한 후에 다음 절차를 수행하게 됩니다. SSL과 SSL 디지털 인증서를 이용했을 때의 이점은 아래와 같습니다.
• 통신 내용이 공격자에게 노출되는 것을 막을 수 있습니다.
• 클라이언트가 접속하려는 서버가 신뢰 할 수 있는 서버인지를 판단할 수 있습니다.
• 통신 내용의 악의적인 변경을 방지할 수 있습니다.
자세한 내용은 아래의 책을 참고하시길 바랍니다.
1. SSL 인증서 발급받기
먼저 Amazon에서 SSL 인증서를 발급 받아보겠습니다.
✔ Amazon에서 발급해주는 SSL 인증서는 무료인 대신에, 해당 도메인의 DNS 서버로 Route53을 사용해야합니다. 따라서 인증서를 등록하기전에 Route53에 Hosted-Zone으로 사용할 도메인을 아래와 같이 등록해줘야합니다. 제가 사용할 도메인은 daily-mission.com 입니다.
Route53 등록방법 : https://velog.io/@minholee_93/AWS-Route-53-DNS-%EC%84%9C%EB%B9%84%EC%8A%A4-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0-8lk40vfqt4
도메인 등록 후에 Cetificate Manager 탭에 들어가 Request a certificate 버튼을 클릭합니다.
Request a public certificate를 선택하고 Request a certifiacte 버튼을 클릭합니다.
SSL 인증서를 등록할 도메인 주소를 입력하고 Next 버튼을 클릭합니다. 저는 daily-mission.com을 입력했습니다.
DNS validation을 선택후 Next 버튼을 클릭합니다.
최종 Review 후 Confirm 버튼을 클릭하면 아래와 같이 SSL 인증서가 생성되었습니다. (daily-mission.com에 대한 인증서는 이미 생성했었기 때문에 임의로 test.daily-mission.com을 입력했습니다.) 여기서 Create record in Route 53 버튼을 클릭하면, Route53이 알아서 해당 도메인이 유효한지 검증후 Record Set에 CNAME을 등록해줍니다.
몇 분의 시간이 지난뒤 아래와 같이 Validation Status가 Issued 상태로 변하면 이제부터 SSL 인증서를 사용할 수 있습니다.
2. ELB에 SSL 인증서 적용하기
이제 위에서 발급받은 SSL 인증서를 ELB에 적용해 보도록 하겠습니다.
먼저 ELB를 붙일 EC2 인스턴스가 아래와 같이 2개 존재한다고 가정하겠습니다.
EC2의 인스턴스의 Security Group은 아래와 같이 설정해줍니다.
이제 ELB 탭으로 이동해 Create Load Balancer 버튼을 클릭합니다.
Application Load Balancer 를 선택합니다.
사용할 ELB의 이름을 입력하고 Listners에 HTTPS를 반드시 추가해줍니다.
ELB를 사용할 가용영역을 선택하고 다음 버튼을 클릭합니다.
이 화면이 SSL을 등록하는 화면입니다. Choose a certifiacte from ACM 을 선택하고, Certificate name에서 만들어둔 ACM 인증서를 선택합니다. 다음으로 넘어갑니다.
Security Groups은 이전에 EC2에서 사용한 Security Group을 동일하게 선택합니다.
ELB Target 이름을 입력후 다음으로 넘어갑니다.
이전에 생성해둔 EC2 인스턴스 2개를 Target으로 선택하고 최종적으로 ELB를 생성합니다.
ELB가 생성되었으면, Route 53으로 이동해 Create Record Set 버튼을 클릭하고, Alias Target에서 생성한 ELB를 선택하고 저장합니다.
3. 테스트
https://daily-mission.com 으로 접속해보겠습니다.
아래와 같이 정상적으로 EC2의 내용이 출력되는 것을 확인할 수 있습니다.
😅 ELB에 SSL 인증서를 등록할 때 502에러나 503에러 때문에 고생하는 경우에는 인스턴스의 Security Groups과 ELB의 Listenr가 제대로 등록되었는지 확인해보셔야 합니다.
파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음
'AWS' 카테고리의 다른 글
[AWS] Amazon Linux1 EC2 서버 필수 설정 (0) | 2020.09.10 |
---|---|
[AWS] Ubuntu EC2에 GUI 설치하기 (0) | 2020.09.10 |
[AWS] CloudFront CNAME 설정하기 (0) | 2020.09.10 |
[AWS] 기본 기능 정리 (0) | 2020.09.10 |
[AWS] SQS Message Queue 사용하기 (0) | 2020.09.10 |