ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • CloudFront를 통한 HTTPS 통신 과정
    클라우드/aws 2024. 10. 16. 16:38
    728x90
    반응형

    CloudFront를 통한 HTTPS 통신 과정:

    1. CloudFront 구성 요소:

    • 클라이언트: 웹 페이지에 접속하는 사용자의 브라우저 또는 애플리케이션.
    • CloudFront Distribution: CloudFront에서 설정한 배포(Distribution)로, 도메인 이름에 따라 클라이언트의 요청을 처리하고, 캐시된 콘텐츠를 전달하거나 원본 서버로 요청을 전달함.
    • 원본 서버(Origin Server): S3 버킷, EC2 인스턴스, ALB, 또는 사용자 정의 서버 등 클라이언트에게 실제 웹 콘텐츠를 제공하는 서버.
    • SSL/TLS 인증서: CloudFront에 적용된 인증서로, HTTPS 연결을 통해 클라이언트와 CloudFront 간의 통신을 암호화하는 데 사용.

    2. HTTPS를 사용한 CloudFront의 작동 원리:

    • 1단계: 클라이언트의 HTTPS 요청:
      • 사용자가 웹 브라우저에서 https://www.example.com과 같은 주소를 입력하면, 브라우저는 해당 도메인에 대한 HTTPS 연결을 설정하기 위해 CloudFront 배포의 도메인으로 요청을 보냅니다.
      • CloudFront는 사용자가 지정한 도메인 이름(예: www.example.com)에 매핑된 CloudFront 배포의 DNS 엔드포인트로 트래픽을 라우팅합니다.
    • 2단계: SSL/TLS 핸드셰이크:
      • 클라이언트와 CloudFront 간의 SSL/TLS 핸드셰이크가 시작됩니다.
      • CloudFront가 SSL/TLS 인증서를 클라이언트에게 제공하여, 클라이언트가 인증서를 검증합니다.
      • 이 인증서는 보통 **AWS Certificate Manager(ACM)**을 통해 발급받아 CloudFront에 연결된 도메인에 적용됩니다.
      • 클라이언트가 인증서 검증에 성공하면, 클라이언트와 CloudFront는 세션 키를 협상하여 암호화된 통신 채널을 설정합니다.
    • 3단계: CloudFront에서 콘텐츠 전달:
      • CloudFront 캐시 여부 확인:
        • 클라이언트가 요청한 콘텐츠가 CloudFront 엣지 로케이션(가장 가까운 CloudFront 서버)에 캐시되어 있다면, CloudFront는 캐시된 콘텐츠를 클라이언트에게 바로 전달합니다.
        • 캐시된 콘텐츠가 없다면, CloudFront는 원본 서버에 요청을 전달하여 콘텐츠를 가져옵니다.
      • 클라이언트와 CloudFront 간의 데이터 전송은 이 **암호화된 통신 채널(HTTPS)**을 통해 이루어집니다.
    • 4단계: CloudFront와 원본 서버 간의 통신:
      • CloudFront와 원본 서버 간의 통신 방식HTTP 또는 HTTPS 중 선택할 수 있습니다:
        • HTTPS 사용 시: CloudFront와 원본 서버 간의 데이터 전송도 암호화되어, 전 구간에서 안전한 HTTPS 통신이 유지됩니다.
        • HTTP 사용 시: CloudFront와 원본 서버 간의 통신은 암호화되지 않지만, 클라이언트와 CloudFront 간의 연결은 여전히 HTTPS로 보호됩니다.
      • 대부분의 경우, HTTPS를 사용하여 전 구간에서 암호화를 유지하는 것이 보안상 더 바람직합니다.
    • 5단계: CloudFront에서 클라이언트로 응답 반환:
      • 원본 서버에서 가져온 콘텐츠는 CloudFront 엣지 로케이션에 캐싱될 수 있으며, 이후 동일한 콘텐츠 요청이 있을 때 재사용됩니다.
      • CloudFront는 원본 서버에서 받은 콘텐츠를 암호화된 HTTPS 통신을 통해 클라이언트에게 전달합니다.

    요약: CloudFront를 통한 HTTPS 통신의 핵심

    • 클라이언트와 CloudFront 간의 통신은 CloudFront에 적용된 SSL/TLS 인증서를 통해 암호화됩니다.
    • CloudFront는 CDN 역할을 하여, 클라이언트의 요청을 처리하고 가장 가까운 엣지 로케이션에서 캐시된 콘텐츠를 전달합니다.
    • CloudFront와 원본 서버 간의 연결은 HTTPS 또는 HTTP로 설정할 수 있으며, HTTPS를 사용할 경우 데이터의 기밀성과 무결성이 전 구간에서 보호됩니다.
    • **AWS Certificate Manager(ACM)**을 통해 발급받은 인증서를 CloudFront에 적용하여, 클라이언트에게 신뢰할 수 있는 HTTPS 연결을 제공합니다.

    이 과정을 통해 CloudFront는 웹 페이지에 대한 HTTPS 통신을 안전하게 처리하며, 전 세계에 분산된 엣지 서버를 통해 빠르고 안전하게 콘텐츠를 전달할 수 있습니다. HTTPS는 클라이언트와의 연결을 보호하여 데이터의 도청 및 변조를 방지하고, 사용자의 신뢰를 유지하는 데 중요한 역할을 합니다.

    728x90
    반응형
Designed by Tistory.