AWS SAA-C03 덤프를 구매해서 문제 풀다가 전혀 이해할 수 없었던 부분이었다.
문제는 이렇다.
[문제]
SSL/TLS 인증서를 사용해서 Amazon CloudFront 배포를 구성하려고 할 때,
1. 배포할 때 기본 도메인 이름 사용 X
2. 다른 도메인 이름 사용 O
추가 비용 없이 인증서를 배포할 수 있는 솔루션은?
A. us-east-1 리전의 AWS Certificate Manager(ACM)에서 Amazon 발급 개인 인증서 요청
B. us-west-1 리전의 AWS Certificate Manager(ACM)에서 Amazon 발급 개인 인증서 요청
C. us-east-1 리전의 AWS Certificate Manager(ACM)에서 Amazon 발급 공인 인증서 요청
D. us-west-1 리전의 AWS Certificate Manager(ACM)에서 Amazon 발급 공인 인증서 요청
개념이 부족한 상태에서 보니까 답을 고르기 매우 어려웠다...
심지어 나는 서울 리전만 사용해보았기 때문에,,, 미국 리전에 대해서는 하나도 모르는 상태이다.
대체 CloudFront와 미국 리전은 무슨 상관이 있는 걸까...?
우선 간단하게 개념 정리를 해보자.
SSL/TLS란?
SSL(Secure Sockets Layer): 서버 간 전송되는 데이터를 암호화하여 인터넷 연결을 보호하기 위한 프로토콜
TLS(Transport Layer Security): 전송 계층 보안으로 온라인 네트워크에서 데이터를 안전하게 주고받기 위한 암호화 프로토콜
결론적으로 SSL와 TLS 둘 다 암호화 프로토콜로, 애플리케이션에서 데이터를 보호하고 안전한 송수신을 위해 사용된다.
그리고 SSL/TLS 인증서를 이용하면 HTTPS 통신이 가능해진다!
* HTTPS가 무엇이길래?
HTTPS(Hyper Text Transfer Protocol Secure)는 웹 통신(HTTP)+보안(Secure)을 합쳤다. 즉, 데이터 전송의 보안을 강화하기 위해 통신을 암호화하는 프로토콜이다.
HTTPS는 로그인 자격 증명이 필요한 웹 사이트에는 반드시 사용해야 한다. 그래서 대부분의 웹 사이트는 HTTPS를 사용하고 있다.
CloudFront란?
AWS에서 콘텐츠 전송 네트워크(CDN) 역할을 하는 서비스
AWS Certificate Manager(ACM)이란?
AWS 서비스에 사용할 공인 및 사설 SSL/TLS 인증서 관리 서비스
ACM은 SSL/TLS 인증서를 구매/업로드/갱신해준다.
ACM은 다른 AWS 서비스와 통합되는 특징을 가지고 있기 때문에 Elastic Load Balancer(ELB), Amazon CloudFront 배포, Amazon API Gateway, AWS Elastic Beanstalk, AWS CloudFormation 등과 연동하여 사용할 수 있다!
이제 선택지를 살펴보면 4개의 선택지에서 다른 점은 딱 2가지이다
① 리전 ② 사설 및 공인 인증서
① us-east-1 vs us-west-1
현재 AWS에서는 CloudFront와 연결된 ACM 인증서를 us-east-1 리전에서만 지원하고 있다고 한다.
* 왜 꼭 us-east-1(미국 동부, 버지니아 북부) 리전일까?
CloudFront는 전 세계 여러 엣지 로케이션에서 동작하기 때문에 인증서를 글로벌하게 사용할 수 있어야 한다고 한다.
us-east-1 리전에서 발급된 인증서는 CloudFront가 각 엣지 로케이션에 쉽게 전파/복제할 수 있도록 최적화되어 있다.
다른 리전에서 발급된 인증서는 다른 엣지 로케이션의 복제 구조와 맞지 않기 때문에 사용이 제한될 수 있다.
② 개인 인증서 vs 공인 인증서
CloudFront를 사용할 때는 AWS Certificate Manager(ACM)에서 발급된 퍼블릭(공인) 인증서를 사용하는 것이 좋다고 AWS Documentation에 작성되어 있다.
ACM에서 공인 인증서를 발급받는 것은 무료이다!
* 사설 인증서는 그럼 언제 쓰이는가?
① 개발 도중 도메인 기반 테스트가 필요한 경우
② 사용자에게 노출되지 않지만, 보안을 위해 시스템간 SSL 통신을 적용하고 싶은 경우
문제의 답안은 'C. us-east-1 리전의 AWS Certificate Manager(ACM)에서 Amazon 발급 공인 인증서 요청'이 정답이었다.
다음에는 CloudFront에 대해서 좀 더 자세히 공부해야겠다.
특히 AWS Solution Architect Associate(SAA)에서 문제, 선택지에 CloudFront가 굉장히 많이 나오는 것 같으니 개념과 동작 방식을 꼼꼼하게 살펴보는 것도 좋을 것 같다!