[CloudFront & AWS Global Accelerator] CloudFront - ALB as an Origin

IMKUNYOUNG·2024년 8월 28일
0

AWS-SAA

목록 보기
86/91

AWS CloudFront는 전 세계에 분산된 엣지 로케이션을 통해 콘텐츠를 빠르게 제공할 수 있는 강력한 CDN 서비스입니다. CloudFront를 통해 사용자 맞춤형 HTTP 백엔드에 접근하고자 할 때, 특히 EC2 인스턴스와 애플리케이션 로드 밸런서(ALB)를 사용하는 경우에 대한 설정 방법을 알아보겠습니다.


EC2 인스턴스를 직접 사용하는 경우

시나리오: 사용자가 CloudFront를 통해 직접 EC2 인스턴스에 접근하길 원한다면, EC2 인스턴스와 CloudFront 엣지 로케이션 간의 연결을 구성해야 합니다.

  1. EC2 인스턴스의 퍼블릭 설정:

    • EC2 인스턴스는 퍼블릭 IP 또는 퍼블릭 DNS를 통해 접근 가능해야 합니다. 이는 CloudFront가 엣지 로케이션에서 EC2 인스턴스로 요청을 전달할 수 있도록 하기 위함입니다.
  2. 보안 그룹 설정:

    • EC2 인스턴스에 연결된 보안 그룹은 CloudFront의 엣지 로케이션에서 오는 모든 공용 IP를 허용해야 합니다. CloudFront의 IP 주소 목록은 AWS 문서에서 확인할 수 있습니다.
    • 보안 그룹의 인바운드 규칙을 통해 이러한 IP 주소 범위를 허용하면 됩니다.
  3. 접근 권한:

    • EC2 인스턴스의 웹 서버가 CloudFront의 요청을 처리할 수 있도록 설정되어 있어야 합니다. 즉, 웹 서버의 방화벽이나 접근 제어 목록도 검토하여 필요한 포트(예: 80, 443)가 열려 있는지 확인합니다.

애플리케이션 로드 밸런서(ALB)를 사용하는 경우

시나리오: CloudFront를 통해 ALB를 경유하여 EC2 인스턴스에 접근하고자 할 경우, 다음과 같은 설정이 필요합니다.

  1. ALB의 공용 설정:

    • ALB는 공용으로 설정되어 있어야 합니다. 이는 CloudFront가 ALB의 DNS를 통해 요청을 전달할 수 있도록 하기 위함입니다.
  2. EC2 인스턴스의 프라이빗 설정:

    • EC2 인스턴스는 프라이빗 서브넷에 위치해도 상관없습니다. ALB가 퍼블릭과 프라이빗 네트워크 간의 트래픽을 처리하기 때문입니다.
  3. 보안 그룹 설정:

    • ALB의 보안 그룹은 CloudFront의 공용 IP 주소를 허용해야 합니다. 이렇게 하면 CloudFront가 ALB를 통해 EC2 인스턴스에 접근할 수 있습니다.
    • EC2 인스턴스의 보안 그룹은 ALB의 보안 그룹에서 오는 트래픽만 허용하도록 설정하면 됩니다. 즉, ALB에서 오는 요청만 허용하고 그 외의 요청은 차단하는 방식입니다.
  4. 로드 밸런서와 EC2 간의 연결:

    • ALB와 EC2 인스턴스 간의 네트워크는 가상 프라이빗 클라우드(VPC) 내에서 설정되므로, EC2 인스턴스는 ALB를 통해 안전하게 접근될 수 있습니다.

이 방식의 장점은 EC2 인스턴스가 퍼블릭으로 노출되지 않으며, ALB를 통해 접근 제어 및 로드 분산이 가능하다는 점입니다. 보안과 관리 측면에서 더욱 유리합니다.


마치며

CloudFront를 통한 HTTP 백엔드 접근을 설정할 때, 직접 EC2 인스턴스를 사용하는 방법과 ALB를 경유하는 방법 각각의 장단점이 있습니다. 직접 EC2를 사용하는 경우 보안상의 리스크가 있지만 설정이 간단하며, ALB를 사용하는 경우 보안과 관리의 용이성이 높지만 설정이 상대적으로 복잡할 수 있습니다. 필요에 따라 적절한 방법을 선택하고, 각 단계에서 올바른 보안 조치를 취하는 것이 중요합니다.

0개의 댓글