회사에서 작년 리인벤트에서 출시된 VPC Origin 기능을 테스트하고있는데, CloudFront + ALB 구성 시 보안을 더 강화할 수 있는 방법을 알게되어 정리해보았다.
ALB에 CloudFront를 연결하고 CloudFront에 WAF 등을 연결하여 보안 구성을 한 경우에는 사용자가 CloudFront를 경유해서 내부로 진입해야 할 텐데, 별도 설정을 하지 않으면 사용자가 Internet-facing ALB 도메인으로도 접속할 수 있다.
따라서 ALB에도 보안 설정을 설정 해주어야 하는데…
기존에는 AWS Public IP 대역이 json 파일로 공개 되어있기 때문에 해당 json 파일에서 CloudFront IP 사용 대역을 찾아 등록해야 했었는데, AWS Public IP는 가끔씩 사용 대역이 변경되기 때문에 IP대역을 직접 등록하려면 주기적으로 받아 ALB의 Inbound SG를 업데이트 해주어야 하는 어려움이 있다. 찾아보니 IP Range 대역 변경을 SNS 알림으로 구독하고 Lambda로 업데이트 하거나 ALB에 WAF를 달고 CloudFront에 커스텀 헤더를 추가해 검증하는 방법도 있는 듯 한데 추가 비용도 들고 설정하는데에 공수도 많이 든다.
그래서 22년도에 새로 출시된 것이 Amazon CloudFront용 AWS managed prefix list이다. 해당 Prefix List를 사용하면 CloudFront가 사용하는 Public IP 대역을 따로 업데이트하지 않아도 CloudFront에서 사용하는 IP대역을 보안그룹에서 등록할 수 있다.
주의 사항은 Prefix List에 들어간 IP block 하나가 Security Group rule 하나를 각각 소모하기 때문에 Prefix List를 사용해서 트래픽 제어를 할 경우에는 보안그룹의 quota를 올려놓는 것이 좋다. 참고로 보안그룹의 기본 쿼터는 인바운드/아웃바운드 각각 60개이고 상향할 수 있다(단, (네트워크 인터페이스 당 보안그룹 수) * (보안그룹별 인바운드/아웃바운드 규칙)이 1000을 넘길 수 없다).
참고로 managed prefix list는 사용자가 직접 생성할수도 있어서 여러개의 IP 대역을 묶어서 설정할 때에도 편리하게 사용할 수 있다.
'DevOps' 카테고리의 다른 글
[AWS]AWS CLI 명령어 페이저 옵션 끄기 (0) | 2025.03.11 |
---|---|
터미널에서 내가 입력했던 명령어 검색(reverse-i-search/bck-i-search) (0) | 2025.03.06 |
[ArgoCD]Google SSO(OAuth2.0)인증 연결하기 (0) | 2025.02.27 |
[ArgoCD]Karpenter helm 차트 배포 시 looks like "oci://public.ecr.aws/karpenter" is not a valid chart repository or cannot be reached 에러 (0) | 2025.02.27 |
[Terraform]Route53 레코드 추가 시 CloudFront, ALB등 AWS 리소스의 Hosted zone ID 확인 (0) | 2025.02.26 |