필자 개인적인 생각

1. 보안을 강화하기 위한 구성에 대한 고민

CloudFront 의 기본적인 Anti-DDoS 보안 기능이나 WAF를 사용하여 보안기능을 제공하는 환경에서 사용자는 항상 CloudFront 를 통하여 내부로 진입해야 합니다.

하지만 ALB(Internet-facing)의 Public DNS 주소로 직접 접속 시 CloudFront 를 경유하지 않고 바로 ALB로 접속이 됩니다.

이를 위해서 ALB Inbound Security Group(인바운드 보안그룹)을 설정하는 고민이 필요합니다.

먼저 CloudFront 사용 시 접속한 클라이언트 IP를 CloudFront IP로 변경해서 내부(Origion)으로 보내게 됩니다.

그리고 AWS Public IP(CloudFront IP 사용 대역 등)는 가끔씩 변경이 됩니다. 여기 AWS IP Range 에서 현재 사용하는 cloudfront ip 대역(검색 찾기)을 확인 할 수 있습니다.

ALB 에서 Inbound Security Group 위 CloudFront IP 대역을 넣더라도 변경이 된다면 다시 Inbound Security Group 에 대역을 변경 해야 되는 어려움이 있습니다.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/7ed2e5e2-0d8a-4bdb-a794-fe60f8c6d8da/Untitled.png

2. AWS IP Range 대역 정보를 자동으로 업데이트하여 사용하는 방안

CloudFront IP 사용 대역 변경 될 때 SNS → Lambda 를 통하여 ALB Inbound Security Group(인바운드 보안그룹)의 규칙에 변경된 IP 대역을 반영함

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/9f715ffd-39fa-44e9-b0f5-ffc67e386a93/Untitled.png

  1. CloudFront IP 사용 대역 변경 시 'AWS IP Range List' 에도 업데이트

  2. SNS 가 변경을 감지

  3. Lambda 는 SNS 를 통하여 트리거됨

  4. Lambda 는 대역 변경이 확인되면, 지정된 ALB의 '인바운드 보안그룹 규칙'에 변경된 대역을 반영함

  5. Lambda 가 실행한 동작에 대한 로깅을 CloudWatch 에 로그 기록